diff --git a/bower.json b/bower.json index 566b0743a0..f9bd632c50 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "highcharts", - "version": "12.1.0", + "version": "12.1.1", "main": "highcharts.js", "license": "https://www.highcharts.com/license", "types": "highcharts.d.ts" diff --git a/es-modules/Core/Defaults.js b/es-modules/Core/Defaults.js index caee8b4ff2..d154815a8c 100644 --- a/es-modules/Core/Defaults.js +++ b/es-modules/Core/Defaults.js @@ -2621,14 +2621,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions diff --git a/es-modules/Core/Globals.js b/es-modules/Core/Globals.js index 5fba72f978..49eb1e782b 100644 --- a/es-modules/Core/Globals.js +++ b/es-modules/Core/Globals.js @@ -29,7 +29,7 @@ var Globals; {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', diff --git a/es-modules/Core/Pointer.js b/es-modules/Core/Pointer.js index 933e9f7938..68a11e96b7 100644 --- a/es-modules/Core/Pointer.js +++ b/es-modules/Core/Pointer.js @@ -1363,7 +1363,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } diff --git a/es-modules/Core/Renderer/SVG/SVGElement.js b/es-modules/Core/Renderer/SVG/SVGElement.js index e74db214a7..9c0644c872 100644 --- a/es-modules/Core/Renderer/SVG/SVGElement.js +++ b/es-modules/Core/Renderer/SVG/SVGElement.js @@ -213,9 +213,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -247,7 +245,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - getAlignFactor(alignOptions.verticalAlign); + getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed diff --git a/es-modules/Core/Renderer/SVG/SVGLabel.js b/es-modules/Core/Renderer/SVG/SVGLabel.js index 0c12677b38..9aea3d912e 100644 --- a/es-modules/Core/Renderer/SVG/SVGLabel.js +++ b/es-modules/Core/Renderer/SVG/SVGLabel.js @@ -246,7 +246,9 @@ class SVGLabel extends SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { diff --git a/es-modules/Core/Series/DataLabel.js b/es-modules/Core/Series/DataLabel.js index 72ee0e049c..b1cc16857a 100644 --- a/es-modules/Core/Series/DataLabel.js +++ b/es-modules/Core/Series/DataLabel.js @@ -110,9 +110,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + diff --git a/es-modules/Core/Templating.js b/es-modules/Core/Templating.js index 56f9959f78..21964ff35b 100644 --- a/es-modules/Core/Templating.js +++ b/es-modules/Core/Templating.js @@ -11,7 +11,7 @@ import D from './Defaults.js'; const { defaultOptions, defaultTime } = D; import G from './Globals.js'; -const { doc } = G; +const { pageLang } = G; import U from './Utilities.js'; const { extend, getNestedProperty, isArray, isNumber, isObject, isString, pick, ucfirst } = U; const helpers = { @@ -364,16 +364,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) diff --git a/es-modules/Core/Time.js b/es-modules/Core/Time.js index a9386c41cc..5733227bb5 100644 --- a/es-modules/Core/Time.js +++ b/es-modules/Core/Time.js @@ -9,7 +9,7 @@ * */ 'use strict'; import H from './Globals.js'; -const { win } = H; +const { pageLang, win } = H; import U from './Utilities.js'; const { defined, error, extend, isNumber, isObject, isString, merge, objectEach, pad, splat, timeUnits, ucfirst } = U; /* * @@ -36,9 +36,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -76,8 +84,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -197,7 +205,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (isString(options)) { options = this.str2dtf(options); diff --git a/es-modules/Extensions/Exporting/Exporting.js b/es-modules/Extensions/Exporting/Exporting.js index d8de25e415..37d4df1a85 100644 --- a/es-modules/Extensions/Exporting/Exporting.js +++ b/es-modules/Extensions/Exporting/Exporting.js @@ -22,7 +22,7 @@ import G from '../../Core/Globals.js'; const { doc, SVG_NS, win } = G; import HU from '../../Core/HttpUtilities.js'; import U from '../../Core/Utilities.js'; -const { addEvent, css, createElement, discardElement, extend, find, fireEvent, isObject, merge, objectEach, pick, removeEvent, uniqueKey } = U; +const { addEvent, css, createElement, discardElement, extend, find, fireEvent, isObject, merge, objectEach, pick, removeEvent, splat, uniqueKey } = U; /* * * * Composition @@ -757,15 +757,23 @@ var Exporting; } // Reflect axis extremes in the export (#5924) chart.axes.forEach(function (axis) { - const axisCopy = find(chartCopy.axes, function (copy) { - return copy.options.internalKey === - axis.userOptions.internalKey; - }), extremes = axis.getExtremes(), userMin = extremes.userMin, userMax = extremes.userMax; - if (axisCopy && - ((typeof userMin !== 'undefined' && + const axisCopy = find(chartCopy.axes, (copy) => copy.options.internalKey === axis.userOptions.internalKey); + if (axisCopy) { + const extremes = axis.getExtremes(), + // Make sure min and max overrides in the + // `exporting.chartOptions.xAxis` settings are reflected. + // These should override user-set extremes via zooming, + // scrollbar etc (#7873). + exportOverride = splat(chartOptions?.[axis.coll] || {})[0], userMin = 'min' in exportOverride ? + exportOverride.min : + extremes.userMin, userMax = 'max' in exportOverride ? + exportOverride.max : + extremes.userMax; + if (((typeof userMin !== 'undefined' && userMin !== axisCopy.min) || (typeof userMax !== 'undefined' && userMax !== axisCopy.max))) { - axisCopy.setExtremes(userMin, userMax, true, false); + axisCopy.setExtremes(userMin ?? void 0, userMax ?? void 0, true, false); + } } }); // Get the SVG from the container's innerHTML diff --git a/es-modules/Stock/RangeSelector/RangeSelector.js b/es-modules/Stock/RangeSelector/RangeSelector.js index 3093cfc07b..e500a07845 100644 --- a/es-modules/Stock/RangeSelector/RangeSelector.js +++ b/es-modules/Stock/RangeSelector/RangeSelector.js @@ -1299,7 +1299,7 @@ class RangeSelector { * exporting button */ handleCollision(xOffsetForExportButton) { - const { chart, buttonGroup, inputGroup } = this; + const { chart, buttonGroup, inputGroup, initialButtonGroupWidth } = this; const { buttonPosition, dropdown, inputPosition } = this.options; const moveInputsDown = () => { if (inputGroup && buttonGroup) { @@ -1316,7 +1316,7 @@ class RangeSelector { if (inputGroup && buttonGroup) { if (inputPosition.align === buttonPosition.align) { moveInputsDown(); - if (this.initialButtonGroupWidth > + if (initialButtonGroupWidth > chart.plotWidth + xOffsetForExportButton - 20) { this.collapseButtons(); } @@ -1324,7 +1324,7 @@ class RangeSelector { this.expandButtons(); } } - else if (this.initialButtonGroupWidth - + else if (initialButtonGroupWidth - xOffsetForExportButton + inputGroup.getBBox().width > chart.plotWidth) { @@ -1339,6 +1339,14 @@ class RangeSelector { this.expandButtons(); } } + else if (buttonGroup && dropdown === 'responsive') { + if (initialButtonGroupWidth > chart.plotWidth) { + this.collapseButtons(); + } + else { + this.expandButtons(); + } + } // Forced states if (buttonGroup) { if (dropdown === 'always') { diff --git a/es-modules/tsconfig.tsbuildinfo b/es-modules/tsconfig.tsbuildinfo index 80b8dc5a05..5f6dec6624 100644 --- a/es-modules/tsconfig.tsbuildinfo +++ b/es-modules/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../ts/core/axis/tickpositionsarray.d.ts","../../ts/core/axis/timeticksinfoobject.d.ts","../../ts/core/color/colorstring.d.ts","../../ts/core/renderer/alignobject.d.ts","../../ts/core/renderer/positionobject.d.ts","../../ts/core/renderer/sizeobject.d.ts","../../ts/core/renderer/bboxobject.d.ts","../../ts/core/renderer/cssobject.d.ts","../../ts/core/renderer/domelementtype.d.ts","../../ts/core/renderer/fontmetricsobject.d.ts","../../ts/core/renderer/rectangleobject.d.ts","../../ts/core/renderer/shadowoptionsobject.d.ts","../../ts/core/renderer/svg/svgelementlike.d.ts","../../ts/core/renderer/svg/svgpath.d.ts","../../ts/core/eventcallback.d.ts","../../ts/core/renderer/svg/svgrendererlike.d.ts","../../ts/core/renderer/svg/symboloptions.d.ts","../../ts/core/renderer/svg/symboltype.d.ts","../../ts/core/renderer/html/htmlattributes.d.ts","../../ts/core/renderer/html/ast.ts","../../ts/core/renderer/dashstylevalue.d.ts","../../ts/core/formattercallback.d.ts","../../ts/data/dataevent.ts","../../ts/data/modifiers/datamodifierevent.ts","../../ts/data/modifiers/datamodifiertype.d.ts","../../ts/data/modifiers/datamodifieroptions.ts","../../ts/data/modifiers/datamodifier.ts","../../ts/data/datatableoptions.ts","../../ts/data/datatablecore.ts","../../ts/data/datatable.ts","../../ts/core/callback.d.ts","../../ts/core/series/dataextremesobject.d.ts","../../ts/core/series/kdpointsearchobjectlike.d.ts","../../ts/series/line/linepointoptions.d.ts","../../ts/series/scatter/scatterpointoptions.d.ts","../../ts/series/bubble/bubblepointoptions.d.ts","../../ts/core/series/datalabeloptions.d.ts","../../ts/series/line/linepoint.d.ts","../../ts/core/series/statesoptions.d.ts","../../ts/core/series/seriesoptions.d.ts","../../ts/series/spline/splinepointoptions.d.ts","../../ts/series/spline/splinepoint.d.ts","../../ts/series/spline/splineseriesoptions.d.ts","../../ts/core/series/seriestype.d.ts","../../ts/core/series/seriesregistry.ts","../../ts/series/spline/splineseries.ts","../../ts/core/color/palettes.ts","../../ts/series/line/lineseries.ts","../../ts/series/line/lineseriesoptions.d.ts","../../ts/series/scatter/scatterpoint.d.ts","../../ts/series/scatter/scatterseriesdefaults.ts","../../ts/series/scatter/scatterseries.ts","../../ts/core/templating.ts","../../ts/core/animation/fxlike.d.ts","../../ts/core/renderer/html/htmlelement.ts","../../ts/core/animation/fx.ts","../../ts/core/animation/animationutilities.ts","../../ts/core/renderer/rendererutilities.ts","../../ts/core/renderer/rendererregistry.ts","../../ts/core/tooltip.ts","../../ts/core/tooltipoptions.d.ts","../../ts/series/scatter/scatterseriesoptions.d.ts","../../ts/series/bubble/bubbleseriesoptions.d.ts","../../ts/series/bubble/bubblelegenddefaults.ts","../../ts/series/bubble/bubblelegendcomposition.ts","../../ts/series/bubble/bubblepoint.ts","../../ts/series/bubble/bubbleseries.ts","../../ts/core/axis/ticklike.d.ts","../../ts/core/axis/tick.ts","../../ts/core/axis/axislike.d.ts","../../ts/core/legend/legendoptions.d.ts","../../ts/maps/mapnavigationoptions.d.ts","../../ts/extensions/breadcrumbs/breadcrumbsoptions.d.ts","../../ts/core/renderer/svg/svglabel.ts","../../ts/maps/projectiondefinition.d.ts","../../ts/maps/projections/lambertconformalconic.ts","../../ts/maps/projections/equalearth.ts","../../ts/maps/projections/miller.ts","../../ts/maps/projections/orthographic.ts","../../ts/maps/projections/webmercator.ts","../../ts/maps/projections/projectionregistry.ts","../../ts/maps/projectionoptions.d.ts","../../ts/maps/mapviewoptions.d.ts","../../ts/series/map/mappointoptions.d.ts","../../ts/maps/geojson.d.ts","../../ts/series/column/columnmetricsobject.d.ts","../../ts/series/column/columnpointoptions.d.ts","../../ts/series/pie/piepointoptions.d.ts","../../ts/series/pie/piepoint.ts","../../ts/core/series/datalabel.ts","../../ts/series/pie/piedatalabeloptions.d.ts","../../ts/series/pie/pieseriesoptions.d.ts","../../ts/series/centeredutilities.ts","../../ts/series/pie/pieseriesdefaults.ts","../../ts/core/renderer/svg/symbols.ts","../../ts/series/pie/pieseries.ts","../../ts/extensions/borderradius.ts","../../ts/series/column/columnseriesoptions.d.ts","../../ts/core/axis/stacking/stackingoptions.d.ts","../../ts/core/axis/stacking/stackingaxis.ts","../../ts/core/axis/stacking/stackitem.ts","../../ts/series/column/columnseriesdefaults.ts","../../ts/series/column/columnseries.ts","../../ts/series/column/columnpoint.d.ts","../../ts/series/map/mapseriesoptions.d.ts","../../ts/series/colormapcomposition.ts","../../ts/maps/mapnavigationdefaults.ts","../../ts/maps/mapsymbols.ts","../../ts/maps/mapnavigation.ts","../../ts/maps/mappointer.ts","../../ts/maps/mapviewdefaults.ts","../../ts/series/mappoint/mappointpointoptions.d.ts","../../ts/maps/geojsoncomposition.ts","../../ts/core/geometry/geometryutilities.ts","../../ts/maps/maputilities.ts","../../ts/core/geometry/polygonclip.ts","../../ts/maps/projection.ts","../../ts/maps/mapview.ts","../../ts/core/chart/mapchart.ts","../../ts/series/map/mapseriesdefaults.ts","../../ts/series/map/mapseries.ts","../../ts/series/map/mappoint.ts","../../ts/extensions/patternfill.ts","../../ts/series/treemap/treemappointoptions.d.ts","../../ts/extensions/markerclusters/markerclusteroptions.d.ts","../../ts/series/treemap/treemapseriesoptions.d.ts","../../ts/extensions/breadcrumbs/breadcrumbsdefaults.ts","../../ts/extensions/breadcrumbs/breadcrumbs.ts","../../ts/series/drawpointutilities.ts","../../ts/series/treemap/treemappoint.ts","../../ts/series/treemap/treemapnode.ts","../../ts/series/treemap/treemapalgorithmgroup.ts","../../ts/series/treemap/treemapseriesdefaults.ts","../../ts/series/treemap/treemaputilities.ts","../../ts/series/sankey/sankeypointoptions.d.ts","../../ts/series/sankey/sankeypoint.ts","../../ts/series/sankey/sankeydatalabeloptions.d.ts","../../ts/series/sankey/sankeyseriesoptions.d.ts","../../ts/series/sankey/sankeyseriesdefaults.ts","../../ts/series/sankey/sankeycolumncomposition.ts","../../ts/extensions/textpath.ts","../../ts/series/sankey/sankeyseries.ts","../../ts/series/organization/organizationpointoptions.d.ts","../../ts/series/organization/organizationseriesdefaults.ts","../../ts/series/pathutilities.ts","../../ts/series/organization/organizationseries.ts","../../ts/series/organization/organizationpoint.ts","../../ts/series/organization/organizationdatalabeloptions.d.ts","../../ts/series/organization/organizationseriesoptions.d.ts","../../ts/series/treegraph/treegraphpointoptions.d.ts","../../ts/series/treegraph/treegraphnode.ts","../../ts/series/treegraph/treegraphpoint.ts","../../ts/series/treegraph/treegraphlink.ts","../../ts/series/treegraph/treegraphseriesoptions.d.ts","../../ts/series/treegraph/treegraphlayout.ts","../../ts/series/treegraph/treegraphseriesdefaults.ts","../../ts/series/treegraph/treegraphseries.ts","../../ts/series/treeutilities.ts","../../ts/series/treemap/treemapseries.ts","../../ts/core/axis/color/coloraxiscomposition.ts","../../ts/core/axis/color/coloraxisdefaults.ts","../../ts/core/axis/axiscomposition.d.ts","../../ts/core/axis/color/coloraxislike.ts","../../ts/core/legend/legendsymbol.ts","../../ts/core/axis/color/coloraxis.ts","../../ts/core/legend/legenditem.d.ts","../../ts/series/bubble/bubblelegenditem.ts","../../ts/core/legend/legendlike.d.ts","../../ts/core/chart/chartoptions.d.ts","../../ts/core/foundation.ts","../../ts/core/legend/legend.ts","../../ts/extensions/datagrouping/approximationtype.d.ts","../../ts/extensions/datagrouping/datagroupingoptions.d.ts","../../ts/stock/rangeselector/rangeselectoroptions.d.ts","../../ts/stock/rangeselector/rangeselectordefaults.ts","../../ts/stock/rangeselector/rangeselectorcomposition.ts","../../ts/core/axis/navigatoraxiscomposition.ts","../../ts/series/flags/flagspointoptions.d.ts","../../ts/series/flags/flagsseriesoptions.d.ts","../../ts/series/flags/flagspoint.ts","../../ts/series/flags/flagsseriesdefaults.ts","../../ts/series/flags/flagssymbols.ts","../../ts/series/onseriescomposition.ts","../../ts/series/flags/flagsseries.ts","../../ts/core/axis/ordinalaxis.ts","../../ts/stock/rangeselector/rangeselector.ts","../../ts/core/series/serieslike.d.ts","../../ts/core/series/seriesdefaults.ts","../../ts/core/series/series.ts","../../ts/series/nodescomposition.ts","../../ts/core/pointer.ts","../../ts/core/pointerevent.d.ts","../../ts/core/series/pointtype.d.ts","../../ts/core/series/pointoptions.d.ts","../../ts/core/series/pointlike.d.ts","../../ts/core/series/point.ts","../../ts/core/axis/axisoptions.d.ts","../../ts/core/chart/chartlike.d.ts","../../ts/core/chart/chart.ts","../../ts/core/options.d.ts","../../ts/core/chart/chartdefaults.ts","../../ts/core/defaults.ts","../../ts/core/renderer/svg/textbuilder.ts","../../ts/core/renderer/svg/svgrenderer.ts","../../ts/core/renderer/svg/svgelement.ts","../../ts/core/animation/animationoptions.d.ts","../../ts/core/axis/plotlineorband/plotbandoptions.d.ts","../../ts/core/axis/plotlineorband/plotlineoptions.d.ts","../../ts/core/axis/plotlineorband/plotlineorbandaxis.ts","../../ts/core/axis/plotlineorband/plotlineorband.ts","../../ts/core/axis/axisdefaults.ts","../../ts/core/axis/axis.ts","../../ts/core/axis/axistype.d.ts","../../ts/core/utilities.ts","../../ts/core/color/color.ts","../../ts/core/color/gradientcolor.d.ts","../../ts/core/color/colortype.d.ts","../../ts/core/renderer/svg/svgattributes.d.ts","../../ts/core/renderer/svg/buttonthemeobject.d.ts","../../ts/core/globalslike.d.ts","../../ts/core/globals.ts","../../ts/core/time.ts","../../ts/accessibility/a11yi18n.ts","../../ts/accessibility/keyboardnavigationhandler.ts","../../ts/accessibility/utils/eventprovider.ts","../../ts/accessibility/utils/htmlutilities.ts","../../ts/accessibility/utils/chartutilities.ts","../../ts/accessibility/proxyelement.ts","../../ts/accessibility/utils/domelementprovider.ts","../../ts/accessibility/proxyprovider.ts","../../ts/accessibility/accessibilitycomponent.ts","../../ts/accessibility/components/containercomponent.ts","../../ts/accessibility/options/a11yoptions.d.ts","../../ts/accessibility/focusborder.ts","../../ts/extensions/annotations/controllables/controllablelike.d.ts","../../ts/extensions/annotations/controllables/controllabletype.d.ts","../../ts/extensions/annotations/eventemitter.ts","../../ts/extensions/annotations/controlpoint.ts","../../ts/extensions/annotations/controlpointoptions.d.ts","../../ts/extensions/annotations/mockpointoptions.d.ts","../../ts/extensions/annotations/controltargetoptions.d.ts","../../ts/extensions/annotations/controllables/controllableoptions.d.ts","../../ts/extensions/annotations/controllables/controllable.ts","../../ts/extensions/annotations/controltarget.ts","../../ts/extensions/annotations/mockpoint.ts","../../ts/extensions/annotations/annotationseries.d.ts","../../ts/extensions/annotations/types/annotationtype.d.ts","../../ts/extensions/annotations/navigationbindingslike.d.ts","../../ts/extensions/annotations/navigationbindingsoptions.d.ts","../../ts/core/chart/chartnavigationcomposition.ts","../../ts/extensions/exporting/exportingdefaults.ts","../../ts/extensions/exporting/exportingsymbols.ts","../../ts/extensions/exporting/fullscreen.ts","../../ts/core/json.d.ts","../../ts/core/httputilities.ts","../../ts/extensions/regexlimits.ts","../../ts/extensions/exporting/exporting.ts","../../ts/extensions/exporting/exportingoptions.d.ts","../../ts/extensions/exporting/navigationoptions.d.ts","../../ts/shared/baseform.ts","../../ts/extensions/annotations/popup/popupannotations.ts","../../ts/stock/indicators/indicatorlike.d.ts","../../ts/stock/indicators/indicatorvaluesobject.d.ts","../../ts/stock/indicators/sma/smaoptions.d.ts","../../ts/stock/indicators/sma/smapoint.d.ts","../../ts/stock/indicators/sma/smaindicator.ts","../../ts/extensions/annotations/popup/popupindicators.ts","../../ts/extensions/annotations/popup/popuptabs.ts","../../ts/extensions/annotations/popup/popup.ts","../../ts/extensions/annotations/controllables/controllabledefaults.ts","../../ts/extensions/annotations/controllables/controllablepath.ts","../../ts/extensions/annotations/controllables/controllableellipse.ts","../../ts/extensions/annotations/navigationbindingsutilities.ts","../../ts/extensions/annotations/navigationbindingsdefaults.ts","../../ts/extensions/annotations/navigationbindings.ts","../../ts/extensions/annotations/annotationdefaults.ts","../../ts/extensions/annotations/controllables/controllablerect.ts","../../ts/extensions/annotations/controllables/controllablecircle.ts","../../ts/extensions/annotations/controllables/controllablelabel.ts","../../ts/extensions/annotations/controllables/controllableimage.ts","../../ts/extensions/annotations/popup/popupcomposition.ts","../../ts/extensions/annotations/annotation.ts","../../ts/extensions/annotations/annotationoptions.d.ts","../../ts/extensions/annotations/annotationchart.ts","../../ts/accessibility/utils/announcer.ts","../../ts/accessibility/components/annotationsa11y.ts","../../ts/accessibility/components/inforegionscomponent.ts","../../ts/accessibility/components/menucomponent.ts","../../ts/accessibility/keyboardnavigation.ts","../../ts/accessibility/components/legendcomponent.ts","../../ts/stock/navigator/navigatoroptions.d.ts","../../ts/stock/scrollbar/scrollbaroptions.d.ts","../../ts/core/axis/scrollbaraxis.ts","../../ts/stock/scrollbar/scrollbardefaults.ts","../../ts/stock/scrollbar/scrollbar.ts","../../ts/stock/navigator/chartnavigatorcomposition.ts","../../ts/stock/navigator/navigatordefaults.ts","../../ts/stock/navigator/navigatorsymbols.ts","../../ts/stock/utilities/stockutilities.ts","../../ts/stock/navigator/navigatorcomposition.ts","../../ts/stock/navigator/navigator.ts","../../ts/accessibility/components/navigatorcomponent.ts","../../ts/accessibility/components/seriescomponent/seriesdescriber.ts","../../ts/accessibility/components/seriescomponent/newdataannouncer.ts","../../ts/accessibility/components/rangeselectorcomponent.ts","../../ts/accessibility/components/seriescomponent/forcedmarkers.ts","../../ts/core/keyboardevent.d.ts","../../ts/accessibility/components/seriescomponent/serieskeyboardnavigation.ts","../../ts/accessibility/components/seriescomponent/seriescomponent.ts","../../ts/accessibility/components/zoomcomponent.ts","../../ts/accessibility/highcontrastmode.ts","../../ts/accessibility/highcontrasttheme.ts","../../ts/accessibility/options/a11ydefaults.ts","../../ts/accessibility/options/langoptions.d.ts","../../ts/accessibility/options/langdefaults.ts","../../ts/accessibility/options/deprecatedoptions.ts","../../ts/accessibility/accessibility.ts","../../ts/core/mspointer.ts","../../ts/core/renderer/position3dobject.d.ts","../../ts/core/math3d.ts","../../ts/core/responsive.ts","../../ts/extensions/pane/paneoptions.d.ts","../../ts/extensions/pane/panecomposition.ts","../../ts/extensions/pane/panedefaults.ts","../../ts/extensions/pane/pane.ts","../../ts/core/axis/radialaxisoptions.d.ts","../../ts/core/axis/radialaxisdefaults.ts","../../ts/core/axis/radialaxis.ts","../../ts/core/axis/axis3doptions.d.ts","../../ts/core/axis/axis3ddefaults.ts","../../ts/core/axis/tick3dcomposition.ts","../../ts/core/axis/axis3dcomposition.ts","../../ts/core/axis/breakobject.d.ts","../../ts/core/axis/brokenaxis.ts","../../ts/core/axis/datetimeaxis.ts","../../ts/core/axis/gridaxis.ts","../../ts/core/axis/logarithmicaxis.ts","../../ts/core/axis/solidgaugeaxis.ts","../../ts/core/axis/waterfallaxis.ts","../../ts/core/axis/zaxis.ts","../../ts/core/axis/color/coloraxisoptions.d.ts","../../ts/gantt/connectorsoptions.d.ts","../../ts/series/gantt/ganttseriesdefaults.ts","../../ts/gantt/pathfinderalgorithms.ts","../../ts/gantt/connection.ts","../../ts/gantt/connectorsdefaults.ts","../../ts/gantt/pathfindercomposition.ts","../../ts/gantt/pathfinder.ts","../../ts/extensions/staticscale.ts","../../ts/series/gantt/ganttseries.ts","../../ts/series/xrange/xrangepointoptions.d.ts","../../ts/series/xrange/xrangepoint.ts","../../ts/series/xrange/xrangeseriesdefaults.ts","../../ts/series/xrange/xrangeseries.ts","../../ts/series/xrange/xrangeseriesoptions.d.ts","../../ts/series/gantt/ganttseriesoptions.d.ts","../../ts/series/gantt/ganttpointoptions.d.ts","../../ts/series/gantt/ganttpoint.ts","../../ts/core/axis/treegrid/treegridoptions.d.ts","../../ts/gantt/tree.ts","../../ts/core/axis/treegrid/treegridtick.ts","../../ts/core/axis/treegrid/treegridaxis.ts","../../ts/core/renderer/svg/svgarc3d.d.ts","../../ts/core/renderer/svg/svgattributes3d.d.ts","../../ts/core/renderer/svg/svgpath3d.d.ts","../../ts/core/renderer/svg/svgcuboid.d.ts","../../ts/core/renderer/svg/svgrenderer3d.ts","../../ts/core/renderer/svg/svgelement3d.ts","../../ts/core/chart/chart3d.ts","../../ts/core/chart/ganttchart.ts","../../ts/core/chart/stockchart.ts","../../ts/core/geometry/circleobject.d.ts","../../ts/core/geometry/geometryobject.d.ts","../../ts/core/geometry/intersectionobject.d.ts","../../ts/core/geometry/circleutilities.ts","../../ts/core/renderer/polygonboxobject.d.ts","../../ts/core/renderer/renderertype.d.ts","../../ts/core/series/dataseriescomposition.ts","../../ts/core/series/dataseriesconverter.ts","../../ts/core/series/series3d.ts","../../ts/data/datacursor.ts","../../ts/data/connectors/dataconnectortype.d.ts","../../ts/data/connectors/dataconnectoroptions.d.ts","../../ts/data/connectors/csvconnectoroptions.d.ts","../../ts/data/connectors/googlesheetsconnectoroptions.d.ts","../../ts/data/connectors/htmltableconnectoroptions.d.ts","../../ts/data/datapooloptions.ts","../../ts/data/converters/dataconvertertype.d.ts","../../ts/data/converters/jsonconverter.ts","../../ts/data/connectors/jsonconnectoroptions.d.ts","../../ts/data/converters/dataconverter.ts","../../ts/data/connectors/dataconnector.ts","../../ts/data/datapooldefaults.ts","../../ts/data/datapool.ts","../../ts/shared/types.ts","../../ts/data/converters/csvconverter.ts","../../ts/data/connectors/csvconnector.ts","../../ts/data/converters/googlesheetsconverter.ts","../../ts/data/connectors/googlesheetsconnector.ts","../../ts/data/converters/htmltableconverter.ts","../../ts/data/connectors/htmltableconnector.ts","../../ts/data/connectors/jsonconnector.ts","../../ts/data/formula/formulatypes.ts","../../ts/data/formula/formulaparser.ts","../../ts/data/formula/formulaprocessor.ts","../../ts/data/formula/functions/abs.ts","../../ts/data/formula/functions/and.ts","../../ts/data/formula/functions/average.ts","../../ts/data/formula/functions/averagea.ts","../../ts/data/formula/functions/count.ts","../../ts/data/formula/functions/counta.ts","../../ts/data/formula/functions/if.ts","../../ts/data/formula/functions/isna.ts","../../ts/data/formula/functions/max.ts","../../ts/data/formula/functions/median.ts","../../ts/data/formula/functions/min.ts","../../ts/data/formula/functions/mod.ts","../../ts/data/formula/functions/mode.ts","../../ts/data/formula/functions/not.ts","../../ts/data/formula/functions/or.ts","../../ts/data/formula/functions/product.ts","../../ts/data/formula/functions/sum.ts","../../ts/data/formula/functions/xor.ts","../../ts/data/formula/formula.ts","../../ts/data/modifiers/chainmodifieroptions.ts","../../ts/data/modifiers/chainmodifier.ts","../../ts/data/modifiers/invertmodifieroptions.ts","../../ts/data/modifiers/invertmodifier.ts","../../ts/data/modifiers/mathmodifieroptions.ts","../../ts/data/modifiers/mathmodifier.ts","../../ts/data/modifiers/rangemodifieroptions.ts","../../ts/data/modifiers/rangemodifier.ts","../../ts/data/modifiers/sortmodifieroptions.ts","../../ts/data/modifiers/sortmodifier.ts","../../ts/extensions/arrowsymbols.ts","../../ts/series/area/areapointoptions.d.ts","../../ts/series/area/areapoint.d.ts","../../ts/series/area/areaseriesoptions.d.ts","../../ts/series/area/areaseriesdefaults.ts","../../ts/series/area/areaseries.ts","../../ts/extensions/boost/boostoptions.d.ts","../../ts/extensions/boost/wgldrawmode.ts","../../ts/extensions/boost/wgloptions.d.ts","../../ts/extensions/boost/wglshader.ts","../../ts/extensions/boost/wglvertexbuffer.ts","../../ts/extensions/boost/wglrenderer.ts","../../ts/extensions/boost/boosttargetobject.d.ts","../../ts/series/heatmap/heatmappointoptions.d.ts","../../ts/series/heatmap/heatmapseriesoptions.d.ts","../../ts/series/heatmap/heatmappoint.ts","../../ts/series/heatmap/heatmapseriesdefaults.ts","../../ts/series/geoheatmap/geoheatmapseriesoptions.ts","../../ts/series/geoheatmap/geoheatmappointoptions.ts","../../ts/series/geoheatmap/geoheatmappoint.ts","../../ts/series/geoheatmap/geoheatmapseries.ts","../../ts/series/interpolationutilities.ts","../../ts/series/heatmap/heatmapseries.ts","../../ts/extensions/boost/boostables.ts","../../ts/extensions/boost/boostablemap.ts","../../ts/extensions/boost/boostseries.ts","../../ts/extensions/boost/boostchart.ts","../../ts/extensions/boostcanvas.ts","../../ts/extensions/currentdateindication.ts","../../ts/extensions/data.ts","../../ts/extensions/downloadurl.ts","../../ts/extensions/overlappingdatalabels.ts","../../ts/extensions/priceindication.ts","../../ts/extensions/scrollableplotarea.ts","../../ts/extensions/annotations/types/basicannotation.ts","../../ts/extensions/annotations/types/crookedline.ts","../../ts/extensions/annotations/types/elliottwave.ts","../../ts/extensions/annotations/types/tunnel.ts","../../ts/extensions/annotations/types/fibonacci.ts","../../ts/extensions/annotations/types/infinityline.ts","../../ts/extensions/annotations/types/fibonaccitimezones.ts","../../ts/extensions/annotations/types/measure.ts","../../ts/extensions/annotations/types/pitchfork.ts","../../ts/extensions/annotations/types/timecycles.ts","../../ts/extensions/annotations/types/verticalline.ts","../../ts/extensions/boost/namedcolors.ts","../../ts/extensions/boost/boost.ts","../../ts/extensions/datagrouping/approximationregistry.ts","../../ts/extensions/datagrouping/approximationdefaults.ts","../../ts/extensions/datagrouping/datagroupingdefaults.ts","../../ts/extensions/datagrouping/datagroupingaxiscomposition.ts","../../ts/extensions/datagrouping/datagroupingseriescomposition.ts","../../ts/extensions/datagrouping/datagrouping.ts","../../ts/extensions/debugger/errormessages.ts","../../ts/extensions/debugger/debugger.ts","../../ts/extensions/dragpanes/axisresizeroptions.d.ts","../../ts/extensions/dragpanes/axisresizerdefaults.ts","../../ts/extensions/dragpanes/axisresizer.ts","../../ts/extensions/dragpanes/dragpanes.ts","../../ts/extensions/draggablepoints/dragdroputilities.ts","../../ts/extensions/draggablepoints/draggablechart.ts","../../ts/series/arearange/arearangepointoptions.d.ts","../../ts/series/arearange/arearangedatalabeloptions.d.ts","../../ts/series/arearange/arearangeseriesoptions.d.ts","../../ts/series/arearange/arearangeseries.ts","../../ts/series/arearange/arearangepoint.ts","../../ts/series/boxplot/boxplotpointoptions.d.ts","../../ts/series/boxplot/boxplotseriesoptions.d.ts","../../ts/series/boxplot/boxplotseriesdefaults.ts","../../ts/series/boxplot/boxplotseries.ts","../../ts/series/boxplot/boxplotpoint.d.ts","../../ts/series/bullet/bulletseriesoptions.d.ts","../../ts/series/bullet/bulletpointoptions.d.ts","../../ts/series/bullet/bulletseriesdefaults.ts","../../ts/series/bullet/bulletseries.ts","../../ts/series/bullet/bulletpoint.ts","../../ts/series/columnrange/columnrangepointoptions.d.ts","../../ts/series/columnrange/columnrangeseriesoptions.d.ts","../../ts/series/columnrange/columnrangeseries.ts","../../ts/series/columnrange/columnrangepoint.ts","../../ts/series/errorbar/errorbarpointoptions.d.ts","../../ts/series/errorbar/errorbarseriesoptions.d.ts","../../ts/series/errorbar/errorbarseriesdefaults.ts","../../ts/series/errorbar/errorbarseries.ts","../../ts/series/errorbar/errorbarpoint.d.ts","../../ts/series/hlc/hlcpointoptions.d.ts","../../ts/series/ohlc/ohlcpointoptions.d.ts","../../ts/series/hlc/hlcpoint.ts","../../ts/series/hlc/hlcseriesdefaults.ts","../../ts/series/hlc/hlcseries.ts","../../ts/series/hlc/hlcseriesoptions.d.ts","../../ts/series/ohlc/ohlcseriesoptions.d.ts","../../ts/series/ohlc/ohlcseriesdefaults.ts","../../ts/series/ohlc/ohlcseries.ts","../../ts/series/ohlc/ohlcpoint.ts","../../ts/series/waterfall/waterfallpointoptions.d.ts","../../ts/series/waterfall/waterfallseriesoptions.d.ts","../../ts/series/waterfall/waterfallseriesdefaults.ts","../../ts/series/waterfall/waterfallseries.ts","../../ts/series/waterfall/waterfallpoint.ts","../../ts/extensions/draggablepoints/dragdropprops.ts","../../ts/extensions/draggablepoints/draggablepoints.ts","../../ts/extensions/draggablepoints/dragdropoptions.d.ts","../../ts/extensions/draggablepoints/dragdropdefaults.ts","../../ts/extensions/drilldown/drilldownoptions.d.ts","../../ts/extensions/drilldown/drilldowndefaults.ts","../../ts/extensions/drilldown/drilldownseries.ts","../../ts/extensions/drilldown/drilldown.ts","../../ts/extensions/exportdata/exportdataoptions.d.ts","../../ts/extensions/exportdata/exportdatadefaults.ts","../../ts/extensions/exportdata/exportdata.ts","../../ts/extensions/markerclusters/markerclusterdebugging.ts","../../ts/extensions/markerclusters/markerclusterdefaults.ts","../../ts/series/mappoint/mappointseriesoptions.d.ts","../../ts/series/mappoint/mappointpoint.ts","../../ts/series/mappoint/mappointseriesdefaults.ts","../../ts/series/mappoint/mappointseries.ts","../../ts/extensions/markerclusters/markerclusters.ts","../../ts/extensions/markerclusters/markerclusterscatter.ts","../../ts/extensions/markerclusters/markerclustersymbols.ts","../../ts/extensions/mousewheelzoom/mousewheelzoomoptions.d.ts","../../ts/extensions/mousewheelzoom/mousewheelzoom.ts","../../ts/extensions/nodatatodisplay/nodataoptions.d.ts","../../ts/extensions/nodatatodisplay/nodatadefaults.ts","../../ts/extensions/nodatatodisplay/nodatatodisplay.ts","../../ts/extensions/offlineexporting/offlineexportingdefaults.ts","../../ts/extensions/offlineexporting/offlineexporting.ts","../../ts/extensions/offlineexporting/offlineexportingvendor.d.ts","../../ts/extensions/parallelcoordinates/parallelcoordinatesoptions.d.ts","../../ts/extensions/parallelcoordinates/parallelcoordinatesdefaults.ts","../../ts/extensions/parallelcoordinates/parallelseries.ts","../../ts/extensions/parallelcoordinates/parallelcoordinates.ts","../../ts/extensions/parallelcoordinates/parallelaxis.ts","../../ts/extensions/serieslabel/serieslabeloptions.d.ts","../../ts/extensions/serieslabel/serieslabeldefaults.ts","../../ts/extensions/serieslabel/serieslabelutilities.ts","../../ts/extensions/serieslabel/serieslabel.ts","../../ts/extensions/sonification/synthpatch.ts","../../ts/extensions/sonification/instrumentpresets.ts","../../ts/extensions/sonification/sonificationspeaker.ts","../../ts/extensions/sonification/sonificationinstrument.ts","../../ts/extensions/sonification/timelinechannel.ts","../../ts/extensions/sonification/midi.ts","../../ts/extensions/sonification/sonificationtimeline.ts","../../ts/extensions/sonification/options.ts","../../ts/extensions/sonification/scales.ts","../../ts/extensions/sonification/timelinefromchart.ts","../../ts/extensions/sonification/sonification.ts","../../ts/extensions/themes/avocado.ts","../../ts/extensions/themes/branddark.ts","../../ts/extensions/themes/brandlight.ts","../../ts/extensions/themes/darkblue.ts","../../ts/extensions/themes/darkgreen.ts","../../ts/extensions/themes/darkunica.ts","../../ts/extensions/themes/gray.ts","../../ts/extensions/themes/grid.ts","../../ts/extensions/themes/gridlight.ts","../../ts/extensions/themes/highcontrastdark.ts","../../ts/extensions/themes/highcontrastlight.ts","../../ts/extensions/themes/sandsignika.ts","../../ts/extensions/themes/skies.ts","../../ts/extensions/themes/sunset.ts","../../ts/gantt/legacy.ts","../../ts/maps/providerdefinition.d.ts","../../ts/maps/tilesproviders/esri.ts","../../ts/maps/tilesproviders/limalabs.ts","../../ts/maps/tilesproviders/openstreetmap.ts","../../ts/maps/tilesproviders/stamen.ts","../../ts/maps/tilesproviders/thunderforest.ts","../../ts/maps/tilesproviders/usgs.ts","../../ts/maps/tilesproviders/tilesproviderregistry.ts","../../ts/series/datamodifycomposition.ts","../../ts/series/derivedcomposition.ts","../../ts/series/graphlayoutcomposition.ts","../../ts/series/networkgraph/networkgraphchart.d.ts","../../ts/series/networkgraph/networkgraphseriesdefaults.ts","../../ts/series/packedbubble/packedbubbledatalabeloptions.d.ts","../../ts/series/packedbubble/packedbubblepointoptions.d.ts","../../ts/series/packedbubble/packedbubblepoint.ts","../../ts/series/packedbubble/packedbubblechart.d.ts","../../ts/series/networkgraph/verletintegration.ts","../../ts/series/packedbubble/packedbubbleintegration.ts","../../ts/series/packedbubble/packedbubblelayout.ts","../../ts/series/packedbubble/packedbubbleseriesoptions.d.ts","../../ts/series/packedbubble/packedbubbleseriesdefaults.ts","../../ts/series/packedbubble/packedbubbleseries.ts","../../ts/series/simulationseriesutilities.ts","../../ts/series/networkgraph/networkgraphseries.ts","../../ts/series/networkgraph/networkgraphseriesoptions.d.ts","../../ts/series/networkgraph/networkgraphpointoptions.d.ts","../../ts/series/networkgraph/networkgraphpoint.ts","../../ts/series/networkgraph/eulerintegration.ts","../../ts/series/networkgraph/quadtreenode.ts","../../ts/series/networkgraph/quadtree.ts","../../ts/series/networkgraph/reingoldfruchtermanlayout.ts","../../ts/series/dragnodescomposition.ts","../../ts/series/areasplinerange/areasplinerangepointoptions.d.ts","../../ts/series/areasplinerange/areasplinerangepoint.d.ts","../../ts/series/areaspline/areasplineseriesoptions.d.ts","../../ts/series/areaspline/areasplinepointoptions.d.ts","../../ts/series/areaspline/areasplinepoint.d.ts","../../ts/series/areaspline/areasplineseries.ts","../../ts/series/areasplinerange/areasplinerangeseriesoptions.d.ts","../../ts/series/areasplinerange/areasplinerangeseries.ts","../../ts/series/polarcomposition.ts","../../ts/series/seriesonpointcomposition.ts","../../ts/series/arcdiagram/arcdiagrampointoptions.d.ts","../../ts/series/arcdiagram/arcdiagramseriesoptions.d.ts","../../ts/series/arcdiagram/arcdiagramseriesdefaults.ts","../../ts/series/arcdiagram/arcdiagramseries.ts","../../ts/series/arcdiagram/arcdiagrampoint.ts","../../ts/series/area3d/area3dseries.ts","../../ts/series/arearange/arearangeseriesdefaults.ts","../../ts/series/bar/barpointoptions.d.ts","../../ts/series/bar/barseriesoptions.d.ts","../../ts/series/bar/barseries.ts","../../ts/series/bar/barpoint.d.ts","../../ts/series/bellcurve/bellcurvepointoptions.d.ts","../../ts/series/bellcurve/bellcurveseriesoptions.d.ts","../../ts/series/bellcurve/bellcurveseriesdefaults.ts","../../ts/series/bellcurve/bellcurveseries.ts","../../ts/series/bellcurve/bellcurvepoint.d.ts","../../ts/series/candlestick/candlestickpointoptions.d.ts","../../ts/series/candlestick/candlestickseriesoptions.d.ts","../../ts/series/candlestick/candlestickseriesdefaults.ts","../../ts/series/candlestick/candlestickseries.ts","../../ts/series/candlestick/candlestickpoint.d.ts","../../ts/series/column/columndatalabel.ts","../../ts/series/column3d/column3dcomposition.ts","../../ts/series/columnpyramid/columnpyramidpointoptions.d.ts","../../ts/series/columnpyramid/columnpyramidseriesoptions.d.ts","../../ts/series/columnpyramid/columnpyramidseriesdefaults.ts","../../ts/series/columnpyramid/columnpyramidseries.ts","../../ts/series/columnpyramid/columnpyramidpoint.d.ts","../../ts/series/cylinder/svgelement3dcylinder.ts","../../ts/series/cylinder/cylindercomposition.ts","../../ts/series/cylinder/cylinderpointoptions.d.ts","../../ts/series/cylinder/cylinderseriesoptions.d.ts","../../ts/series/cylinder/cylinderseriesdefaults.ts","../../ts/series/cylinder/cylinderseries.ts","../../ts/series/cylinder/cylinderpoint.ts","../../ts/series/dependencywheel/dependencywheelpointoptions.d.ts","../../ts/series/dependencywheel/dependencywheelseriesoptions.d.ts","../../ts/series/dependencywheel/dependencywheelseriesdefaults.ts","../../ts/series/dependencywheel/dependencywheelseries.ts","../../ts/series/dependencywheel/dependencywheelpoint.ts","../../ts/series/dotplot/dotplotpointoptions.d.ts","../../ts/series/dotplot/dotplotseriesoptions.d.ts","../../ts/series/dotplot/dotplotseriesdefaults.ts","../../ts/series/dotplot/dotplotseries.ts","../../ts/series/dotplot/dotplotpoint.d.ts","../../ts/series/dumbbell/dumbbellpointoptions.d.ts","../../ts/series/dumbbell/dumbbellseriesoptions.d.ts","../../ts/series/lollipop/lollipoppointoptions.d.ts","../../ts/series/lollipop/lollipopseriesoptions.d.ts","../../ts/series/lollipop/lollipopseries.ts","../../ts/series/lollipop/lollipoppoint.ts","../../ts/series/dumbbell/dumbbellseriesdefaults.ts","../../ts/series/dumbbell/dumbbellseries.ts","../../ts/series/dumbbell/dumbbellpoint.ts","../../ts/series/mapline/maplinepointoptions.d.ts","../../ts/series/flowmap/flowmappointoptions.d.ts","../../ts/series/mapline/maplinepoint.d.ts","../../ts/series/mapline/maplineseriesdefaults.ts","../../ts/series/mapline/maplineseries.ts","../../ts/series/mapline/maplineseriesoptions.d.ts","../../ts/series/flowmap/flowmapseriesoptions.d.ts","../../ts/series/flowmap/flowmapseries.ts","../../ts/series/flowmap/flowmappoint.ts","../../ts/series/funnel/funneldatalabeloptions.d.ts","../../ts/series/funnel/funnelpointoptions.d.ts","../../ts/series/funnel/funnelseriesoptions.d.ts","../../ts/series/funnel/funnelseriesdefaults.ts","../../ts/series/funnel/funnelseries.ts","../../ts/series/funnel/funnelpoint.d.ts","../../ts/series/funnel3d/svgelement3dfunnel.ts","../../ts/series/funnel3d/funnel3dcomposition.ts","../../ts/series/funnel3d/funnel3dpointoptions.d.ts","../../ts/series/funnel3d/funnel3dseriesoptions.d.ts","../../ts/series/funnel3d/funnel3dseriesdefaults.ts","../../ts/series/funnel3d/funnel3dseries.ts","../../ts/series/funnel3d/funnel3dpoint.ts","../../ts/series/gauge/gaugepointoptions.d.ts","../../ts/series/gauge/gaugeseriesoptions.d.ts","../../ts/series/gauge/gaugeseries.ts","../../ts/series/gauge/gaugepoint.ts","../../ts/series/heikinashi/heikinashipointoptions.d.ts","../../ts/series/heikinashi/heikinashiseriesoptions.d.ts","../../ts/series/heikinashi/heikinashiseriesdefaults.ts","../../ts/series/heikinashi/heikinashiseries.ts","../../ts/series/heikinashi/heikinashipoint.ts","../../ts/series/histogram/histogrampointoptions.d.ts","../../ts/series/histogram/histogramseriesoptions.d.ts","../../ts/series/histogram/histogramseriesdefaults.ts","../../ts/series/histogram/histogramseries.ts","../../ts/series/histogram/histogrampoint.d.ts","../../ts/series/hollowcandlestick/hollowcandlestickseriesoptions.d.ts","../../ts/series/hollowcandlestick/hollowcandlestickseries.ts","../../ts/series/hollowcandlestick/hollowcandlestickpoint.ts","../../ts/series/hollowcandlestick/hollowcandlestickpointoptions.d.ts","../../ts/series/item/itempointoptions.d.ts","../../ts/series/item/itemseriesoptions.d.ts","../../ts/series/item/itemseriesdefaults.ts","../../ts/series/item/itemseries.ts","../../ts/series/item/itempoint.ts","../../ts/series/mapbubble/mapbubblepoint.ts","../../ts/series/mapbubble/mapbubblepointoptions.d.ts","../../ts/series/mapbubble/mapbubbleseriesoptions.d.ts","../../ts/series/mapbubble/mapbubbleseries.ts","../../ts/series/paretoseries/paretopointoptions.d.ts","../../ts/series/paretoseries/paretoseriesoptions.d.ts","../../ts/series/paretoseries/paretoseriesdefaults.ts","../../ts/series/paretoseries/paretoseries.ts","../../ts/series/paretoseries/paretopoint.d.ts","../../ts/series/pictorial/pictorialpointoptions.d.ts","../../ts/series/pictorial/pictorialseriesoptions.d.ts","../../ts/series/pictorial/pictorialutilities.ts","../../ts/series/pictorial/pictorialseries.ts","../../ts/series/pictorial/pictorialpoint.ts","../../ts/series/pie/piedatalabel.ts","../../ts/series/pie3d/pie3dseries.ts","../../ts/series/pie3d/pie3dpoint.ts","../../ts/series/pointandfigure/pointandfigureseriesoptions.d.ts","../../ts/series/pointandfigure/pointandfigureseriesdefaults.ts","../../ts/series/pointandfigure/pointandfiguresymbols.ts","../../ts/series/pointandfigure/pointandfigureseries.ts","../../ts/series/pointandfigure/pointandfigurepoint.ts","../../ts/series/pointandfigure/pointandfigurepointoptions.d.ts","../../ts/series/polygon/polygonpointoptions.d.ts","../../ts/series/polygon/polygonseriesoptions.d.ts","../../ts/series/polygon/polygonseriesdefaults.ts","../../ts/series/polygon/polygonseries.ts","../../ts/series/polygon/polygonpoint.d.ts","../../ts/series/pyramid/pyramidpointoptions.d.ts","../../ts/series/pyramid/pyramidseriesoptions.d.ts","../../ts/series/pyramid/pyramidseriesdefaults.ts","../../ts/series/pyramid/pyramidseries.ts","../../ts/series/pyramid/pyramidpoint.d.ts","../../ts/series/pyramid3d/pyramid3dpointoptions.d.ts","../../ts/series/pyramid3d/pyramid3dseriesoptions.d.ts","../../ts/series/pyramid3d/pyramid3dseriesdefaults.ts","../../ts/series/pyramid3d/pyramid3dseries.ts","../../ts/series/pyramid3d/pyramid3dpoint.d.ts","../../ts/series/renko/renkopointoptions.d.ts","../../ts/series/renko/renkoseriesoptions.d.ts","../../ts/series/renko/renkoseriesdefaults.ts","../../ts/series/renko/renkoseries.ts","../../ts/series/renko/renkopoint.ts","../../ts/series/scatter3d/scatter3dpointoptions.d.ts","../../ts/series/scatter3d/scatter3dseriesoptions.d.ts","../../ts/series/scatter3d/scatter3dseriesdefaults.ts","../../ts/series/scatter3d/scatter3dseries.ts","../../ts/series/scatter3d/scatter3dpoint.ts","../../ts/series/solidgauge/solidgaugepointoptions.d.ts","../../ts/series/solidgauge/solidgaugeseriesoptions.d.ts","../../ts/series/solidgauge/solidgaugeseriesdefaults.ts","../../ts/series/solidgauge/solidgaugeseries.ts","../../ts/series/solidgauge/solidgaugepoint.d.ts","../../ts/series/streamgraph/streamgraphpointoptions.d.ts","../../ts/series/streamgraph/streamgraphseriesoptions.d.ts","../../ts/series/streamgraph/streamgraphseriesdefaults.ts","../../ts/series/streamgraph/streamgraphseries.ts","../../ts/series/streamgraph/streamgraphpoint.d.ts","../../ts/series/sunburst/sunburstpointoptions.d.ts","../../ts/series/sunburst/sunburstpoint.ts","../../ts/series/sunburst/sunburstutilities.ts","../../ts/series/sunburst/sunburstseriesdefaults.ts","../../ts/series/sunburst/sunburstseries.ts","../../ts/series/sunburst/sunburstseriesoptions.d.ts","../../ts/series/sunburst/sunburstnode.ts","../../ts/series/tiledwebmap/tiledwebmapseriesoptions.d.ts","../../ts/series/tiledwebmap/tiledwebmapseriesdefaults.ts","../../ts/series/tiledwebmap/tiledwebmapseries.ts","../../ts/series/tilemap/tilemappointoptions.d.ts","../../ts/series/tilemap/tilemapseriesoptions.d.ts","../../ts/series/tilemap/tilemapseriesdefaults.ts","../../ts/series/tilemap/tilemapshapes.ts","../../ts/series/tilemap/tilemapseries.ts","../../ts/series/tilemap/tilemappoint.ts","../../ts/series/timeline/timelinepointoptions.d.ts","../../ts/series/timeline/timelineseriesoptions.d.ts","../../ts/series/timeline/timelineseriesdefaults.ts","../../ts/series/timeline/timelineseries.ts","../../ts/series/timeline/timelinepoint.ts","../../ts/series/timeline/timelinedatalabeloptions.d.ts","../../ts/series/variablepie/variablepiepointoptions.d.ts","../../ts/series/variablepie/variablepieseriesoptions.d.ts","../../ts/series/variablepie/variablepieseriesdefaults.ts","../../ts/series/variablepie/variablepieseries.ts","../../ts/series/variablepie/variablepiepoint.d.ts","../../ts/series/variwide/variwidepointoptions.d.ts","../../ts/series/variwide/variwideseriesoptions.d.ts","../../ts/series/variwide/variwideseriesdefaults.ts","../../ts/series/variwide/variwideseries.ts","../../ts/series/variwide/variwidepoint.ts","../../ts/series/variwide/variwidecomposition.ts","../../ts/series/vector/vectorpointoptions.d.ts","../../ts/series/vector/vectorseriesoptions.d.ts","../../ts/series/vector/vectorseriesdefaults.ts","../../ts/series/vector/vectorseries.ts","../../ts/series/vector/vectorpoint.d.ts","../../ts/series/venn/vennpointoptions.d.ts","../../ts/series/venn/vennutils.ts","../../ts/series/venn/vennseriesoptions.d.ts","../../ts/series/venn/vennseriesdefaults.ts","../../ts/series/venn/vennseries.ts","../../ts/series/venn/vennpoint.ts","../../ts/series/windbarb/windbarbpointoptions.d.ts","../../ts/series/windbarb/windbarbseriesoptions.d.ts","../../ts/series/windbarb/windbarbseriesdefaults.ts","../../ts/series/windbarb/windbarbseries.ts","../../ts/series/windbarb/windbarbpoint.ts","../../ts/series/wordcloud/wordcloudpointoptions.d.ts","../../ts/series/wordcloud/wordcloudseriesoptions.d.ts","../../ts/series/wordcloud/wordcloudseriesdefaults.ts","../../ts/series/wordcloud/wordcloudseries.ts","../../ts/series/wordcloud/wordcloudutils.ts","../../ts/series/wordcloud/wordcloudpoint.ts","../../ts/stock/indicators/arrayutilities.ts","../../ts/stock/indicators/multiplelinescomposition.ts","../../ts/stock/indicators/abands/abandsoptions.d.ts","../../ts/stock/indicators/abands/abandspoint.d.ts","../../ts/stock/indicators/abands/abandsindicator.ts","../../ts/stock/indicators/ad/adoptions.d.ts","../../ts/stock/indicators/ad/adpoint.d.ts","../../ts/stock/indicators/ad/adindicator.ts","../../ts/stock/indicators/ao/aooptions.d.ts","../../ts/stock/indicators/ao/aopoint.d.ts","../../ts/stock/indicators/ao/aoindicator.ts","../../ts/stock/indicators/ema/emaoptions.d.ts","../../ts/stock/indicators/apo/apooptions.d.ts","../../ts/stock/indicators/ema/emaindicator.ts","../../ts/stock/indicators/ema/emapoint.d.ts","../../ts/stock/indicators/apo/apopoint.d.ts","../../ts/stock/indicators/apo/apoindicator.ts","../../ts/stock/indicators/atr/atroptions.d.ts","../../ts/stock/indicators/atr/atrpoint.d.ts","../../ts/stock/indicators/atr/atrindicator.ts","../../ts/stock/indicators/aroon/aroonoptions.d.ts","../../ts/stock/indicators/aroon/aroonpoint.d.ts","../../ts/stock/indicators/aroon/aroonindicator.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatoroptions.d.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatorpoint.d.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatorindicator.ts","../../ts/stock/indicators/bb/bboptions.d.ts","../../ts/stock/indicators/bb/bbpoint.d.ts","../../ts/stock/indicators/bb/bbindicator.ts","../../ts/stock/indicators/cci/ccioptions.d.ts","../../ts/stock/indicators/cci/ccipoint.d.ts","../../ts/stock/indicators/cci/cciindicator.ts","../../ts/stock/indicators/cmf/cmfoptions.d.ts","../../ts/stock/indicators/cmf/cmfpoint.d.ts","../../ts/stock/indicators/cmf/cmfindicator.ts","../../ts/stock/indicators/cmo/cmooptions.d.ts","../../ts/stock/indicators/cmo/cmopoint.d.ts","../../ts/stock/indicators/cmo/cmoindicator.ts","../../ts/stock/indicators/chaikin/chaikinoptions.d.ts","../../ts/stock/indicators/chaikin/chaikinpoint.d.ts","../../ts/stock/indicators/chaikin/chaikinindicator.ts","../../ts/stock/indicators/dema/demaoptions.d.ts","../../ts/stock/indicators/dema/demapoint.d.ts","../../ts/stock/indicators/dema/demaindicator.ts","../../ts/stock/indicators/dmi/dmioptions.d.ts","../../ts/stock/indicators/dmi/dmipoint.d.ts","../../ts/stock/indicators/dmi/dmiindicator.ts","../../ts/stock/indicators/dpo/dpooptions.d.ts","../../ts/stock/indicators/dpo/dpopoint.d.ts","../../ts/stock/indicators/dpo/dpoindicator.ts","../../ts/stock/indicators/disparityindex/disparityindexoptions.d.ts","../../ts/stock/indicators/disparityindex/disparityindexpoint.d.ts","../../ts/stock/indicators/disparityindex/disparityindexindicator.ts","../../ts/stock/indicators/ikh/ikhpoint.d.ts","../../ts/stock/indicators/ikh/ikhoptions.d.ts","../../ts/stock/indicators/ikh/ikhindicator.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelsoptions.d.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelspoint.d.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelsindicator.ts","../../ts/stock/indicators/klinger/klingeroptions.d.ts","../../ts/stock/indicators/klinger/klingerpoint.d.ts","../../ts/stock/indicators/klinger/klingerindicator.ts","../../ts/stock/indicators/linearregression/linearregressionoptions.d.ts","../../ts/stock/indicators/linearregression/linearregressionpoint.d.ts","../../ts/stock/indicators/linearregression/linearregressionindicator.ts","../../ts/stock/indicators/linearregressionangle/linearregressionanglepoint.d.ts","../../ts/stock/indicators/linearregressionangle/linearregressionangleindicator.ts","../../ts/stock/indicators/linearregressionangle/linearregressionangleoptions.d.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptpoint.d.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptindicator.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptoptions.d.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopespoint.d.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopesindicator.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopesoptions.d.ts","../../ts/stock/indicators/macd/macdoptions.d.ts","../../ts/stock/indicators/macd/macdpoint.d.ts","../../ts/stock/indicators/macd/macdindicator.ts","../../ts/stock/indicators/mfi/mfioptions.d.ts","../../ts/stock/indicators/mfi/mfipoint.d.ts","../../ts/stock/indicators/mfi/mfiindicator.ts","../../ts/stock/indicators/momentum/momentumoptions.d.ts","../../ts/stock/indicators/momentum/momentumpoint.d.ts","../../ts/stock/indicators/momentum/momentumindicator.ts","../../ts/stock/indicators/natr/natroptions.d.ts","../../ts/stock/indicators/natr/natrpoint.d.ts","../../ts/stock/indicators/natr/natrindicator.ts","../../ts/stock/indicators/obv/obvoptions.d.ts","../../ts/stock/indicators/obv/obvpoint.d.ts","../../ts/stock/indicators/obv/obvindicator.ts","../../ts/stock/indicators/pc/pcoptions.d.ts","../../ts/stock/indicators/pc/pcpoint.d.ts","../../ts/stock/indicators/pc/pcindicator.ts","../../ts/stock/indicators/ppo/ppooptions.d.ts","../../ts/stock/indicators/ppo/ppopoint.d.ts","../../ts/stock/indicators/ppo/ppoindicator.ts","../../ts/stock/indicators/psar/psaroptions.d.ts","../../ts/stock/indicators/psar/psarpoint.d.ts","../../ts/stock/indicators/psar/psarindicator.ts","../../ts/stock/indicators/pivotpoints/pivotpointsoptions.d.ts","../../ts/stock/indicators/pivotpoints/pivotpointspoint.ts","../../ts/stock/indicators/pivotpoints/pivotpointsindicator.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopesoptions.d.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopespoint.d.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopesindicator.ts","../../ts/stock/indicators/roc/rocoptions.d.ts","../../ts/stock/indicators/roc/rocpoint.d.ts","../../ts/stock/indicators/roc/rocindicator.ts","../../ts/stock/indicators/rsi/rsioptions.d.ts","../../ts/stock/indicators/rsi/rsipoint.d.ts","../../ts/stock/indicators/rsi/rsiindicator.ts","../../ts/stock/indicators/stochastic/stochasticoptions.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticoptions.d.ts","../../ts/stock/indicators/stochastic/stochasticindicator.ts","../../ts/stock/indicators/stochastic/stochasticpoint.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticpoint.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticindicator.ts","../../ts/stock/indicators/supertrend/supertrendpoint.d.ts","../../ts/stock/indicators/supertrend/supertrendoptions.d.ts","../../ts/stock/indicators/supertrend/supertrendindicator.ts","../../ts/stock/indicators/tema/temaoptions.d.ts","../../ts/stock/indicators/tema/temapoint.d.ts","../../ts/stock/indicators/tema/temaindicator.ts","../../ts/stock/indicators/trix/trixoptions.d.ts","../../ts/stock/indicators/trix/trixpoint.d.ts","../../ts/stock/indicators/trix/trixindicator.ts","../../ts/stock/indicators/trendline/trendlineoptions.d.ts","../../ts/stock/indicators/trendline/trendlinepoint.d.ts","../../ts/stock/indicators/trendline/trendlineindicator.ts","../../ts/stock/indicators/vbp/vbpoptions.d.ts","../../ts/stock/indicators/vbp/vbppoint.ts","../../ts/stock/indicators/vbp/vbpindicator.ts","../../ts/stock/indicators/vwap/vwapoptions.d.ts","../../ts/stock/indicators/vwap/vwappoint.d.ts","../../ts/stock/indicators/vwap/vwapindicator.ts","../../ts/stock/indicators/wma/wmaoptions.d.ts","../../ts/stock/indicators/wma/wmapoint.d.ts","../../ts/stock/indicators/wma/wmaindicator.ts","../../ts/stock/indicators/williamsr/williamsroptions.d.ts","../../ts/stock/indicators/williamsr/williamsrpoint.d.ts","../../ts/stock/indicators/williamsr/williamsrindicator.ts","../../ts/stock/indicators/zigzag/zigzagoptions.d.ts","../../ts/stock/indicators/zigzag/zigzagpoint.d.ts","../../ts/stock/indicators/zigzag/zigzagindicator.ts","../../ts/stock/navigator/standalonenavigatordefaults.ts","../../ts/stock/navigator/standalonenavigator.ts","../../ts/stock/stocktools/stocktoolsoptions.d.ts","../../ts/stock/stocktools/stocktoolsbindings.ts","../../ts/stock/stocktools/stocktoolsdefaults.ts","../../ts/stock/stocktools/stocktools.ts","../../ts/stock/stocktools/stocktoolsutilities.ts","../../ts/stock/stocktools/stocktoolbar.ts","../../ts/stock/stocktools/stocktoolsgui.ts","../../ts/masters/highcharts-3d.src.ts","../../ts/masters/highcharts.src.ts","../../ts/masters/modules/pathfinder.src.ts","../../ts/masters/modules/static-scale.src.ts","../../ts/masters/modules/xrange.src.ts","../../ts/masters/modules/gantt.src.ts","../../ts/masters/highcharts-gantt.src.ts","../../ts/masters/highcharts-more.src.ts","../../ts/masters/modules/coloraxis.src.ts","../../ts/masters/modules/map.src.ts","../../ts/masters/highmaps.src.ts","../../ts/masters/modules/broken-axis.src.ts","../../ts/masters/modules/datagrouping.src.ts","../../ts/masters/modules/mouse-wheel-zoom.src.ts","../../ts/masters/modules/stock.src.ts","../../ts/masters/highstock.src.ts","../../ts/masters/modules/navigator.src.ts","../../ts/masters/standalone-navigator.src.ts","../../ts/masters/indicators/acceleration-bands.src.ts","../../ts/masters/indicators/accumulation-distribution.src.ts","../../ts/masters/indicators/ao.src.ts","../../ts/masters/indicators/apo.src.ts","../../ts/masters/indicators/aroon-oscillator.src.ts","../../ts/masters/indicators/aroon.src.ts","../../ts/masters/indicators/atr.src.ts","../../ts/masters/indicators/bollinger-bands.src.ts","../../ts/masters/indicators/cci.src.ts","../../ts/masters/indicators/chaikin.src.ts","../../ts/masters/indicators/cmf.src.ts","../../ts/masters/indicators/cmo.src.ts","../../ts/masters/indicators/dema.src.ts","../../ts/masters/indicators/disparity-index.src.ts","../../ts/masters/indicators/dmi.src.ts","../../ts/masters/indicators/dpo.src.ts","../../ts/masters/indicators/ema.src.ts","../../ts/masters/indicators/ichimoku-kinko-hyo.src.ts","../../ts/masters/indicators/indicators-all.src.ts","../../ts/masters/indicators/indicators.src.ts","../../ts/masters/indicators/keltner-channels.src.ts","../../ts/masters/indicators/klinger.src.ts","../../ts/masters/indicators/macd.src.ts","../../ts/masters/indicators/mfi.src.ts","../../ts/masters/indicators/momentum.src.ts","../../ts/masters/indicators/natr.src.ts","../../ts/masters/indicators/obv.src.ts","../../ts/masters/indicators/pivot-points.src.ts","../../ts/masters/indicators/ppo.src.ts","../../ts/masters/indicators/price-channel.src.ts","../../ts/masters/indicators/price-envelopes.src.ts","../../ts/masters/indicators/psar.src.ts","../../ts/masters/indicators/regressions.src.ts","../../ts/masters/indicators/roc.src.ts","../../ts/masters/indicators/rsi.src.ts","../../ts/masters/indicators/slow-stochastic.src.ts","../../ts/masters/indicators/stochastic.src.ts","../../ts/masters/indicators/supertrend.src.ts","../../ts/masters/indicators/tema.src.ts","../../ts/masters/indicators/trendline.src.ts","../../ts/masters/indicators/trix.src.ts","../../ts/masters/indicators/volume-by-price.src.ts","../../ts/masters/indicators/vwap.src.ts","../../ts/masters/indicators/williams-r.src.ts","../../ts/masters/indicators/wma.src.ts","../../ts/masters/indicators/zigzag.src.ts","../../ts/masters/modules/accessibility.src.ts","../../ts/masters/modules/annotations.src.ts","../../ts/masters/modules/annotations-advanced.src.ts","../../ts/masters/modules/arc-diagram.src.ts","../../ts/masters/modules/arrow-symbols.src.ts","../../ts/masters/modules/boost-canvas.src.ts","../../ts/masters/modules/boost.src.ts","../../ts/masters/modules/bullet.src.ts","../../ts/masters/modules/current-date-indicator.src.ts","../../ts/masters/modules/cylinder.src.ts","../../ts/masters/modules/data-tools.src.ts","../../ts/masters/modules/data.src.ts","../../ts/masters/modules/debugger.src.ts","../../ts/masters/modules/dependency-wheel.src.ts","../../ts/masters/modules/dotplot.src.ts","../../ts/masters/modules/drag-panes.src.ts","../../ts/masters/modules/draggable-points.src.ts","../../ts/masters/modules/drilldown.src.ts","../../ts/masters/modules/dumbbell.src.ts","../../ts/masters/modules/export-data.src.ts","../../ts/masters/modules/exporting.src.ts","../../ts/masters/modules/flowmap.src.ts","../../ts/masters/modules/full-screen.src.ts","../../ts/masters/modules/funnel.src.ts","../../ts/masters/modules/funnel3d.src.ts","../../ts/masters/modules/geoheatmap.src.ts","../../ts/masters/modules/grid-axis.src.ts","../../ts/masters/modules/heatmap.src.ts","../../ts/masters/modules/heikinashi.src.ts","../../ts/masters/modules/histogram-bellcurve.src.ts","../../ts/masters/modules/hollowcandlestick.src.ts","../../ts/masters/modules/item-series.src.ts","../../ts/masters/modules/lollipop.src.ts","../../ts/masters/modules/marker-clusters.src.ts","../../ts/masters/modules/networkgraph.src.ts","../../ts/masters/modules/no-data-to-display.src.ts","../../ts/masters/modules/offline-exporting.src.ts","../../ts/masters/modules/organization.src.ts","../../ts/masters/modules/overlapping-datalabels.src.ts","../../ts/masters/modules/parallel-coordinates.src.ts","../../ts/masters/modules/pareto.src.ts","../../ts/masters/modules/pattern-fill.src.ts","../../ts/masters/modules/pictorial.src.ts","../../ts/masters/modules/pointandfigure.src.ts","../../ts/masters/modules/price-indicator.src.ts","../../ts/masters/modules/pyramid3d.src.ts","../../ts/masters/modules/renko.src.ts","../../ts/masters/modules/sankey.src.ts","../../ts/masters/modules/series-label.src.ts","../../ts/masters/modules/series-on-point.src.ts","../../ts/masters/modules/solid-gauge.src.ts","../../ts/masters/modules/sonification.src.ts","../../ts/masters/modules/stock-tools.src.ts","../../ts/masters/modules/streamgraph.src.ts","../../ts/masters/modules/sunburst.src.ts","../../ts/masters/modules/textpath.src.ts","../../ts/masters/modules/tiledwebmap.src.ts","../../ts/masters/modules/tilemap.src.ts","../../ts/masters/modules/timeline.src.ts","../../ts/masters/modules/treegraph.src.ts","../../ts/masters/modules/treegrid.src.ts","../../ts/masters/modules/treemap.src.ts","../../ts/masters/modules/variable-pie.src.ts","../../ts/masters/modules/variwide.src.ts","../../ts/masters/modules/vector.src.ts","../../ts/masters/modules/venn.src.ts","../../ts/masters/modules/windbarb.src.ts","../../ts/masters/modules/wordcloud.src.ts","../../ts/masters/themes/avocado.src.ts","../../ts/masters/themes/brand-dark.src.ts","../../ts/masters/themes/brand-light.src.ts","../../ts/masters/themes/dark-blue.src.ts","../../ts/masters/themes/dark-green.src.ts","../../ts/masters/themes/dark-unica.src.ts","../../ts/masters/themes/gray.src.ts","../../ts/masters/themes/grid-light.src.ts","../../ts/masters/themes/grid.src.ts","../../ts/masters/themes/high-contrast-dark.src.ts","../../ts/masters/themes/high-contrast-light.src.ts","../../ts/masters/themes/sand-signika.src.ts","../../ts/masters/themes/skies.src.ts","../../ts/masters/themes/sunset.src.ts","../../node_modules/@types/jquery/jquerystatic.d.ts","../../node_modules/@types/jquery/jquery.d.ts","../../node_modules/@types/jquery/misc.d.ts","../../node_modules/@types/jquery/legacy.d.ts","../../node_modules/@types/sizzle/index.d.ts","../../node_modules/@types/jquery/index.d.ts","../../node_modules/@types/trusted-types/lib/index.d.ts","../../node_modules/@types/trusted-types/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"8c8eb6b9ec6e689817b1b4d11ef2a6207e14324299caf5a5bc58827cb068070a","1782ca9bc8d8d592e8ad1d2d48b8ad9af28ebc03770ddd2ae4124773d559bf36","2a0edb9382fc9f18ea74f0013bebf8c30ac34047baab1e0dd76f5ad117de255d","8379dfd4645c3b845290feba7f5a37ff42a8ed43a580dc3f3f51e4a61ebadfc3","047f0c9be9d0119d2456a269230a435dd52a4954ee78c95989d139366b4f4844","275744cbc46ec0f347298dd5f680a9709cef99cee3e737b491bb0a4a45db3485","b4a91203e9f24f34a6de22bea6670ff59bdb30dd9ce0dbe642023d2df4a13f33","c30102514db1804e1691596c9c3c8f65b9addfa396a6998287c05b2dd2d15419","7cad41ed3d2e5e583931494ead31cf5990460a5abaeca67583c46e9086afe753","7c5b8b2496c190736c70d4ec53b1b3345537a40fd1196674d3624fdee54809ff","e2db83cb0ebaf09d2220c96f381e9f583810b34c29b7a457532c4b55efb26908","07aebe2036f91a21d3c018606200c1d86f1c8fbd2e8d919eb9cdba8cb363cba1","07c66c443cc5ab3f76e8d21f063cfd191f5edc122ba85c1560a43983c2ee1f07","4226d2a50a341079b7c8015446a633917156d0232755ed25a8ee48006b00e293","d07c6257a338167d4382f4c9c668f74acc9dabc4fe0986ddbf31abfea5c0510a","3c2c4f7870bef21dbfb428f8c4ec2f72b290ff7ec3b647ffcf4f68481e69ff8e","aa6f43b3ba0c007606fbe22f93b585c33d016c1cebb24fca762fe688914e138d","8505c7c17103244a4d4e5040ce8005311d4d57d13ff76acaf49e58fe62d93da1","e06b6c2f8f9294f4bf3bbc44dc269253fa4a0eb78c6f62ac2edadf2ac66791a1",{"version":"e7e96f71acdba9583cecf008254bdb9df25d90d2159ea50f297a5907554992a2","signature":"4f021368e0783dcb1253ea77847d0f81dbb04c59867ebd0aed103f44cd282b9d"},"a65021ae3e5f537ffc349730bebc6e79e6cd0d4a73554dec12fb612e0f8b04fa","d8d5559022ef06ba73a75fb1ff24fffe99fae086a00905076a8a0e321d23cb85",{"version":"05447186314b3b27a8afe8f22935d336f610b03b69e3a70a4a8adc1abd041c10","signature":"82f3f8de37e7d153ceafda565cf4357492d3a049591b18cc675b1fd8c5c57bb6"},{"version":"4427123cf6f1b533112ee6379084ee092ce5b42a14edf865b71b690adc7900c4","signature":"e1b42ceb3d9c1f72b3ef91af117eb5d8679cf8a484c75a6d070c796225f09adf"},"4d82fd2e1295b5a3c1d2d82dfd2c45ad730774688d44748cf7d0305d49739bae",{"version":"d4f0cd891ba6c1948261437899d854d0ad1b4009e94ed633caf2aba89c65134d","signature":"ca03d0ad8f300832d16f273fbc9cf73d96a2982025259add413d96506d39a956"},{"version":"1a44402b14123287d51bdb6bb6f9e9950ad3403af0df78563906110d16fa9c17","signature":"8659790ea32312ae2c6f1f1c32381dcc537d3ac8be40f09fab56f11071e47c2f"},{"version":"4e77c79140c7272e6f84d3a3002522df4a3268fb1dafb994465649d2eda0fbb5","signature":"e8457239962363c7f4137fa39bd723897cde43836733359d2ec5adeff74d91ae"},{"version":"a0f67c0a1f602f7862b46f8b89f3784a15c51e196878f33009a8bfc20c1a1ae6","signature":"e8c9db54602d6d94f9f41f0234150e7ec7c6a8086f143758e7b333cc0b653d5a"},{"version":"de4c8adc12abe86b6446f725096efbf80bb77ab99883b8a948c34c7cbf122e9c","signature":"ce9462027e8f4dc890b1b1a513e2ffde6d4a5382390bcc64461a7bfcccc96b5c"},"e4dd8b1959ba7d7dae412c63de0e1ba47b219d8597cdc77da611d6cb4d6196ff","bad5ce74e44191cebc14b59c726c732e4a7b861ca820ccf625baba7ea75c5b4e","c208de3339361690273cfc96d21b2b33c956997526b3d85487c2075ab43f6185","8bad1fbe72628e9e2899e6e7a17c4b815fab8690d97607cabdae41b24b00a8cf","4279b64dbb79e1b10f20b92feb6e19b31d58d9e8af5728cae28ae4bd30ca98a5","a05040244da8ca975bc138e0729cc78ed3fe3e15dff2c4fc62d5ec8d327e3401","898e710e87cfd721cf0fb92b8b11a0add06d2660a19f0bb4a5089773cfbccac3","f81e53b756cdfde4e3e00516251b60a615bb0f5870b4cfb784140a4506c117c5","88e166abdc9ac3147e01e936c5a63632807eb54b7cf675401fcaa5201618ad4f","b6d055bf21f4b9eb2276c980662bc0e0ee47d089054cc54b2577538824381226","9cfe56cac66ddb37d4faf163d1240cff14b3e3744796bf54e9ba3a83514e765f","f13984d140b299145b8dd41c1052853257a2a57b1ea2ed99da752fee3450b6bc","1732829973987130e92a267c059b05629d9653c978a50abc830cbae4dc7a8fe7","bdd197d7f2e6910582ac1659f610b617d2bdb2f30d3cd8601ad99349d4bf0b6b",{"version":"c8d37c2dc74adbd8bbdd0f5c1d96b89cc71925597330bdf451ef20cdd7c8a682","signature":"8821fa5ddf0c6d5dde8a5727473ba2d4c9c0861fdd83b7110e6559ae0d5e560f"},{"version":"1d7ea4832d6b91d8ab75ffb78693ba42a6d24f4f777b743ec23866e07ca1ce15","signature":"d936d07544206913ac896d4927c818e0e75aebe65f95a8249dd408bfeda91d4b"},{"version":"87838fdd2d55e6cee8f84a7da95425e8d90f02d276089f72f60086b42eb532ef","signature":"a916e5bfb0cd20756630c96806033d3b5ac142afab534878235ca6157ae4dbbc"},{"version":"1fd5d10294c90647178068d53007fc7c7c85d161e93c38dde2df741b88e557cd","signature":"19d6d550ab5050db9a135b076f5b595b39b75d76602f1d8ab0ea8f7926ebbcf6"},"203a8633f1d31b4f1a121a2049c95d2ebc12419852c2e8f458ad79eaebf87a4d","da5356dc260bdd5670eda00d91337f4a13156873835d7e03cfaf590086f78ef4",{"version":"801784f717df50a7673120c7ce6a735342f8eaecfbb184f86030074262844b84","signature":"0f60b65cbf100f1822b34a2917b181855a321941c169d557c75e39c983bcc693"},{"version":"e612950225298745301e65c97a2d2056e545220d4a0168f2c10bf074cabf0b09","signature":"9a995d406fed01c3a904df307776e7ced6fa6cbf066f768e0e5c0cae02c14d04"},{"version":"f83e294ae3813a96a601d17cab9dad903801ff81334f2c1659d534277ce47f27","signature":"e97316df7031f0939d6f948ded3ae91449d661d4721f5db7b4406123de978759"},"6c7949093d7ca216318aa93a7601e4a3ea97e31c72ce37cacb3366992ab9244b",{"version":"5cfb054eea3fa511069969428919ec849e5678a69d0fa91195c6c4259f300e39","signature":"70003591ad2924d3874a65f56ad1cf912adfccf2771403efbb4abb83aa6293e5"},{"version":"a3844626a8ff3d1bc372d590b8c57d55ca41dbd947c9211d56f33d02e7954f1a","signature":"8e52d428ba6b8e6d3960781a98c0ba7ea94d494f2749f60438f63c065ca5d062"},{"version":"bbfc4c384a27a91d8edcc6aa9bb2dc0018ddae8eec87c7b745af2daeef177d29","signature":"7b3e22c0348cc00f07def64e16840a247cf363f2fcac12fb3bbbbf210acc83a2"},{"version":"aaeb7d5d43367aa8c1c5a10af6e781044b5abc7dac61974f42a49609bde23906","signature":"3bb2fab08855c13585c4fabb4dc1b7107af667d498fb828838b30bde1fd2192f"},{"version":"3526045f46f5aa48f9e48ad1f3386aa23d6f508e6324379bcacef02114d7d642","signature":"3421cd1022226d27b5a65b195741059c2f2abc8ca52b2c237f056c0b8489422a"},{"version":"c5c725b4ec436fd1a8846c849fd93dbf7590e32ed10f46d0828dee35a47281c9","signature":"141c8afd3b078cd578824ac2e51b64a02f960a4ff5d7cec27ee744940efea779"},"2ce0728e4a35934288334673efbf2eb784071ac951d791580c50d0eaadfa7e29","96aa32be43ab3bba55da1996f7e2ce2bb1797e22af8e5a941f280197ce4ba729","bc671f5b7c079b9b2ce675c0b2b76a792e60b019fd0f8215cc121e5b4517e61c",{"version":"b3ff97b1540a5d78eeee73c6d1400a1fe75f603a1157603f1321a4088eb25c8f","signature":"e57a0994ff4e685207bdd9a6852f84058c0b228e8d67eb6f2ef875ee216a41d2"},{"version":"490bb827fc8d336aaab273d10e28abadd3b9933479a2b414c64f6b66e5ad7809","signature":"48209df4888e03aa5400bd3400af43c71f1e191ecf8c993ca560c37ce1736906"},{"version":"c520f887a332e1bfdf109696e195c622c734cdd35cf649c3cbce35a98de60b7f","signature":"9a34a0ab398b306e854ecea1994c9b1c946454db7239a3dea82d9a2695812524"},{"version":"bac96227a9a3047de4abbea77f8ad4c7a5e9a470c53149899bab0a54e4897a25","signature":"82293b3bd95371a68f354e4913038f4e3e35fa0a7aa062077d1fdeaec2378ab9"},"1c5a9250223da0bc360be5cb25d340d819a3d1e95dab6b866b8ab5bcd38ca427",{"version":"ab208b424a36ed8070dcf057a335e0b9fc530446c221476391301b995e70907b","signature":"3fb04b058cc2c00cf7572eee9b4b0c9adf21d14d0708e0a8caf3ede9e21b2f03"},"2021c615a5ffc4276c257343c6d189d5501b957103fc02a133295ab4f1182e63","4267ffcfc35276453c56d0ee01e2ff5103f31adb24ddc510b1cc0fe36716c8ed","8703fc120f80dfca97d62c5fbd9420bfb5b55cf56ce7dc18d49237916a2a83d4","3b02660ec214ffcff7d984ae8da633a6f9bf5b3991f3e3d82852d73305c39782",{"version":"cadb634e6ce145d2135e0d7cd09f364c45dd0aa17d791303f19d8b46402275a0","signature":"e835c7320e211b2ad8ae386acc727f16db465afa355c602a76ea118b09da7636"},"32c27ef6ca6785c5dbd72de0af606cda1cbfdc17461b95d8f1f1311c7e6f9949",{"version":"029bbffaa00390a3e0a5f749501f0cb661ae4d23a8f02ce50443c9a36d545b9f","signature":"848c6faf6dc52684100443a1b7a8cc067edba05e5f6e76b6b561b804f498e3e8"},{"version":"d6a4003ea2535a7c33c7458e9f147ae4c2e002dba3215fcf647d7f5ac09cb88a","signature":"9b2b464a0821ddc44de8bd0a23ff0c7a5bcb84013697624a91df239f7f41a365"},{"version":"951c19f7fd389a78608d4854aaa36e0c5bcc96bcda69a2ef20f2fe34ae1e49d3","signature":"1bded6a6874abeda63032450ecc79c4c8725b4df28b8ff889e5143cd26ba92d5"},{"version":"92b722b7706b2831a6b93aef6784a6fe13569f2a9a36c78c9b599c53877b32f6","signature":"a97984c354bc4a826ffc4328c0de7cb989093ba03269f560ed05286572e0d200"},{"version":"d77a05ad05772e7925ea4ea35f40b128119d5de27a1a15fa0e5605dc58c36ac7","signature":"527b76d95309796c14506085eceff3cf979e677c2726cca422aaa2cabdc968b6"},{"version":"4059f9f83b7ae08f85ea00ca1894c1d9b14ff1c49d16915856aefa351d7d7f1d","signature":"4a8f17810ed101e1ab6a88279fb5b653df79effd0c2e0686b4a6c03359ae0b6f"},"5bb88b0bde75b3c28d243ce724bfa92f4e8282023908087717d18be048e75645","f58f212ddbf3d280aec7cbcbc0d0447f5c4078e1310bf554975e7a381ef278c4","64927c68bb99dfe78bd4dcac7ec9f744a86b9d59fc9bd76244d7d506f028d0f1","7927df3f8c1136494af296b1f855c0ee6929556c03cda45158305f4e3fe64846","e2417833137fe91974a81e2753a65fbefbbb6bc82c3668a70e4e2025f5886a3d","2c6b2af767f9ac54e38b2a73be406715e695554e65e68268fee29809c9dd46fb","897b57473879caad4f5be506ff8d45b5f12daa1c1a8b9d47e75ac556c61c2e34",{"version":"49420ebca6ecc727cf8813643b7549767378f2006dadc0ee46fcb9ff74ba5209","signature":"99d7edf9fb121832a8416ffaf306a43b65d0d1d0f1316e8391f747ccb0dd5748"},{"version":"8960faaf563efe4a5e983d54cb4036d42f2d5a0f34997c8531f5bf96b2d2dec8","signature":"88ce48a697b7469d2cbd275870e38a3d8a2028b62da500111c5a578b111f8956"},"c059dc7999d0a9256068edf99f0440116c7f4851b32c132facee970d30b0bf64","5170324b0055a2b07e05cd70e0ee5bb2967fa49f9a4b5f0a3e5a6e6c287e47c0",{"version":"3e093303516b2105b4bae56e3f374e8d36eff9c6c94481d0894a953ed62b0b9b","signature":"956afd504b5c4951e1b85f1a1bcedf008cc150da849c7fc9a488105b4dd59353"},{"version":"f6a5b7c2257cb85dbee18c2e4b6e78f98099c712f337b40efb0b4dc05ada4c34","signature":"e3103288cced9e418d5190d51212bd809a575d6101b35cf7c590b43c32d28270"},{"version":"3a146fe385c4dd2b5f986093f7d95c9cc927ba393e338476bf20c55182f76b46","signature":"84d054ae3d4bf5e0d9adbe6a43bf0c546e78a307afef591eb7ba8aae813f7729"},{"version":"9474b42f9b4474229f788e4bc242feb31ba5d15b4c48b23aca57acdcde72dbeb","signature":"6e44ca35c46a7b4945254a0629a8fc7e01bcbe9c113c19fd8c15bb7b3d4c1574"},{"version":"16ff6ed5f4d616c79b6d031c018bd0d0d77abac74fdca7829c1b0625e053e0f1","signature":"be8f1dabb21a5ce462ef07913c5439c28487de12d3e705b315fddf2528bf44ed"},"f1fb00f30b749d8d840d816dbb35d81b351230cc1d18f62a6e585268f5469d98","a92626501295217bf4565aa2d4aefa444a5929d4292960d1706e9d66fcf0871b",{"version":"5c595e77858867e8e2306e1df1a81b9858c97562dc1b49b7b2285640c9167567","signature":"d2fc7b4b330b91dc065d994846a01def7d6f730f18f310acf7973ea3e62ca8bd"},{"version":"5bbc68a96a5d24ae244f80e7af97e1180c19b525ba9ce2b2bbcf2f83221e7f8e","signature":"1f5b729d56abeb17b3c403e3fcb59bd3616c0039093a750c91e8617875462d6f"},{"version":"ccd85716113b91fb814b16e29d132ef0cdc1f449c06eb73a23a1c544774b8f3b","signature":"8fe3069a3d1f421787b801921cdf8ebcaff2d4b4060d624f680668f8ab2f4a31"},{"version":"4a7d9d67a133bca0f442b9a40d32bb1f09c0755c112c07eb20d9573485881842","signature":"8821a67b2e81788724658b8113c8413359cc273a9a7791c22cd45d4ead31934f"},"638f97dead2be284ea8baabd3bc0b4689f7367e77ca13f9eb6a85dd3bbbfaeaa","f00a5535f2665d7e92fe87924c039fe4a4b0363fa1c791c67331726a05148efd",{"version":"5a9756c8414f035c32cb4c802d1526b78a19805ede542a593188fe0011434dff","signature":"d1c6535e8140f9d9c1b758a3d98846f2895da2ff1bd8743be8a535b22b9fa49a"},{"version":"b69a7fb5bc75bb8387de942e9623ba221d7ee15e738f9890484160c5b4457ad1","signature":"e566fe4037bcd3299a264b6b4358c53010d97219f5dab19f08fc1f5c1a3dc48a"},{"version":"77e1def4d29d6fd1994141c0c6755259a7a6e64db87387c06536424c39ac84e6","signature":"1cb91e873bc7a62116face345326e6ee7e9a38fd559694096e37d82957ac484f"},{"version":"01bbd164f099c6a664ce772acaabd3a340b15c2b0863040a888c0d6591e602cf","signature":"da21d47008d3105bcbec286eb58f391527982152cb7725d923cb40d90066b361"},{"version":"87c73ce03f65d7cf2c2ce273c85cd0982a01fee16c5d64458cb3d8d9d49df63c","signature":"de12e5127a08c491ab1e08fb1589126b91978cb5fb5b9ac1c6056ac42cb51763"},{"version":"2ac8e4e4249d67ab1664702e35722fbdcfd4f68d465dd470a936bfc8fce733f7","signature":"07f6028484660252cd6e9f9deea96c8a48c2599a46270dd327a47701ea7e2e07"},"a7d97502d5655b34a5322dfd4eb8b3876472afe4d025b1c2856d1fee618da49f",{"version":"ca8995a040be856aeeba54d714a566c76c8a270fd795e5ecb492b724d051bddc","signature":"0a0bab0aeaf82cfdcc95c27e79acf4b3f91822fc7d00467563140909827b7238"},{"version":"c6a8a9ecaed5f9b896a6ea560ecc458923420f60cd844993eeebf50a65f2119e","signature":"68dc7ccc850d458f7dd3b5f727a6ec7960e0ca12ee311078c6f4e1a0c4e9ce13"},{"version":"029a5368c84842c2cd92ae478580ac03e7e11d6b54c2778e9c233c2d373dae33","signature":"eefdeb0fd378c90d92469ef5cfda87859cf1a4aff7f82d11ff41efbd13810894"},{"version":"61fea123bf278e4ced226c427a28c5ee7c42915f409bb78561ac3e3845afd712","signature":"d2fd4fbadec0a3f02d0135a42e0678357634cd566f78c6b2cca33ae4dcfddce3"},{"version":"f471e1ab693edce0dde2214431c1da371622e3ae7f4bbcd89de8a93a805b814f","signature":"6c80fb4ff2f179bd0377225412fa3c4c009f7e8650bce555a16bd9cd666a2508"},{"version":"6f54f8a42fe263fce61760ebe1f138449d6e6426aff3b1138ebb64f2910dc8a2","signature":"c4387f5db2139e7698117207c7e53f0b6d791ae331240061e3de26afbd603a49"},{"version":"e066384415874c3a5b72a96a472ca793b0ad11578b3ae2d3e78e93a609993d25","signature":"73f8b34446a36f3414e1b99905bb58813793cb3a86a5a471f858c9f650e61640"},{"version":"7e4d3fd5e0e2c681369b55d82abeee29824aa95c8faeda8c476cc90ca49b3e61","signature":"88e9519d62c5163406afa10e9641ca597afae85fe200d15dc5bea970bca20643"},{"version":"c915489c5335e0ff8023dcfed38a14bcbeb99a5b93a38cfe684ecc5c45312b4e","signature":"b34ae889d00fe8014d497b209181492f47312d534ad127ae0381bda81a236374"},{"version":"0615cdcd3f9fdd6b2f3cff1ac83b5ffa0f39a7b9519e1eb6b9247b0654559a94","signature":"3b40f1a7bf929fd91566ce4525304df07676d77e6c4cd9754b839d3127835233"},{"version":"0ac7347d035f5c1c5e7d0c1c20a052f3871ab116b52a78f01fc7e014384e9405","signature":"abc44776efb7399cfe04a896cba4ae5d5e00507ead2d7275a82bf687d4dde949"},"ca920351489d32acade5d89fc483a48f9d2f7cabbd8558e50d69f39fdc8c8d26","bb1a711c8342f91ffed4f3b38e17bd69f563820a7b6faeff7d9a790b724d83ad","56fb7439a7f2d9e6d583407efb6d81b71312cb357fe949af19cb86e08e107515",{"version":"9fd4f0c3aedd4487f448133dad72e3a61cf12c7c9959c7ac78b142f61ff3cf2e","signature":"f74818b803a47ed0843bcdd6e7777c993c1ffc2090af47a5788d268ecccbe355"},{"version":"f917083a202d5f54a6af37f8f37af7ae1d184e645cf8c79405509061c9420a72","signature":"a14dfc846430d1ca3ef0aa18a966247ab944a6c8a2d2fb0cd11264c94adbce33"},{"version":"69a4e1469191ebc40fd153eebae9af742776124cb827b63eddfa38d913364ae0","signature":"52dda5af74542b1894df28c8f15760666ac5574df2fdae47ae1a424f946e89f1"},{"version":"b86732ec95e09720c304fa8fa1f15d352e1bb793dc774a9468ab35b94d004950","signature":"458173e0a8df315681c9819ee72598ef663f48e008da52c669235f3f681890cc"},{"version":"096b6bab063ac84c9a2400d8bfeadebe75a8235018b3226cb5b19fa029714c81","signature":"4f7197daa0f0391ba10bc0d62330543210de817af6c7c8c20eb1962b7e5cd996"},{"version":"66c52b2c18fcde306dc63dd137525c58fc2815794a678c314f369bb5a9d53032","signature":"70cc3e279756eeb0fa82a850fd3043025a413b207b1b276243ad6470c9118b40"},{"version":"6603141d1de2e16da37ca8a25075c7bfc3be4a13ca0fa5dd469cfceb4245ea5b","signature":"b9db26fb94d8d53bfc9e9d6cca910c9ba8640381c8a1108ea26dc6bed6535325"},{"version":"fc1d14d9a313ff43a15c348a47d17341cb194726fc43b9b497d7a76110df13b9","signature":"ed0059042f93d25159943da5d2ec5aed7a4431461d551faaea1124cd0978caa4"},"58b74c21a9540fd9a26de2cffb967750d338120312cf07bd18b7d63ac5f3fbe8",{"version":"fd337a5dc834521a51d3384875fe8c5bd66149d29e917c7e6d0e5da5907fb6c9","signature":"099c47f517eb81016883ae5aae4ebbd9d0bf1b44656202aa35edfee2f398896c"},"509abd28b2b2c6a0ad8d79ab0b91605619c6525f64cb375ba17f8720f89b5184","427c343aa6264b5d82920e0b001e0a9d62ac021a1d4f82be428801a44a85ca95",{"version":"1184e911f5fe7e72645f6449d310b3623aa86facd4cebbb65c2d05100efa1df9","signature":"27463e5c321ee74ee7e415a3ac245704e66f30738e944ce70949023267de9377"},{"version":"6cffbee45abda7bcab0428bdcfdb2b504c1329db94976b7191aa96831a73f2ca","signature":"71f19bd8529fc1eac2e7a5c616eb6e9bd9afe3d3a785a0483d8d8040a539294f"},{"version":"861a9d31892c0ad737ddaba297d2da8065aa06b39145e51128f385e6e40534e4","signature":"280817b28618841002d2b8e5fd1f8bd9b0a24cfffe8b62966fbaf40798df7fc1"},{"version":"8f7671f1e1b716675a19c113f78f44bf73ac828acd64678fa9216c48990e911d","signature":"5a494a61302de807a3ccf7bf57e192baf6374cba5cacc7a3f50c486295f7b535"},"7447cccd400bae27dcbaa0b36766e8e7a4fb661b4e71b9b16549adf91cf2a187",{"version":"7c420e71e62248d4c1642b5bff702554aa62ab472fca8226cafb1a4532dd8c9d","signature":"6f7ca2af2d52c05878ed3398a259fc2dd77e734200aba66b23b1edc1646c1632"},{"version":"6688986a5a23a5469a8f48e95032ea91fde38abe63e4735622c6603b8d46e354","signature":"400f2364cdb5bff663f0e6df85104938c071020cf608610ba4822de4e9c71220"},{"version":"5d863123a2a909928162c958a42f30200ccf7510e73522b3fabd1114d46c8067","signature":"f45542ebc327051cdd7ccdd2afca268874f3125f5053f3dffbfcb7f3f6f53293"},{"version":"15413117399055f0f959c1d9e2f0c9a81f1d812da6172b6bd0156a1c86f28289","signature":"9d00a60e074ff9075c56e6d4c0035ff84e3c2616d8a68d7e177c1e3ce8a784cb"},"6bd6cd601d952c4d659fd1ce9e04b3e26b53990723380b2e6c9e09e41c32262d","fb140a4234babdaa9c76c215f89efacc39c0f0eb07b90884e396459b644a93b9","07e305cdf1070f722871d0585dc15b0cdf9b5b9639f15ae3cb5c7aea22c63888",{"version":"b7162bd522d042799428274f6508e03b4d0f46cdcc7aca4c7ba4d2c53a5304f2","signature":"714fe049f09d0bf2f58fc33c7de9efec6a555196c5f5ea2e590ff0c1ba68ae8f"},{"version":"5dc30992f63f0141d95d85c1a6198185443328bd864ccf821c3e0f0dde375d10","signature":"434368bfd2d96f25381533b7964aa2ad5b700a73145f9f97b490da31d0d7b68d"},{"version":"6637bae5cbde8a1e6b8a01d843782d663bec20f9981a7c296d8f3d536297ef67","signature":"9d4e29298592a5db8d0b2af977915ed0bf1a3cab49b272c2fd225248f8b57b23"},"edab4a12580c4fa278c2a2c4e6b67cd1251aa678ce57d4523b1fa24a0d862b7d",{"version":"74750b347410ee72a2e6477d08f191495c56aa7562d5a97341ddace5288288fa","signature":"be0bd6fcac2dac0b464aafe90a99cb9dadc47c6862b5ddeb4f622f3ba86df072"},{"version":"3b0ab269b0ebbbc58d173ae09054eeaff2b1a645c0ca94ae530f9f9d84c34cb0","signature":"51b5db62d83a5555b98706593b419fd67263bfb852ba1a0432ba5f7389227645"},{"version":"fe6664fd0e2e7bea56b43ab01b57af64b7cee319807b017eea24b73193f376b2","signature":"c28456776c9890f6a7a8f59dada23f79bed5d866cc601ea9a2430dfbe2f9cd26"},{"version":"ae10546be8ffec5db357e0ac7578308ffc46e4db20ca63eb2fd40c9f2657a92f","signature":"142db8812ba1ac9108561fcc4cc886cdb921f739e4b3f163e3d346f9b013c345"},{"version":"35e151d4efae58e8a7733dbbda5fc82c1b8f238f299d0e5ad2b39be0af4b1ab1","signature":"ce7a6f246566c03574e5d620120b1cf191851c9bdc8fdc5dc74f575d9c6a7d30"},{"version":"b06581cb2fdc9bff55f21f97a8587d0e2efce9ad16c3f57e55f6c839165636c1","signature":"89e4b25b152357f1dfbf027b6814bec8fccdce154b34d190cea03e5054574749"},{"version":"b4ddbc6907fe9cd0b5bcb2bf42b7eff73568ef62246f5136f9027a39a570c855","signature":"fa6663a2866b5b4b3a84d9377e9bfc879f69751d462735e94d4a8a9c2df809fe"},"a42c2cc731f3fb2c37b987a8c1138d4596bdd200e47a23dc837abca60bc51ce8",{"version":"76a56c3d75703b32b1ce04594154517a4e1c8bd224d0a842473c86eede63dc89","signature":"80d1171656b808a02baf63e2e77035675456ec3e3cf3f5331df0981fba83e5ae"},{"version":"d89a10707fee6e2114068487b259f1e943744c440922a5dabca069c88f572142","signature":"2dab64760beb587b2338946a5815ce22060720d76b224a82a710934ee9c0b4bb"},{"version":"9091b8dd88f4e7e9088a9d055af3768a602b67ad062169d8232eed89f0e90bad","signature":"b30f1386b9b965f908bac6e022b4cfc6cf66116c8f4581c01ae77393899c56e8"},"40763b6c0af11f3e0f71e4401d3dbcee0050325bbad642cecf8d8d0e160ad1ae",{"version":"222774b63d35204c91eb024596c01e147d20279c04abf58a5bc1d3d7ae5cc2e7","signature":"a5099e2e418e8e08d5ae174f080af485426215feb4d23c41eaaec7ba90e02913"},"1f5883d8088c47e84f07ce34d8522e0d03154daee06da13e12aa22acf3fd39c2","fcdb32bfe0ab6adad3c2a4de7de4770e74894b6ab0a5b0e719f914be033d0fc4",{"version":"a7c70443f6ccd11f1fa5ab90134fc4f94acbd08cae7e7088fe6f9d26bc87348f","signature":"a0a8eaaf8bd050f9802801162d545450ceb564723675f08b7cc1445a23c00d56"},{"version":"185483d0ec75f289d933d34cfe3b4228873e2998f3a980166427c772f91294f8","signature":"d01665e7fafa0a39846cb376f28e93d465af53acd8eb7d1a904aa58fd4e4c64f"},"8f42870cffb537499183d01a175618f732be9ac4e584231a172ff035189d054b","ab8977a391d9fb707e969e754ea460cec6897522b759cfd192fc4086d13320ac","6defb5ff6c3d3b54861c70775715aaa0e7ad243b6029ef71010e09ef14241fcb",{"version":"dc21cb622d24a66caf20842bca99654621cce87ad689596c79b894df52887a6c","signature":"8e57a9041e6fcc888742d47c226ff27b56e7444bfb6344ea6e64066b5dde5aa0"},{"version":"971f6961f5098efeea05379a4f5615e02e864ed146baccaa77b91940e9aa3dd5","signature":"aa132ccbaa398fc7b031f4a3325a98b256d573ffb85fe72311ad9f4d1aa3f359"},{"version":"e4d52e44ccba6abd0909fe9f590a2ffb5ec29012ebe5b942ab7f7ac9729e6576","signature":"878570e16cbf3c9b04c22fb91179e6902297384e9bef7de45ab074b42d384e05"},"c89f3e7864f3a4adab80f8204884ca9440a38dfd1ebf6b2506352320ccf0eb8f","622370c36ff8f9393b310e5ce678363b96a8c896a9aeb9bb3defc96e779421bd",{"version":"765b8ae6b55023dffbb0ba2d52dd516378720ad3bde8b58b9f57105a7a7fe190","signature":"58d37a90fa475edcb4a3ff3a68d72574e94f51f832605be8ec859e75742b187e"},{"version":"cc16bf289c260a07b5d8612f0c6050d9ddbc70155af326c56608ab47b47fb059","signature":"5c40926ad27f93aa9a91d71f28c7d92d65bb885ba73876f27e3dab12d6c6c577"},{"version":"28cc901ad55be1098bab39254bb0dc76888099ff1a0a852d6cbc57d0b0c1b6c0","signature":"e3610f65e368054a8dcaceadca28b1431c2959f5d64a22926a9edd84a7381ef8"},{"version":"68b592a11700f81f80ef4ccff46d7a154eb29fbc01f547b7ce0f3f352d9bfad1","signature":"c00e080474a51865f96c5fef6c709be3cdbc9af0caa4451063f63dc041d8a7ac"},{"version":"f57c5941b5f9931bb215a6338012c5365ee1e40d04081b3d998c667ea9fde3e8","signature":"c319cab21b9b9a1d055399b6265e0e6bdd5da11a2edada15689d2b367ce56760"},{"version":"3ab8f5ce45600df7462c8a7a281d5d70951c1f54f96bf5ca296c6aad739d862a","signature":"739edf96b6e69457e6691b3e4b0880db12b34ca08515cb68a29d1abd0a50fb99"},{"version":"b684fda79485e0c0998874430a838205a763f275d9d32439f263a4082b36761d","signature":"da7147bd1ca734244f03c4e42fbe00de211a15618221fa3917916995992830c8"},"7a753c835fa624fb78070d84391a38255263387ae09141bff0319b1311af8bc7",{"version":"48b10b5853493c59d7fde9b774bb36bce1ae2f5f88c6f70b468de0992d251b8e","signature":"5a4eb1be4d88a25e9cff6fd50419a651f425dabf96f53fa01ad98f55cf37ac1e"},{"version":"ecb772cf9cf2643e41e7d1f9cb38859c44aeabe2445361e66e9386b4b3214de1","signature":"a9bd54415037c85f3d3fed8b56e0bc7aecf44cb0460861d3e7cb1e2363213245"},{"version":"0638ab869a0627429bd8638417cebb2a92c89c46df846c31742314cadeee987a","signature":"22f4b6f6ef686a3c021582ce9467ae17921008628de01ba4a179bfcfc3fbc2ca"},{"version":"8aa4fd567bf41152d40eae3670927a86ed819aa23cf21aa9f7070fab34e6c14c","signature":"c8291d1b97dffd17e101a11cd724801aa8789de5fe05bb569eade7ab839cfb47"},"c6955d8caf3cd67754182b95aac22bdc865195c8045c694c58e818e5f79ef337","38b43b4c2243b9df3de2a3645f26776b2f044b43e529fe5ec51e43b1466966bd","276d8bfcd459b40d817b8bf1ef8a103ac35619cd30f3685665e2f390ec2d7324","4a7c9107a956719d722fd3b99a2866c69749d0d83ea4a1d68ea64941de8bd6a1",{"version":"b44651de61e01f4f490b442d335424cc5d936f64fce35982b4568356be49b2f2","signature":"b9ac6c58c4acc2bdbd60ae66805943c69d84f76788da57298d6bab521a24ce25"},"539dde4302c3029dfaaedf8a610631acbd9b70620edcc421a292c9675f285487","68542bee02ec59b92fbc35f19473ec78fa2e5ddef192083cbe5d80f5434d6fb0",{"version":"3a553b3ca8f73a2c893c07815412dbc8fbef88f3fb4a255317fd35ff655794e2","signature":"1b1e1b59d24c2370492b3e6255dca245b416d933bb805322b8976b4ea1fcc012"},"458c698e0bcaae5b243c169d215ea18824bdb256e437ac8d27df2f0317a1622e",{"version":"6ef62e792baede1e1401bee2714ee98cfbc864c51b035c6149b199d0bf130106","signature":"e977b93bbc604177a92d32797818a65e8b0cdf305bf9a29269707e8a8328f686"},{"version":"a81d29c6cb4005544f34cb4c7902f5ee2d71afaa43d2902892c334a024377048","signature":"5052e0e86ec507a664d378f7f3b2836c7865461686e53df3f5fa122f4c0639eb"},{"version":"0448f5e85ceb624dddf1fa26dade5b8dfbd5be8e49d94d4bdfec05f4db7000fd","signature":"e81f913776497d85d0f3481e65d59cda78cd5882df2eb1ac85acd958e6707a44"},{"version":"e5ca2e3a0bbd1ecacfaca47fbccf83af6813d9fbbef7a93d84395f17aba196bb","signature":"c6b1fabf985181ef16a33b43ac0f749e1d750d67168dc44b8f2bbcdda14b1060"},{"version":"2d42d8135813267ff3242b455497836bcd46d436813656f02a09ba9f3fe8f205","signature":"73379faf12611e812fbac3b3d1a15f4fb772cbe9906a5e4869d776882db00768"},"613e78650c76538285f643d8934ccb5822395b2161e8dd54137c5a287ed760f2","2379357836b933bd3451730835540b1f9603ecac59d4e4b6a0e17042a3eeb410","2e7a8e1995d1a2c93afaf81bf380268f304a663e19301ef07c71baccae9b4f70",{"version":"d0a0cc53a68f0678830aee81a32312de8a9f148706d18e936bcc5b2949455ea2","signature":"e0bce418703b51550dcc526d793431809b0b4e2ca958064159bbc1d303528b6a"},{"version":"5ac174bead3eb730d717772c56bdd24f41e25c57830e9a8a3ee1a8b2a46ad015","signature":"10bf30f7a07d4a9f7224ec5508876b89f00d70a02172f900eb2380bb29dcc961"},{"version":"035b7153e06b2b4c52ad2b255a5cc4bdb1fb1056e494876685f5ff0a57df8c3e","signature":"2acc81f9caa252a105130201dc8526fb9c8b9901fdf5649bb3c44aeff7336bc8"},{"version":"831062d30eac46e107276a2e736e3868bd989e62306d32285c0413a5d922e7eb","signature":"e9fb7521c34cc0ec28fb72cd38d1efea3a874ebbf2bfc0c065285d92da3e0a15"},"23e9a7a15868cee5fcbf8dec2840e93630e032af63ff96ca8ca5a4c745abbe39",{"version":"2cc81c860670a11e1a25f9d5e44650714ec63d26c7cee51d6d4b3275391a8382","signature":"1d5081c001f515cc655cc649f04e6ca124fb2bf77bdb02358189c92772b0933c"},{"version":"72867e8ca08bc76ad30a6850dd8dfb611203349ffe24378930f6068a9beb7c2c","signature":"440c08f1235de7c9926a411a4fcc53914b82a369e74dbd5f0cc33b7bf0fa2fa4"},"94a30709defee13fa4e1b80e3db63a476c8a9968d4b26bd68156b286a343904d","3078f172a0acbe7b9534833856d733440687c25046e14e300b422d65814a7cdd","8f67a6d8c9df10c5b7baa84dd6d5f0c4b685892ea8d9ac9405914595c0251cd8","088eb9c8f789033ce59f2105f57771ab57c25d886ea0c0d13da1609d1af3fbf7","1db886a73776ae3ad7d11bfc6400e8b24642e6af786feaa3cc98979aa1cffaa3",{"version":"1e4a90fd19e452640249de20ed25ed309c68ad24e9c764b07f4f0e12b1aba5a5","signature":"b4fe2331e3c3d9f7eb97d5ee10e8d1da55cd59cab390bf7578942a0e4a4414d9","affectsGlobalScope":true},{"version":"3606f41ce41780e20b1af5649ec49aff125bde757c22e4d341743c62fb1dc162","signature":"c9b605d5a55ace4e5d9d9c28f26e86388f5a1263932b8fbe6975b11ce0c4ddd4"},{"version":"50f76eb608f44838068e92a3e567c04d31cf0fe3d9aa6bbd03c2e24f478ed268","signature":"7c69533de2351dcb47ce96d6f961c217d7ab04d49cdc77c63a26d7fa2c6069cd"},{"version":"85b34a2e768240999ae123748f53dd70aea5d69795d8cf4031e86160a96d4d99","signature":"2618faf2273008ce0866bcca6f8ad2741c642748c36ec7e4639597f76e86cb48"},{"version":"9f7d3d3068e381b13b211e8f687fd8873cbd603c17ec92520748ef05fd0b23e2","signature":"47327afd9397ee54cf86a2317a9685b9e1bb6c25a3c270e0773daa3ed00017c4"},{"version":"924d04d320d48cf06625554a354d0141e2611ef2aa7fb3c29f878b790145dc2d","signature":"cd5b91b028078d65c7a670a15ef31e26deed5611139252693562606a494ccd65"},{"version":"516f3866f1be30c45f23941b959f2e7eb31653f1dbd08119e7fc16a5564affbf","signature":"5d5e2986e50020b728e49f3a48368f42d515de4c578f45e4cd85b2cc91cf8311"},{"version":"ee1c9fe30911ca12b30d2c2594cd0cc58959c9a7e55d2139d361cb2d4b1b7219","signature":"570c770cec6e0db7106e13f6a614e7d1ff080a1eb3fd9555f48870596b648b57"},{"version":"518cc5e0bcb3c472ee601bf172b3bcc35a217fdaef4076f9ee6e4ab43cafb6c9","signature":"d267254d65a068de23b9c65429e2335841baf6342863338f0988edd6b3c56a1d"},{"version":"6ba1841d9768db0ceddbe13ae5fc2a14f223990e3b78df0efce8bbbf6ede8924","signature":"b7ec7769c9f525534dacf1da4060d564e272cfeddc21ea565e93853db300ea2c"},{"version":"c47aff7a5c1c6cd9a70041fc4c5ec8bda0cc33c53482ed7493d109d4c0660fc0","signature":"9d6613d45047a004d3125f0257bdcc2869132e928150d533f2f3e1037fc24395"},{"version":"8278ccb61a45f0b040f942af5eadc7e6ae738eab1cbc775a22f2b8716c2ffc34","signature":"caf74f48ebccd0fad863c3f9e9d13f529907188c61994f8312aff33c834c5d73"},"f57fab1742896a28beefed5e2aade73d2c024415254505b1c1ad8bb1cf0574a7",{"version":"ae348eca29287934753bb65528d14f8263b9be9363290c800c4c8149325e7cf8","signature":"314db3d5fffddd54295ac028ce530f42ad47af26c66e44c28a8dd2b6f345e7fd"},"5639e4af912999f9bc775e6485fe16c1594957bb1c674061b883e8cea07424a6","a103c5a02290739d31b62ccfc6c12b338a2da042aba993ea9911e30f1cd897b0",{"version":"b1fde087e7bd3ed2e17153f896961e953d254ad14e95e4dd7de8b8becf85f9e6","signature":"3fb75c5c730c0a112e8d997a5cc971e88c11519b0508d6a9e6bc604ea6262ea1"},{"version":"ebcb5674f02cafc3c123b419cd937b64f13ae5a1c74beef9dc1d6ab8abd62eb4","signature":"3931cdf59fcf31287e7a5e8bb926b59de650245be76f9b5915f969f0113db79e"},"2ef6c4a7fc675f75d35b944ac35fa54d9371e30d84f35b34c26c2698638eb150","d3d4d97048d847b4b516c53a6952b018f414dc5ee2e99332686fdd81d26c79c5","e88ac2a8e9498d81ce4a890afe13fa13f98abef3b1468d4197e59a91f984dbaa","f8a5876eac42a90e44a454548bd825ec09ba02b3b80a808316e584790b2ffe9b",{"version":"977e6381f5849c9826f2f99b60ced61e69475c6f74bb7ad5393a6a3dc4fbc5d1","signature":"9cc71bc66142b36e32cebef9d5ca8552a82e5793de8e4f210bde9cc974d6cd5b"},{"version":"b0033f9eefb0baf5dbc858b8048af818cdba298028939af87d5b81fca0319fe0","signature":"405db36e85dfa4263faed723e699f581954d62ee93d9bf89f930ba64d3dd4871"},{"version":"6637264d27e7ac005b6f4f5e87c97eb2f567b6b2944344138a4dc62d630959d1","signature":"a2b4221fbd96fbe9ea79d5c841fd46f89e48b0da6d3ff8eab7401c188c9fc4f1"},"d6e6e2c9521c16a6608f9bc3c6e763debf22b91abfca236d082a77bee4ee1c89","a27693132fa1c1a39373cc82b7c16c6c91cdc6061f9bc196dd49015a526e74d1","fceab329dc8cdf94f35628d3eb3b151b5756f6ca71e489da9865c6d2d91e204c","af3fd264fec0b39d30bf444addd3f6494e4e050d27215e8f1719f5fabcbc006e",{"version":"8da74fb7999512feae7a8e07031a698bbafd64480a8ef3b8141d216bd56ba101","signature":"a825e8126058fb859714d24493c200d28317ac5b9492c24d60f8308da6df04a6"},{"version":"2423dfdd93dafaf91ae16c60f9169b0a6f0dca601b1e11c2c094d8a6094f4fac","signature":"1d580ff6f5d46a4e010cd94bfc6aa9bd80c9a1d9743b6a966884fd81a95e7e99"},{"version":"774d586d74ddace30588446a744ac63fc496f5c31ed69447264288931937b70c","signature":"4f65846a90b490f85e45976646b108b0883676d77dede937877f889accdc3d5a"},{"version":"42c05b5a162bb19dda8fd79b7b32d020f2b5cd7f7027122dcefd09cff6b9f046","signature":"07a7627f719cd3b6cd24ef576a2a36c01714788951092fa76fd197dc3029d573"},"92872a421eb53c6f754addf5ae3a9819e95e4b7fe76d768466fdb8268ab877aa",{"version":"4592a5978622ac9c71a8241a73f910c15846e6f9fdd6eed93c3892279c3beee0","signature":"8e4f450bfa854cfe18d043cc0b71f4c94f3c86c5062bb30aea96c03e879d14b2"},{"version":"6b183b402591930341533d6f3485c7e44ceba37297cb5e5e8c23e5bb18ddfdfb","signature":"bccbd729c57ca4567f2523ea282ddef82107f1efb1a6a14a696d71d52ec973fb"},{"version":"c63c2e7a0facd58fdd70cdba447ac2c1f6e942bab4ad1b63f85dc6af1c3c57e3","signature":"8dce511e3fc725b919268d3175bc1e2298d2e9fa82bb1baeb41a0f984f6e3939"},"7b8d800b870fcdcccd0adb2363194d54a889dd4f1e4ab10eb4e41f27eb7f0035","9acc1dfccd0b35d36e8d132998ae609181083337e9a873c0e32aabe78bbbacdf",{"version":"12c176c13679bbd7ed7f014d76f6f096ace9e627544aaccb70efd28e478e5eef","signature":"94756a69c7350679d78141397f077c1038172306e7141621290701655dd27a3c"},{"version":"18671f6c520e9ae73c6bd89d514412424e23d3399a3d65f5117569b494f955d9","signature":"5a436f5eb06245f7b8ba259964b9e1a32c0909dd6942c16960a0ff1903a83218"},"332d70518af780bb172ef3ed1e5245f83064e2f3b275cf4b538eb0cc6c282836","d06ec51526318d13c1b9a82c93576da74eff087f47d5dc70022a95d0ae726277","f9740688b8b43e605d4f754dcfc84b6103663672456578b9555f4cbe584e20ea","bb7d948b7602afae4f4dba17cf1536a7f1364a06a15457ecf20479f28df4c02f",{"version":"2ebedc3691d9375cc7188511eaf60a01dbaa1f769d72e3fdd6809dc3bec3bfdc","signature":"038dc4cb52e78e0d824db25df0ce0ba2c6569626ce4f2e163d69eafdf62eb1a5"},{"version":"2d98307a56bb5ddacf3fc8d3f1e311b565495cea0f5cd3f4c6a1b51661119350","signature":"917bd78df18d49a0525a73cfb8cbf6e0f48f1f810beb040bc9e424cc6b2a69be"},{"version":"8fe1309e3b0d064e9bdc18bafb65bbafc19f2fe730f9a976400a8893dbdd7803","signature":"08c6b2f18d61be63c7cf26274be6d2f39da176f2656d0fe9d93c83f119c11a23"},{"version":"af90c9ace1cb6af0e7733b8c9267f66b495a296748a6623bcb55116ff9b8c60d","signature":"dfe1746eed3199b7198f90a330e6a9d7a39e0f32ca52fcf7dc69d5fdc29f6806"},{"version":"f2f321e35ab2a9b9207039a9a01104c7e851fb84e8b3268bff19529030b5698e","signature":"1c17d366bc38ebfa4379ccec96186084d08b8a2918f6a1f5d9d9ab3aa11ce8d8"},{"version":"3d21957b8a97e2cb86e81224f792159b3f1cfa6388ebe02f9b19b4ae2f58a07a","signature":"b5bd9ef8ecd7a2928d8f769bc97b4e969c3bdba13dcd90a85a22d4a32c04ae38"},{"version":"8026a354df2393b2ba110fa08672181ab1d82e52a7efb2df9fc892a9dcd05a73","signature":"507ed41b8ae3e9d0626ef4f6245bafd193181af5d35a86114c86d602384d1de0"},{"version":"fd77a6bfe071c353ca854c8de8ff4d3eadd767eac442e2acd36f60db5ada3634","signature":"bcb08eeed1b078b913c3641e054099cad1d3aab18574639c5d2fd6e0bd1315d2"},{"version":"a997b6ff41865cb9b2cf2fc9b79626f55055862b034db5dfed2359a4f86630e2","signature":"db648b9ec3411fde9f423c021155a6e04ea49b2523ef3de334f584adfb0c4fb7"},{"version":"5a9865caceb1cebcfe55e15b1f93974fc4590fa6dc68cd12a1879410b4a017db","signature":"cc4e28b3a3b367d6387ad6e8cdef7d19c00d9b9b1090bd5257278e8a08522635"},{"version":"ff4faddc93a844492e02097b95efe32b156f66a53acfe33f22981ba256d5f26d","signature":"761cd76691658c1771994f90041d1b5bff2e3130c2a90439a4d871f6e9e94527"},{"version":"78105719635b2e5c25b29b2646861b37a3aedbbbc143e7568d15a94151349a8e","signature":"4fd7830773b159f4c7a23b749d86e9ad826ec2f766086151e1ed77f217355d0d"},{"version":"34a747351f0be8c68e2131afd880e2b7710611275a9ed0877763511d1b483ef8","signature":"12abe5c726bcc814a8ceb2d10e8d5fa18c23b706b18e427213c205a3ab473a94"},{"version":"2701c811035dd9a0772b8c62d69c09f1e8dbbb53ccd90a1fa3d74cb21a50bf38","signature":"57c477738f80fec1bc9a8ce9740f2bedb9ee092570502af605a7c43942454e59"},{"version":"05d78286952daa86a448b5ff9d99b0bfc012ba0460f3f3c3261d631978db9905","signature":"79984e616df80d341f65d2f7ec2318b09974ea3fead5e10927ec370cb6df21ee"},{"version":"bb21f9c10ce7f5142c4e90016b49236e40049c078ff02617c395577f60b15d71","signature":"933d0376d68888aff966179d4f8a6f1b62ae856849b76ebf6c5d0412e0b5f46a"},{"version":"20df82aa3682c5b564e8c3c9772d4f3675c1656fbd56f03372454b8063800feb","signature":"23ad5e8a3f673710de0e6989cd52c87e9537da6fb43ccdb168ebd9b86ac8493e"},"e6d7176222a007b1e04074018196396c56f06e1ca62e70a7af72d43cecde3a53",{"version":"ed8a37256843a2c05c21682916a8e6e59ac9ab79eb6eab75d5249bda46a81bff","signature":"a517dd51f66abf88cd440f87c44f9be5449dc052527b74fb82d0c974f9b31784"},{"version":"1fece898234629bc6151cdb3db61bf517ae38aa5b55a28ebfa951ed911047b50","signature":"0d11ec476ce6b22f9775ac57973b46953bacdb84d7a4988a71a04ad84954f35c"},{"version":"e25049d6e7a8b3a667217d1e9616f98f5312b7b3919865d56510977fe87a16de","signature":"2be33a36bd2cc1e872011176272904e5661d3c1443fdadeea8a8d663bd1bb390"},{"version":"50705bc382c3c7da4f22eba69e9fda50c26ec43366ddc8144400a4839d075f9a","signature":"4c93df3818cdca080e5c6062a8e84785216697c8b2d1b5e7e8749962053f1ac9"},{"version":"ded1aba68a3fe4fdcdba337780c0314dbebf6983c904a0a8624e4a4dac0ce68d","signature":"8683f55369c0872a563b5221452e725df1f9db546af3148058bd694a19d7260e"},{"version":"3466c61898bcf9cd0dcb78ad99cea1759012eb5e921ab3ae7a21d1a048c9413c","signature":"a6fec6bc505eab3e3fb006ce55a65120003e9b7cd840b4843f7684a4ec19b55e"},{"version":"c912cb035d9504aae9bbebc06073dd905a189150de21731a069881b1453ee7f1","signature":"b3d40b7a516edc48fa01eae34b0fe392dc023252a3f6fe2bc01a50caabdceab9"},"6fd3801493a58527b63c722e5a0055f13b2c5da1c0d519336cadc2870c50e92c","65404308be5394c6da4366b594ded1998c53be66bb0c2ec5a51bcbf8a4f5e78e",{"version":"e9d7ee9eea2459ac27738c7b4ee38ab8b4eed5ea71ab2b8d4508d56efc4ce50c","signature":"3b16a8989321d5e0e23ece47bacf416e4096b4d087beffef2051f79a396355e4"},{"version":"b29b2bc1baa68739e31ff9bc8e0140a6dc25fb607bac114aa89849a38ca0e8a2","signature":"fe59de708eb731ef4879656e8bd768728bcfc2427dad27274972074d4a83beec"},{"version":"96bc7330cd09ae8e952087169cd40573bb17e816dbfd0f15f9d72c453ab04cf7","signature":"320ff1f845223d5f0810dac313ee8e7ed643da34eddb7d3e3a989e73574c3826"},{"version":"bcd1390e35a8b9a370dac90e6235aace9693cc5db70116e34eb6537c819902b9","signature":"19753691c63a15d0e5e793dbb41e96c881e15cff912cba054542be0324696458"},{"version":"f8fc11ae072bf2742573b1ad096f564c973f58d2fb4de686f147d067dbad9fe1","signature":"ee8f13e3f7e8c7ee8b38b254edd1455b1b9f50d27f9f702166ffc79b01590d4e"},{"version":"addc78a9f46300147d86ac954d88bdb53ab1805ac136877c016e255fdcb8fe52","signature":"49baa354dea7b01a26eea9be1d64f4ef312fb66cefbc03467a2082c6a9870f04"},{"version":"0ca82b8d984d583dda6689d037ea75f1781e1fb67deba2475041d2e4be1c59f9","signature":"df49409ac1685158a79b35ce5ae8a4fe48722bcb7b6891c14646f0922a856b97"},{"version":"46090ce9c355a7b43a8c4dc07d94b330cb0938c1e6e002817aa127111c25d395","signature":"41177be87b9602ba6dae0c95c7274c10618770efbc6d362dda82e16ca0c50382"},{"version":"9d5e4c9c30203d1bb06ebf38b86ddc24517c15caa027eea69ce241f3904e975c","signature":"106abfd000d6103b89247640170ae23690ee2420057f69636edfd027551ac792"},{"version":"e4181798ba26217504af89bd22d73a5e34140f94993c724f4243d64a1b84b911","signature":"4e9bb7eda2d6c8e291ed43cc657a1fcc60371c3b865b2bbf47d0728828bffd84"},{"version":"89c9b81704acc3ff3f39b3aaf3fc769d57b9c1694adaee7220f0bcfc5e2f2954","signature":"ad81f8948589d9b435b27a9369a9a8c03d3e1bc919921a7c076b82591244946c"},{"version":"27641f5606363eff1106bd9d484fbf54347975e309500faf369cc55644d65b56","signature":"8c9bd0fcbfeb1753fb5c6e3a43f597b71a07b578b4d132b3f18ccb2a49b71495"},{"version":"ddf6f5d8cf208a75b811f2b9a7be93f4c761e91d83d2a557159b43c82f1d05a3","signature":"c677ac0acf1340ba381fcaf6733608d52975456f2cfe194fb07e4518d4e4c27d"},{"version":"3db9505499c07a6a95bf52e47f3e5f7aab873e1b24a94e775be58ea3f426ac4f","signature":"d3cf482634689014b34eac6daad7dcdadb6d2f1604bdf57977e0c1e8eff686fb"},"4ed333d57ff8b6bea0c2e87225b2632087ef8fd6a3d2381dc67990c8d035f987",{"version":"94da258f0b69b21f905e537c953a3a0b7effd4a61f3e9890b55fc01d4ba0c64c","signature":"a42ad046657368e34410b3cd44e1a2f966c1cc141cdf79032c1ef0b2b89192cd"},{"version":"4416790b4bd5dc60faba074c5ab9584f24c88e1cad49100f117809d8c513d5d9","signature":"21aeba1bb953320c300cc48b62e936574b6213f72f1c73376a08341bfa2bda2b"},{"version":"65105d9834e3cb4ee24f8d23156cfe1b846cdb212d1ad81215f7dbd97f3dc103","signature":"594dd2b99451d70d54d49294a0d05cde72020c4b4e47bd5730da677eb08bd6c1"},{"version":"aad87cb3b6461b726935261ddf9e6cdcf8f4b9e7021584d41731166f32c11a38","signature":"d8f73d2c79187b6699222c9393e9fc41c95b21e290f2bf2b241c633a005b9403"},{"version":"be7c9ef4984d311de7b614f3e9d9eb174c069038e5fd55492af386b0ada7a80e","signature":"05797da51f825350691bc0b1136314fbb67f78ee5cedaa4ad01ee7f527492672"},{"version":"7ce018e202456f471cf411abd2dead754c478c0cbf78c462bf180041079a2a0d","signature":"a850507c9d6ef0747c366652337c35b1a4f98363e1290f1f4096c851626bc9da"},"b1591c6f291da1a1d7e1cc5fa57fc0d4c85dc9189110d9c1b7828c475dba1933",{"version":"e3ac43c23c412e0069421d180be7bb62e906d7b8feb4a22ef89ed8584b27027c","signature":"1ea080724e918747afb1de2625ad1b4fa0b8d32eb8e7879d351166f0b2a14edf"},{"version":"32780ecfc010e46e844d29e3fac6565b6c7ac01f183ef48fd6c7b6d48527c101","signature":"4301613f5a5d65ddecb2f3ad6a2591f3fdfc8f9dc0f80679ec7f4b051793bba0"},{"version":"28524d6f59fa6912523b299f748abfb6765e1242947e708007ba0efde9e92553","signature":"93a8dd71e3dd0a32fa0672f38d47c642b5f7b903deadc0100d16c53ee46656b6"},{"version":"180c48987d5bda19e1077ad0f6f064380c81452b2170ef16a489552858e90b14","signature":"d18bcc4fd4c9ea04c0ef5a27288b841bb5be0551bd661cd1feba762f276de6e9","affectsGlobalScope":true},"657a48cc2fb0b25e6dd9884fa1a807c894f42c8dd4741c8687ae40571d5fbb32",{"version":"f2449cf43180fc18240f51f0f520a90ea978b0bbf12fefff027958e88d8a51ee","signature":"13aff7000e6383ed5c02c3f46fb54dd15950d1691e1dd6018dcdea3ad5e3cb6b"},{"version":"e4cc071d25a1579b2ffc306e25001f7d34fe25d0cf782d359fe1d2a7edcfe2ac","signature":"7082e479404c6f8125885ce924c09fec1a3ac6e37785d9ee7ae13c5b2a41f155"},"82774b9aa90fb12af4d64f7dc56fc32e637357bb4539cc20cd80cfd2e3a6cc42",{"version":"f835585a64b0aa1193d7ac2b8192147c6e1c0133166cfff99f10e91ccb0dd999","signature":"f7829bb1b2554ba595637d94f9d9f2edc642794a603416fba571864c568ee4df"},{"version":"743225e8d6195dc4de03ec194f5802120b3e46dfa0a8f48f8f823c8338ff9cd3","signature":"d01a4fbf118c7d8b26a3d234aee7e191fc404108a9ae0a6dd1486f4a9ba18875"},{"version":"6893d2c7d35176765d2fcd6245e5701383ce113019fb55986bc1e711c0bd6c1b","signature":"8c5f8e0c08cca12465c3b4cc41d79b324158aec5cd60f5186ddbacaec8971230"},"f301739721d050f29a84d549e310e42afbe74081344980b8a1800ca9476162bf",{"version":"669e854108126d21b42e82eba1491ead7a1a603348d2dc2e0e5c2d7d093d6617","signature":"53750618554972cd258a0778fa74b8d8bf9500fab2a37f1fc5e9949c6adb134c"},{"version":"0c4f67ad7a5fb2d0131b4d107a692386688e721b02c2ef65b9b1ecdf8161402c","signature":"477379a5cf35844f64189f05e863547264bde7c86d928c370c8ebc204132187c"},"ee0b61842b96bff58ea91218a156312da366c7ebbe5044581217993474852a36",{"version":"df55c0a788619ea883bff49d77b617a6493c62e33218905bd9c3d54794562357","signature":"866d2b44f0da6862470305e81046aa6e7149a58dc19b03526f494a03f7a1a00d"},{"version":"0fc07adb0086e8e8feb2a5a716e50ee0d9c4541c35b3e843fe37f5368f2edc03","signature":"7d5af243485a9e6328564a74eb23482d3c876a3c4cc888e0aaef1a4740ba205a"},{"version":"cceb0eade9c8ca70d6472cc0408f35bc79408285b3c4122f5649b1a76707066b","signature":"6dd50d5d3e9baf88c04c4d718c0d44cd8fbdca4ffabc3f3762cab7ccd34de210"},"a5037ce6e0644ff3f4968f0ecf4be1b3c78a9b1dd62f30d4e701cde4c7b5ea9f",{"version":"c1cc5826c1f71f931e94e34dc56f0de322b7e828ce0a2ea9dc9e65ef4d805efb","signature":"d099c86e4fcfa677b2fc45ef0d7a95e8fcbff4ce131f6ae5ea430224a16b03e9"},{"version":"08dfda58011a22121283fd9097377aa07f76be2e050c4ff455e8c67aef1c62f1","signature":"eed751dcf7d7a55eae98bcd10dd1634e42fdcb165f0e4dc1b493afe321d64097"},{"version":"165bdae8db3f9ebb2a214a9bae1957c73fc9d77bcf57346a8cc4b455154064a1","signature":"1ca9d4a75a87baf939b6a479b7bcd5a2792bc87875c52fc34e20889997436635"},{"version":"785ee36dd87f0c336aa5173f02a39ac2cc74b56df8939be9204c5979624926b0","signature":"93b8cea3a71d6ad754b44e599c3cb669ef181a37af871c206bab078ae4918ebf"},{"version":"9d44159939ba8ef032edca94b4ad3b14067adffffe5eb1ba35f5a8b63cd41aea","signature":"57270b3a6028d695eb8047f0283e0f40624d69b2eda03ceb72e9b2159cd30cdf"},{"version":"763b9b49066c955aee144264afdceacf143d825eaa01e68bd115234782e10eac","signature":"167158b086edb05e178474ed0c38aa5a8e34ecac83ebd9842df6867e336ee435"},{"version":"8b6e91a733879f3687ba03eafe9bac489dae55a1976e39ca54f0564eaaeb5552","signature":"39bb3e09f7152e59a218f8eac2260483ead0e0436e3499dfd79cf4936a2cbdda"},"daa11741aecc1d837664b378514257edd7e17daf173739a01bec28b72d1bfd7f","bda846c239368e8c7a449bbe9ae26906c2e03a991c119e3d9f7114b0db69bb8e",{"version":"718614c896013294fa0de7a3605d799444911af7e134333a9eaaba90c9f0ff80","signature":"3752d2edab77bd1c396b9c9ed6ac520b30b4c582598df4c6652cfda986c8201d"},{"version":"728ddd70e43de10345f9004c7f8ad9d30dcc59f5b29ca3a22963ad4125f27112","signature":"c64c162dac61a7aad0ff3fe139dba8b07f2196e3272d24b93b61a85ac99e776e"},{"version":"ae36e28325da2d1c03ef0895de7329449aa6614a7d37314fbd6026d56155a1a5","signature":"1e5d7ae425d6e9fecb2e750938f49f95bc05924262f444b3224a18c732e5ac1f"},{"version":"0e1c77021e928913e5d7de9f7c502bcb1fc592141e36329d0b329334444ea1ea","signature":"46199839734edf0e39717e53717ceed73f97599fde0d5415a515e3f877a0b9c5"},{"version":"4a83c91c55456a5e167c4bc5c015a2107bedcac6f2a6f449744fa301bc16a419","signature":"0154f9a1cf9a1992fb0d165ed4575f36b444276e018a773beb9d93462cfa494c"},{"version":"b4d732e8f0d1f0d52c00161ba2a743df7dca8be79799305a0d12f6d623c62752","signature":"88abd4fa21a51b946f7fc1369ccf22f8f7e1d80453ada7c59ecd9af7371c5ece"},{"version":"60e3b8f209674bdb7911238eb16834b780d1654ca8ed37a58e811027b46793df","signature":"828c6de9c72007a3089ff9b9dec59177e5c5c7014015d081eeff2f33a79678b1"},{"version":"d96c6a9aeec0d005b00fe68fd1f8f12e443c4cc59c0bcfeb4010df0929c80308","signature":"7885f4d59307c95ae739d80e01a399a3cc218c5cfb1e05a9da50560c351ba1f6"},"c0d15854bd743e8219db33c5fd756d6d01aaf8388a9ff8e345e98c4f0557f255",{"version":"53a9f38ead58912e453de10f7a4ad659b4a40d37e2a4d2806858c806001e1d41","signature":"e00ebde1a5c4740cab02ea2be813a15068067b87b33bb00a51e67cd9fb64bcac"},{"version":"0ef8f7309b84fae6d8146a0bb9d7df7edcea12b3e6160ca4dca56b7f6f274a02","signature":"7bfbc92f28d05fbfcc3beffa5a44b6cdbca038c0b8c879b094073d2e605a4537"},{"version":"959e1234539135a97560befaf35575488ae35075c0599961ea2084ace1ea718c","signature":"5eebb468f3bad3b1849e3e29594ef2b3d4b8c03d163ffbdab63e2f0f912335d6"},"3f9653aa367daef33499b26ae5055e6e5fc4d097b63502b324ca5e0f8d52c15a","2c146dcabf7d7b456fe95feeeee4c27a0516512121707e2bd9fac59dc34ecc8a","9aee79c055b4423f7cb5c745c9b0041bd16e5e6a5be9426f634078aeb07f145c",{"version":"a5900c1098c16f18478899b08797e3534c99c706fa29f833eb3adac156086913","signature":"d286da1bf2a8746e62cba92d6519be2d7613eaf851b34ec7d59237aa0dc2016a"},"deac79a2b93daceadb5ceb974e02de70cfab540cdb8261c9aa22cf2ea4d236a1",{"version":"2561becfac266752fdc1b8d05a458df7d1ac57f1239f7e9b8323df12dbdea852","signature":"df0c10b82869089b5e451e7b38f75782ce64f635d12786b1259f8979273a8f90"},{"version":"3b4ac29151ef77e075662f143ea8c82efec626d835f0011e5439509e3e61122e","signature":"9d782638e5eb22f3a4389b2287c510ed5e2ae5e9b21d21d52abda8c8242c9fac"},{"version":"583ca9cefb4e071505ba45d4ddb591e9b4b61605e13bd8df660b2349e1a90f70","signature":"7e230fe6ac5e993594f894edb335b3505c612122274f82a329c805a3a5d99e62"},"538b266b2f094c01a6c3ae3927db50231d23e8ae0be14c2eec5c4d94ca5c5d75","9803c2fce9ba14727526fce8e0135b439c0df9e7af6837cb0c6167356df16c8b","ac3e83486eeeebef796dd7ec2ef4353d3d024ceda78ce2fd8eb68ce6b8c0c542","1b20036b1b11bbda138c7c5a17233783e8a758708201e1601ae724adc9aa1296",{"version":"dd93c70742aa455b9d9fdac14d2e45e52c107f4bd46ff68e54d2ab00c5b5b208","signature":"fb3a16b0bc67492104798914175e95de475c6b7285da56ce811f1963d6b37864"},{"version":"7e0e5a8e7124613f812b78298bc5b1365a5f8c1571cf4e4fc67742ef3f7678f3","signature":"e6588912c51f370e10b393465c6a61a05c1f4265e545c34782072eb9039dc97a"},{"version":"e2369f46bdad851a0be9aafcb6bb59a95fc542c9c3361b12915d92b221296ef5","signature":"6c5acc5707b51209bf9594baed0a41c5a399659bf7e33df43355d2bd4cbc5558"},{"version":"e7e67b217b8af5b9d4818f1b067b831cb97105d21b30605c0ffbf9e44fd40d04","signature":"96d559cba68cd375b8f33d7d99159ab739b793e371b89a475594533d81d0a274"},{"version":"dbbc73010b0c54cdabd547ec196ad7a0e6f8ce7935f76072072411fbfd31d651","signature":"8c537215b75564a44f03431979535c0201dfb4b79ce3c561f8f6144984d1173c"},"224e40202b9e0ca82599a10bc992500d0ed1c06228ee3d1587cc5edbe68983d2","17b05c5486114937ec69df6033b4c6a77db91e91e41bbfbdae14ea3f65a0bc9d","d9ae07ee0aed0711ee1a98f902c1f24171e5c6d6b4f8097667bc4c030bcfd43d",{"version":"23eb01d92413e643b5037b2572617c338537a1796577bc04e7983691db75cc40","signature":"3de6f77eda4a3db3fbf2162d69f965e233bba2110d7ff044709c4830276c02a8"},"f3e92df35454aaa1cb69294c53525649d64bf4b8ae3de7fa9baee5e373826911","b846cd3187f4fa92574194a6887d34b3e765c45165bdae0b6e5b3b99bd56a4ae",{"version":"47bd2d8007b3e2fa0c28a6ba4b702c10929265dec691c0ff77f16e6f6fe2f000","signature":"e128920048a26d9babf545f1ac8a13de8b1ec95139e785d575e17fdd198df57f"},{"version":"ef043880f17695ae530d723e7059241016bab15e6857a19e6e8e55c6bf7d19e3","signature":"17927d79ec4e7f35bede69933657a50934d2b1d63b0dcf2f63794cd506632aa4"},{"version":"0fb0b0064d25590a79d15dbd91345fed84fc5b9c1dde02494c3d847ba494e043","signature":"38425c00861f2ed7634258d82a13499be0dbbd41011698b6411dd2b795cfe9cc"},{"version":"76e5f0cc7ad873f950dd52b30e6c6c207dc2830e3041db6a05533128ad8e0122","signature":"c1ded715aab735024d3ff042451bd4c2f03af234fc66e3305ada29e00f14b1d9"},"abe6cdc42849a9fc5006c52b46e27ff35872865e65e7e1afe430fa30b5642763","9ddc04cedde691844195f90bc6612c817cfaf9ce8f336d6e925a60f1ea007f1a","23b92d25c2280601b1e6a9136bf093352e486154840e6ceadd479d582ab7f18d","f64305e22ac57ed5fb2aa957d178968df1ef210cb48c794ab7f04d35f1a8bdd8","b27787ca848062323ab270425b7b390c69e67dedbf0c38f3a9f829d299dbc37d",{"version":"0ad0c8074cc66de55b0876142474fec6c2da05b148540560a33498dfab4889a2","signature":"8ce11afaad39ff4015d5b72b25d12e70849fee40b3863ebd47f12d6033469ce0"},"fe2127682035c2711ebdb2c2b2af1b4bfe30d880e279d0cd73bacb9c47e83662",{"version":"600a1ae14bc14d8cf0b86938ae523ded1c10f727829082266bc20716d4a27a22","signature":"968aa9bf7c8f47d252f705175f4ad2b94f890c66339f5d3880e3476baf3e7d8a"},"624b33913c18e5c99bb50163eee867ea1e62cd4c1088ecaa87a8b206b913785e",{"version":"7d7a953d1715d281e25e11eb1ad36ff6b0f5be16a10dc6cba41afc6010b0d673","signature":"298d3e2306beeb9f7f3886a980ba0c109ea8b84abb0cb6fe6aa5a427e0efa9e8"},{"version":"c80d697973fa6b228d73f4d3ebe6e69c22d802968bfae1622e6070e06ae48a64","signature":"ab1bb044fb0a26976b1bf7445812f94d9f241459142f7ab696396729fcdbbec4"},{"version":"5532349df1c73dc07484dab4d0951c2f21473e8cc65f9235bb50357ab766457a","signature":"4d14fd3ca580d6b75ff68d055bd459b77354cb9c32f9396a536d7ce19f4260b9"},{"version":"1e1ab0de9bc7b991958b6fa18dcc2282472884c3caadea1ead5c71f484ff079f","signature":"1313147a5d68859b27b47580f819e5bd0ceb9faf3a0c8b5a1688da530f506aa6"},{"version":"e04c3c1ca7c02065079d8421b787b8b301750fd8a427ee45e7466b744b4e92e8","signature":"00a5d6c26d3cc78bc168a6043994edc9fedbf0ca9e5b3c0beb04762f37084eac"},{"version":"5e7c3c3cb5ddd10b0295768124fca237b406e42379a8260894b575e25ff5c28e","signature":"ea424704b2f723cd9e11f72ca90dc2be6f67a1b81beb27004023e24c085ee095"},{"version":"634c6614e17b81d8012edf7bc517c9011a1f878e4f8e1ff32b9d7ec2cf104c01","signature":"ff92551e02d26b6c9460f40887176214dc8688a82aa9733dc72343636ee43016"},{"version":"4b2564a87a1bcbf798a5b63793a08b5afe9680ab96ab6a914e3408b3c2ff0aae","signature":"83f629147155e273e1e7c60f48c3c14456eeee440c7e22f29878d265c2822bd5"},{"version":"5d25d19566be288a3c975855548f91840f12695ebda4bf6bb8b4f2dc1894e8ab","signature":"138aa942a38403c1c39a4089f76ce8d74b553c7dcf89b8b3fb4856f515bf46dd"},{"version":"ff4060ab37f554e80711d11706cbdceb3e07b3d0e6c944a085a5d66e3ffdbec6","signature":"f1527646c02e95abef7faa2df76ef2fe78dbb63bd0e7b07e8d00ae279527e4ec"},{"version":"737cdc2213183d18a22c019a40d812848f4e3d268f790da2e4e4bf3be1c4b632","signature":"e4804483dbff1d0dec0b8050e399bdb8d2512d97a7c9319a11cd87366b309f5e"},{"version":"0fa3c6d821a4589c1c47cc66e8473233bf7733262bb594cd390887974185349a","signature":"0980d32396b46bab60380d106a59fbbbbe7f3ab24f5609b59806ed6544ebfe38"},{"version":"96bf849ddaca3e9364ca8684f614dc38ecc4b7a704de65b674a03e6525dc1867","signature":"4e2c5d7f734294f3f0c35070879a96de86032b1b4cc5aaeb436a3ebe1993e261"},{"version":"4f4ccf338caf93cefbb182f63f00b6925632640c17c11a9b2aef7a13255960ce","signature":"7b2c66e4419c229fb05d241345a53fe18393d5b4eeafafea1ecea1a620433be0"},{"version":"c31a932f2822a98a59c9c889bd8d32e9729b492d1eb94b9b3835073ac5e4a602","signature":"9655b94234e1f65b65ae3b72093d464327f655bcd0e5c70215e2eb1cfa46832f"},{"version":"27d9403f2e8d487926fa61e374edd0750ed86367b8515a76238a6eaa7e7f8c08","signature":"fe42c94af59e5f2ecc0f3178ec0339cbc7ebef502e5055df494b79660685e43b"},{"version":"91dc8598533149bf752a57e7a9a8edb18a57866c66689bb6cde9214ebf823ff9","signature":"88cf76589b4e88694883735a725b16efe497b013e0b73f34d3641e46e4c2e503"},{"version":"73191059c737bde0ffef1fd0cb046932af6133136297bdb9fe26be4c3e006886","signature":"208eeef787f9038a7a0caeaa5c3128989d814b3900c302a49e6117046e625692"},{"version":"687cdc39b829c0df1d6a6bca9bf55aa8f03f398deed8dcb866eee917a9e37049","signature":"8c31d45801c74757da7b2d63243b36f81b74460e082e3d5bbe666010e97d9d4e"},{"version":"261b7b6b0dd3f6e7a7ce522996f7b9107ef0780693a76776d247e0798c9e0fff","signature":"942918474d5d34ab2da3f3db2f93e939eb4a02f507d0c60386ed4ff31830f58c"},{"version":"283eaacd975126b013f0bef494dbfe647f9484a1ed6422e206f1c7df7e1b9585","signature":"387626bf078b93db53376ce6fca1fa2891546578dff3fea5901b6612d3eb24a2"},{"version":"04828eb6929b32edb3277cc4eeb861df4de8ef3941c3cd185b04f048719d6243","signature":"b746ab85c941658fc16bd613c67c7674fb8b37fe1c938d4e49c079bb3ee7e404"},{"version":"52bc4e661c93cea47f698b9aa50197e702ec83c7055f362b44450edbbb27be9f","signature":"ffcf60f1d27122b40917167fa18d30c16da3939bb8dfeff1f7fddd4cac284649"},{"version":"7da46210e2d355b881f98aac40d6857a12889a77021cc30ed56b69d14005637d","signature":"cbacfc80589a49203c58943d032af9344caf83c74f7ab8b4fa38a4be29294a19"},{"version":"d42f44ea036dcdd5770c9e5805d0c0b946cbd8c3232730152aff54b5231857dc","signature":"4651ade16932e48023149580fa56d13bcc06fcc7f8eb0be3a658188f66fca51f"},{"version":"20d4b5159aad7f301845342edae5e1b18d3f1f145c5bfc6743ab9314e4996588","signature":"8a133165c94e27cb8ee36aecec60c20df1033aaf78230d3e1e7a4d22a1e7d0d1"},{"version":"ea66d8892c5690a3c92d691c8f0469a339afcaa5fa844a5b1fdce76274aa6d95","signature":"cd5aaa4f35129276ac904418bf1494b0859af561c428999c0d11db09ed020d16"},{"version":"df17cbf18bde4e128ab7f057a1cff4f0e1cabcbf3b121ccc8f64da196e648fd8","signature":"a96a82d6dc04c14ffe6ddcd363f68d4f10b1822cc09f69b1f9a657f0ee9874bc"},{"version":"851f8f6b020d057f0d63b86bdaec7da3e037a0cf3b772fcf5d3b4ff69a25da2b","signature":"591623d278a80ebe089d99cfc542876428b6bd02a41440ac27e4e1dc211ab1de"},{"version":"a3c7b37e37e82a6c7526a79d4a72eafa05f6a94c617fe59a40e6fdea5d98ec11","signature":"8ca385bf39ae472e4f5f7de0fdc4e770266f87194f2de77f3e19c25ede167788"},{"version":"f1128bcc97945cf11c8352c5575112253fc54e22c94301e000c72525ca7a821b","signature":"30e24b7e264663ef3fed47072d24ab462dabd8aef8dc25b962756b92c54b4539"},{"version":"0e6d1582f5ec9f19c9f6b4fc0d33126c331098f5ceece4305a2a3731a90e812a","signature":"9561e693f194052edbd071dee76e268630c200940db8f41d951f538ae4581922"},{"version":"38f43bfbee770d9efcb68949852454686cd8baafd53b19c3755617b77d446dba","signature":"5da636eae576e1d85a5e790a73244760e3379c20c8fc36fd3dca86954ebe9acb"},{"version":"59d5659df9cda5cc3169fc70296e4f40dd6a1ce33e3c748e9bd513830c44013b","signature":"50c60200afc94455e7d94bafe5b84d26e1218c0c93f706902b1027f45e8f9cb4"},{"version":"5003385fda69ce38bfa9364c5cf15141c79b485bd5ec60f6ba18bf016382b06d","signature":"6abf4c03e0baaffbd57c44aac848579da997ee8df51ba2dd8f9b3155f03f186b"},{"version":"c3c2690273fbecd23ad57e04e6782faa20533be0189dbe3d62e7b5b6b3056098","signature":"af3ce3e4ddb3ff17eb5d736ce1562b57da9ee6d67cbbdc35ab8616218eda5b9f"},{"version":"aad6cbc98ccccf71f75aaad7fcae522b75b427a43a91d78c90624b5a76b764b2","signature":"5ec45777414f936274481810c8b3cece0d6cbeb9c5150ff8def2e1f027b40964"},{"version":"917b538e045522e24dcdd17a9e2f274f646ef40144dc9dfcbc5b4a669dc92fc9","signature":"61f2f78ef2e94af3e8c2db0ac6300fce02dffdb09b5ffdb7e546e2183430af28"},{"version":"0bbfe8e014ba918658fae48cd3f05677490d39a5935500cbe7f9529dd720d121","signature":"e004d0a65c80addb4d2d73ba95eb6f2f815613d31448e9c8ec11868354a45c8b"},{"version":"4b36a4c2c4968db28b73f6f7ad2712db8022fd6c585afebaff0ffe8864071ef7","signature":"07b8331c6ed4abfdbea395ef51d17af68bc43af65edecc481391f5fd614a2ac2"},{"version":"7def0a70221fc3b031dfcf233650a80c041251701433707687023995baee3d79","signature":"b70042dc1c2842c4751f5b38898bd91b30e1322b57cb14226a47a6982e697eba"},{"version":"d1b1a9a5e7d3c740af8c97bbe85a02175bed002010d28b499a5dc3b5c0acf037","signature":"1b4a2666c62bc94be7d7e895cadf6b436892ec4e36012f73cf7d08581617edce"},{"version":"9ffea69fe2498f62a5274ec523fdaf6f4ceea4b500d62e8d3d2909e968742333","signature":"049f913723ed06832b662d9ef7fb200b86dd38bfaebb7c3f6d75b033af9acb72"},{"version":"18830da0127dfb4e77f094182479672cbd40d186e5006c81efbf09fbdca0e71e","signature":"3b16fb538e9dd4d5b0016e7ea154a50c4a86718556cb8a4bb78ee35f1c2bc386"},{"version":"d24b80a59bbc04e2b03f707eddaf0c605d7632ae1be08061b932ec4143f2bf4f","signature":"84881d555a6025570265face1d3f4621fb859672caccf10485161d473adb8e64"},"fd02386c1ea0d3438c665d5cad7378bd7b55175c55b36792bac077bf4bdce55e","3f00fedb75412ef4c0d166e35a72f2a382641c7ca506f77351b878449889662e","4fcb15670ade57aed2aba0059151a409c7b09183163cc20b875fd6ace91f9b20",{"version":"fee612a2b50681472d6fde8c312356619edbd6460bfaf7dff8abfcb798e6d3a3","signature":"4df91130ace34a640c03ff72595728f787f54ed04c7a23dd1fcffd182fab1599"},{"version":"44ebfd6e34d25ceddb44d1a0f0f18efc35df40c4cba9d542ff37fc6b439b0bf0","signature":"fefb45b0b3dd3515fe356b30343754902f29a158eb01aa9b67749ea4ba5fccbe"},"594d04fe27666c2f9184e0ce4562a615a8ecac377231c5c01e4bb2900a6217c0",{"version":"3bbfe8e9f2a52e0869c1a82da8f52cf6055c89a5e86dc277413e98588b1ad981","signature":"c5f4a8411ca89c36bc4dc6797cf0af91adde8a7d4f9bb68cc7ca2952f003b1ee"},"8364d9b0de4956f706f3f056cb67117e601c27653ca8828f04e18bd015e7a5ce",{"version":"2d5366f1be2a660ab72a084bd68ba257cb4fd5d25a716c273551b9ba8f1aa8d6","signature":"26126b18f32bd2088ba75b0d2227a7136dbca231f6fe816574f100965b70fd32"},{"version":"0c7228d6a87e6493b025bc76e92e1eb5cec58fedcb8b75a61ab43e8cde0abfd4","signature":"56f9ade5d43307fbb782b50bd168fc0eb42916d64852d0d94f7fcf35a94bac19"},{"version":"b130f4b622720cc34de5a2b6e91adb273850f3f8cd75b5b14fb81f0000ec66ce","signature":"ae859b9664f6b5418b146224d7e582b43b2185d1e47ba5ffe7cac5ebe43e9902","affectsGlobalScope":true},"e34c16415e480c9e95df35c695bc7b7d10649644cc257a6a1fb1dc725a52980a","335d44f2925bdefa37322f627b9405f2199b3c340478a3339042295b3c6e06b3","7a5bc981cbf4a73ac278e69f01102291aad486e5334650863fc56a5a9d49995a",{"version":"d971712130105e50ea375e29133e3ba2abb454ee351c878c45bbbf87bf000eb1","signature":"67617af2a1f74a0025cdeb24b2866a711cb55d7687ba4283ad8200b16874708e"},{"version":"b28d351d20b978642505976198ed4e6636404f778a1d269ab2b317004bbe33a2","signature":"c13b2110761d4b53985c68d6ba26a1da06128a6f6581886604433b6d8c219d70"},{"version":"0685ed0bbab2b791fa6f7307f4a23c6d5462a74d85b3d0ea737c1146b7c8cf6d","signature":"cedc462eda99acf01b2476377eaa8485bf53b290d1408e4616532a6f486adae1"},{"version":"e98d5cb53c2f27d9480f601e46424d0aad2425c1bab8db834152e9e9d9e7ff53","signature":"7fe040f9f107cfe333779d7cfbf5f0efe15cdfdb1b10ecc2f57ccdd6526cda23"},{"version":"744a19adf2ea5f2028f612ff34651d9747d2b3769163918640cc68a36997fa43","signature":"0d1256fbaafe18ef8895d3d8c6be4be998483bcb02811cf369d12540e47db57b"},{"version":"6ad05db84e7e88da70541f400bac001e5a05116e1d110a0b32e4147b90c00f0b","signature":"879cc3846bd5baa610ff23e3d5c65f51b8298fc952824805c883a42d5e3b81e6"},{"version":"5b4e8e669748f9448ff48334f29717f59b20fb14600b32b378574b208127c429","signature":"3e360a0a3b13dc20c95d0d11bb61c996236da6fbd9c93962cdf637798d8424f8"},{"version":"df2374dadb67c3c1382ffbe7981cc57cb1f43bfb12519b609faa7b083238489f","signature":"05c583c0e284ef10a6b89657b891a31a13d03350dfdae4d299aef9e90f7e908b"},{"version":"2cad9227532ea9ce3ddb7e0148f227fc78214d3aa81d538deae62cfb6870cfcf","signature":"b5ca447df9d72d99eb5a88d00536f2c1254a9ef73fbef2952981259fa0015055"},{"version":"6651e7c28cb6cb7621b0abb2776153d196f7f11f5f31fcabc4f65bcf88e0647b","signature":"a65d9dce8e21547fa088d6f9050e940836e3670eabdb4467b57cd60f2b31e862"},{"version":"927430a724a7ef0ddf76613f00219e19b3d734b0fa4c766d6ff8725f4761d214","signature":"90bc3cab2df32494e223de0fc028533a3d10e3752b8c5d68fd88dc9f266db72a"},{"version":"b5dc3e062296a6652db91903db3b2c550194413718fe8da82bf2eb1adda7e566","signature":"0d8b2c1f5e79d1dd25ac7a1e9e380c3f71799c257fd744bd6d080aa3ebb0f99a"},{"version":"07ff4f56b8219b8852637964a6b5392678086523f50d4caf4ba1b63f6b9ad4d5","signature":"4910d9d5b9447c7c8e23abaaa55d0deb1c3e08f96fbaca65cefb7e45b40b2010"},{"version":"0367e0e534f46426a954c8e44b2d72c5d2552a8763b3e4f0c7d3728b89dc0ef2","signature":"a86912045f104173c482ab0f6b5256828f01c26aab092329be358bcd1b196a75"},{"version":"68769cf47ca7c7ea82e487989130ae0710b92f792d2e78aa855e4f999f2caacd","signature":"4c79ecf9ba80bc1eb9054e0241a4101b57672b6da1619c4b66313452be5f620f"},{"version":"e57584f1984ac9ae229e963ac1a9ce325b7a6aa4b199158117f20c56d69619b5","signature":"e18e0ca17e5ebdc41faf4304d257a47cfcf65adbe393782a70b8cf8fd88cc2ae","affectsGlobalScope":true},{"version":"d75049d6766781384b7656d9dfe134cee80ce5308802045f6e63a2ee8c40bb2b","signature":"a1eac154e990137fc2ead0fa2efee1b83a23e745918ae70a4356a75a44489265"},{"version":"a53b2cdb9d9a6522621925fffaa65451544473e0f71085530271be953b8a863a","signature":"7e39a2d7dc2effac52b8d8a8f295038adcbd00b629223a2463c98a2c5e1794f3"},{"version":"0b071aa6e037933603357c4ccdbf408985d17aa22edfbbc4588132bb824ba419","signature":"a202aed7d5869f6abc6fa7d46cc4630759c9dcddea162c0582fad2c6df5e5ab3"},{"version":"b01d2597af5b6a65fb8b29f1a915faf4cc01f871ccfad7c557c46679f6ee5605","signature":"2d651b1427e8a1798086e20dd46590ca291058b1b8f876a44a16f2a89dbb242d"},{"version":"ab5234f5870efeec33fd4fe3ab6f12e6adc0c8cec077b0355cbb0672d20d629f","signature":"4873b19b937d108fea62a63786bd2e536d62c5193bdfd95268fca0572cf441f1"},{"version":"5627d427b2f89561bf8187e9593d70977a79fda6229f9149b195775c8d5cd8cb","signature":"2fb44949494ae575001a95555f4b0eee0f93bb935cd77a97ec57a2fcad1000d0"},{"version":"fd8e94457a9064736f09159969cdb9491aecd754722ea10b2e96891fe584d0e8","signature":"e710eff3e55071d962b6a430bfca5f15ffe96268072c369fab04a9edde9fcc16"},{"version":"00d60c36bae2313fdd53eabb7d3db44a7009ef0818fb0101a9a822e1a48a38df","signature":"f1d6b38227d7babc09975359fc892feb087d173446f4cd8be568278a09ff3474"},{"version":"089a0092f3c97f9a1fffe719da7441fb09f842f6a5c9cddafa0b896ce725e16c","signature":"2e112307417b82f5fe95015381d01b52b1147050cccf15737e785b523d0f764f"},{"version":"bfb0eb127d45c1f621bd07f1f9133c0d037c0905789a88ae934cd4a4357316c8","signature":"0009b7a0b4650d743209a134777aa1de10da98402ee1f8d9a3e6bf7b4ec32432"},{"version":"b24893fe991a85062bcbc9ea7fc026565dd4a3ab3e0f8e9d05580d2d4aa78035","signature":"15a313aa5ed968c83b1d51c92626ebeb6836a58bf6dd52b3547c1b7542ac7343"},{"version":"02a9445cbfecaadcdf4452af611b0b3be0888e1f5526bf22f3fbbbd447df2046","signature":"b93d79f9d63b2845be22ef9551bfdf98d0f4d567c5f2930cddae90142226e3f2"},{"version":"a964190161ecac8a040195c30c208c13f562d2c2c3786fb22d028aa8f255cec8","signature":"11df73b5cc9f10f099a4d9259964f2fb8435b27b277839069e649114a628dd4b"},{"version":"4d67dcd2efc85a9f0428770f7576b8d6c14711b856c330974385b54964e7fe0a","signature":"76419b412a40aa1a608581700c7a7d33ff3a520faefe24401c17a80da17aa61f"},{"version":"c019cf6b99c9fe3719d895425076ed2b60a7f73874ef739d2b1f893a1d8db364","signature":"5db5ce0e47b147d0d89520281fe0c6f99931657854a9d44adac543bcd6294606"},{"version":"5fec278a9813efafc7c131275666b2892b361d41426aa3f6120eb42c73c73aba","signature":"7b37fd6ac4506801740abf6650f7e4948a09604e8266b145be0184fd4e9bd402"},{"version":"7d1e7e398d7f0db72159e6ab30ac90987d3a3a65692ef31ddeec8be5d3032fad","signature":"72b5434253755d39e35cb49dc120c50c4d58dbaa7b324136ee880132131c678a"},{"version":"137885992f42d6161cc520b03c8aaaefa6f1ec9fc528e31a87a39be2cb71399e","signature":"13f6a4980262a8152d36c9f1c6e4b2fe44fc11fa9c96d61459e5c9d3ec4c2870"},{"version":"fc065fc3163aaa8b38604299aafaeb6a2fac8ab5418ccdb7568d97475ea94ec5","signature":"5458d747121f9cd9d916900340cbcfc5b134a961bced50961f4e936c46e9ed2c"},{"version":"318839aa6fbb62661b032dba06f2008764dd07c3c40f98c065bed448280aeabb","signature":"6960bba0334f7416d94a5cf7e05ea99dceac5457165a2aedba3a4c0c7d92257d"},{"version":"9bc449d85c93bc19f216eacdf883be3b8ac6e8424537a7e253ba5ec2b93ec9df","signature":"c9ada50699ee1de14136bcc2db45e22230f8fa2913d439777c3200cec6d55fdc"},{"version":"695598d948b78f79d1ed675d244693f58631fde6352b4ebca656780aa6c96358","signature":"f0727b8b648eca20349fe089a119e8421728b9dda3a74dcfb0e0cc12e24fbd19"},{"version":"f96ebb2db26ad60b0a73557db918d6aa79c87e8275b12532df03d2890aafe1ba","signature":"d275a9fddba3e7e8c05d3a663c09691361db0088cd0010d93fb1d8e4fd7e6814"},{"version":"1d6335631896f1a8266fc850881f03587b5b08eec031d5debc3f4edf97b1bfe5","signature":"af6d4076c422c1f66faf10038ea6ed3bc988ff19d447841045f6d8eb923ca440"},"561100fb40049bc0fa70465955908d0d4322ea2511e800b3aed4a29181dd825f",{"version":"c8cbd10810875949b4f477c850adb8e48b07c4c37ae57a91e0256fb96203784a","signature":"7e3d47141d698c20287ff9bbe6fee2b3d5c39db7178741b16ee52f106b981909"},{"version":"f32aa7dbe8d4626c65a99c7bb9b3e0175e8750538a34c229c6b06fc4a4e22e86","signature":"733199d11d5a71762a5baa35efee71d6e33011f3ae360e9c0559df089ce86153"},{"version":"8b066b9722e974a874cfbf11c4ee500e67c23019c190e7e8cec8c3058cea44c1","signature":"800b8ed8b1e9da41a51d47b71eb3c14fc6ade05ab2af37e771254c9e38325797"},{"version":"3d2cf5b989c5a05b0c5f93879d224c5e8d1ac3e1d489b706682bcb8436ea8e2a","signature":"2f7794a05370a6fd4bc3c6ad540c164eb27f155d4b1345b8aed2dc5e46176969"},{"version":"12630837f353143984b07d3f1592e402265eda44c34d15cbd56c996b36bc7be0","signature":"2015aa7d5b59da57d6595396b8ae771966c79da7e3fa2508488feeaf042eca2e"},"57c7d26fd9aa871f712f354196056b7415b2e0b0d5bc9f693ac2f7da90fc34af","16fd406dc18f5b1f7a25cd0b0a4e91a6e677bba7bb97210c61791010d9904c4c","1e7ac08e29dbf22553ee28c35d4c4c741bec63db368cfb466c5e7ffcb81ab788",{"version":"b18561bf33c4713072f9287dcd31128ae2e92171f65ea09429cede538213e8e8","signature":"bf1fd7525479f198099a970e36e3b40029ca3695e11bc57aed03a6ff8a4409d3"},{"version":"eef791e45d669805b2c6c67e123f132c1c76625738a7717d70f1fce8c353fb9f","signature":"2a48c42ad2f6237fa6acbdf2a3d1cd09ff2b645c2c8f0b00559269ccb5fb9ad4"},"8efe9e77046778c7f14efb89f5422fda5c673dd73e445ae73eb2d805262de4a4","cbede5144bc091b6e34611936273d79b77638a92c36903f3bb29cf3891724750",{"version":"fb65224e2be6f8559c45f152428a08ccfdeff6d12d44b881d7187d97f28f6476","signature":"f8d8c705d6a4ebc278ab0b1a135c69fabd6c103eaf71ab3f832167bb36b71b31"},{"version":"11d250cc866c7f8549472b373f4be683e0c586d4df5908dffb529e04269f6457","signature":"cc51d7274694d5ee5f7854833119c36489dd2ac7e16745a0e4248dcdf45c6546"},"ab06b5c29d7df2f45013ebc685e4d04ea5abe1c915390675236ea896bd0fa2c6","c5a204aff8cbb133c6319c0dfdd19964e55be3ac16f257bc7e567d94e7491d35","77a9ac736c708bcfffd81d7217232320693b4fcaaf5f3ed30478b7156d9597a1",{"version":"dc0a96a9f77fc748da6e021506855963d53f4104e1c6c98a14809e11b904214f","signature":"d124c72b8aab74d912642177ee91d8fbf3d11196857301c450925856ae18bdaa"},{"version":"ff00e1edcbb028ef4891176c4bf281b487141392be24fc1245371bdbe91ddabf","signature":"045a949f32efb203700ed9a4654b880eb3b3dc7c006feefac85143fd8355b21b"},{"version":"f218010cc5620ea7515b83f079b488f1c7e3dc34d53431a8c7a5008d11e95eba","signature":"56ae924976695fea6e3b8d6143370bc4399e16d73a2cc0fa92dec30771af1597"},"e31341df456b73602355da4862e474715e03cb13f8c7272f901bdc7634130b15","906a8dc0ae19ae9070e38da9e6b19b18da06a5326d29846224f8681689cfd075",{"version":"3f5a711ec09de6eff2c69c60950ad0c6d2b6821d8be0cf41796641f59d9003e5","signature":"c68fb5e145360900a73d2c5ef962aef012ac67923bac8bbbb18b8f1016ccdb9a"},{"version":"16809a4660eaf4a9ec3ca1d8efee144bdc4797d0a0b8a4e58004da3dd63ac258","signature":"df982fd047bb31a4476e028f4408042247d4974dab452ab463ecd2b8b98191a1"},"0cb4b04e9d7c992f2b0b1d8891761529847f82169181fc2fbaa74dc33c035214","307d00875ceb87450cfa8c2bc103438e7d1ee3d1fe51027c2b8b424bf766a164",{"version":"abc251b09c3c0303e1acba47cf8a610afea733d8232b3cc07d6acfaa964e2d04","signature":"f478620b6a462ba6f73b762b23feccbe6214ec4a57f22489b84288344ed9fe5d"},{"version":"453ba9f5ed770d2f5345bb2e7d9b95b62940418757f5bb7a6c0eda3568e52729","signature":"1538efa711b640039c0b2dd51c649556cce7bf6c0b2c17322e77c05d81a3732a"},"0df5a97d2567b8302c0c9aa887a6217f411eaad909683520cee75eee4fbc6668","0161370cceb34a2481cd6f9f315308d45231e0d3286ffd4c3f1f23ed645cfa5e","41ad445df8fe78edf131067fce248b2b0bcc63a46b952a27fdc1b01bd75b06b2",{"version":"ca5cd20d8eb16b0363b6ce2de02efc8a70d00c4fc35dbcc36ec90ffdd32d28e1","signature":"b54541a8d2bfd1c44eb19db18e041c3d2161afa2868bb67b07ada6e622210ed0"},{"version":"5d3e683ce0cc29e37b05c965dacbc9105a864eb0a84909a721e8f8967661c0b7","signature":"3bc300f44fbb23a71f4c1b7ac2c20b04e901092375a66a72af3d9577d22ff8e0"},{"version":"b5e7b6eca8181edebbfab50e8cb14e46070243e6a49147b8c19c20ed33175c83","signature":"d77a6195b582d52421e04e05e763bc5e59fc4ff169d5978ad02a7d60aa3a246c"},"a611b939c4951a42f23340d8f66459d5376926d1adc02663e84ad646aa271bac","c79a7ad35926c378b5f67bd9a25161f6c87fe44598d1fdb632c78b74d7ba9878",{"version":"59a5b87080c8125ba33f62514670f5a12ccc32ec0cb102137a6c40131934c527","signature":"6d0eb239b1352ec003d6be41b8c0894e30175cf96c9dd7c964d87be59199103a"},{"version":"6f45fda297fdd50ba7df9ae028e18a5e27bde0b15315998e6e4a6f15ade82094","signature":"96e92a6eec2f7d59b8a92ce96c4bc24df3bd4efc324a3e6cb86e849263ab6882"},{"version":"5e45112df6346893710ea787c131275cb1d370dc1df8a4379d26cbcb444b136b","signature":"782fd1cfe3b028088c5ce69e8874a69da3f338e6e663c645b986e307109f6b53"},"bfd6f27b8e34c25b213f680b7ab3305f8a39d89990d738b962cf8856162c1f99","2b5e9b9650d489c142c7a414cd5d628091669d5541ebb4b4aa8c7d1eedc5a101",{"version":"d12fba3e28ea6940725dc67cf32e46e9829b102fce397ac9017eb518c08148f6","signature":"ef1afef20a5829f934069c34c6aae77d6c8719d621b8bcec42c020386d365185"},{"version":"7835c8937570aa137848383a5c90733b47aaffddebf9f516bdc315216a528b40","signature":"fa16390c8d7304cd4b7d5782eea56bfe01544a0f130a0254cf0a5d923f1d4733"},{"version":"3853ff5328b6084e46bf68be50330c83fac701a9020523185f0e13209f5d8f82","signature":"556a45579ecb437943fba81889bed6601d208e3394b571a13369453e61661bca"},{"version":"8b0cc05ce2fb8d3629cc551dd25025e19478f00bba45a692b16476fdd37d5d65","signature":"cc57e3b6dcdfb9f644555e607bba90584a5a9ce91020d72b808f9eed7bf565df"},{"version":"1c3de7f6f57ff3af8814071e77bf6dee99c867281835d9b95602839a68491ae9","signature":"3a3a1094746425be5014acb5062498121cd1b7724ea745243c4f8ff0ed815ed1"},"41ff283c34adbb5f436fbe98097f44ccaa3975ff0590b804d72c48611c56872f",{"version":"ab9fbd34896f77a5d72bb20d09c3835a0fcb0c6477902ad65214dc44895eca51","signature":"ffb578e718c599e1fc1a60888f3406bbed0ef68bc79a1f1e4e30d132248f4ccb"},"23104359973a5840c52ad4a2799e1122d6b2eef4cd38fa578a84dedeced7e3c2",{"version":"2065397c56154de765dd7b9d50eaf617f1ad1ecf1dd81e545be5fdb08cd23f9d","signature":"6e41e6cbb1736d556ee235ab85bae0c9651717c9aed33375ef6fa96ddad777a5"},{"version":"7b51e7bd667501566f470b59d30c374f8de0efe8703bc7dba7883a9365dde152","signature":"91a277d8fdd4aa8b77f99a6bbeeca4aed73f26a7c564ee64ddf96e76a10f3f73"},{"version":"d6a3a47461cec58de2ab850253f747f34b82509c3cca09f074d64152078393ae","signature":"9eeba6f4b41e6a703f79b04ae7673158957306ce08a35bdadc2a6a4a4036697e"},"299d488c4dd118b1ab850accff80684816687a28672a5a758e2eb154f2f5e7dd",{"version":"cd6ef0c9cbd9800fe497497925965819a5c8b474e78d46ae50100a1dade6b722","signature":"a532891a76def2dc6e882c65ee1eb4d388c06b12bf05af2c643a517020e4d95b"},{"version":"9fb9d297b2fbb82fb5378a3d22898ce4e2bab191f397a2f2517c392949e06d94","signature":"dbb8250dfc6d121858cf744f2b41ae574cade8845680cce3a1d7295a2dbabeb1"},{"version":"1ef1a3fbc54007fcd0376ce0a677b77c851886b60a44eabf14ae8c1b46bf51e7","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"aa8760ab58336e8edb539bfe5689098d354ecff68306b20c12dcf2996f465940","signature":"562dc61e99f40545e0c207136b2bb2a108bca68a6ec62e2ee08297233b277439"},"4f07a6479ed4bd3c307272667e26ca5c34e295e5a9c3c8deecacedda2cfc4005",{"version":"7e04f6ca3f30786f6d01f615c62117f91c65e8b07d1b444df3b29f7b23b45e51","signature":"6577c16830172a6a3d73791a3e56b841006cce026765a1e7afea4cd29b4a7848"},{"version":"e0d1611e44cae90c983b5d38f4ad93b68ccf130bfb2046c1c645388227b0971a","signature":"4ac66662572eabb46d6a9ad02635606d277d0651561ab4315bc4ad0c4a150347"},{"version":"a97b9238bb8ed712aa799730d18aef7c49697f2997efe7928ba8fef1d3df2efa","signature":"8fd5603a4458b8aae79baf274d3314aaa63118c10620b57c52b6853e2e399a60"},{"version":"9c5726411d5de2d5307c03f89a5bcc02b0284627a17a2fdb118df8b0e0e00557","signature":"616bcc683efc3a679a2e4363633041672f5d9060fa30f7c62092dc2b94371bb8"},{"version":"5f3e62899350c09ddca75caacd4e88848b9509fe44a3dfca2e2e84e76d1eccf5","signature":"ff52f59372c5a352a1e236a7596fa302f2601efe9b07f15b89cb3558d0ae0aa3"},{"version":"34707416ed0f6f7060fd3aa5067ab8543db7c119f4e37f1c60ee8d6c5f0b424a","signature":"44f25379af8c74b796b30793e226e7394c12a13d5fc432ff2d9e85382498de7c"},"35503c8854a284b187d86307b3dd0d111386ccc2e90a90e3d8dfaea9f2c1f260",{"version":"1f42c02fb16d84388c95311b64cef7ddfdffa30d2360ca2dcaa86fe9d2d56e96","signature":"77e94dbdfc20467d064e70db799e0ba30bf18461a842a6e0624e46636dca39d6"},"feb5a5a6a7430635c4624bd9f92df13e417f11dd3c94e3b5600c3d028d5ec430",{"version":"aea8a821694b8d215b74a7065a35f5b261d0e18d726f7e2d506e8070efed6511","signature":"2abf1d5907ecd1624b013489cca43193e68aaa68dd5a612e78b6668a90bd9d72"},{"version":"6cd2c1359506e18eb39495ada467105ac0ea81d8267c0bae824ce4d9298221b7","signature":"1241717fff8d3be90fab3207a7deb5ede67ca8c6b875375147561eb0a9342fd2"},{"version":"fd7a6352ba3e9119674072bff37e1fe4333c3dd1bf73e71d903e0b52a4a479cb","signature":"2b6be0bc705ded49c0799a4fefba78bf474b08b569bb4a610b2abd2e55d5184d"},{"version":"4f24468bbf2e0967a7124180c9848ef0ce1fa8d32152fe4559b8187cde2b251a","signature":"8d6ba569586fc17d44d7d79bfb112fb95bd274722ffe5653a15f8464e469c3d0"},{"version":"a9b10dc7327829d7a94982aaf32cedcbe5fbb5c96a59212de8d1ae775a1ea0f0","affectsGlobalScope":true},"0e807ffb23dae46dfa44f1c8975975c8c32d86d146a80f6fa284efaaf6c85028",{"version":"2583382b200d5e3c647bb6b74fda24af4d0d1d933215888a3fe2aa5a689004c2","signature":"5fee6906fac3674ac2a0d8f3ba6feb42b1a75c8bf3b1f859f5acd83da306b17f"},{"version":"44c27f623dafcba3a255c828dd0ae792f931a2e08756aab292c71c8f6caed4e0","signature":"668a2f9750cce08a3a6504986b0e190052307c676caaf8e7c7095475ecd7d6a9"},{"version":"d02f0cc7d0b8b5334f1588d29954128c6ffd51a12197f3cc1174fc28fb4942d6","signature":"f6c2ed60799a0b3468eb5f8d12083cea2f9d6ba6dc0dbc930babd062b15fca9d"},{"version":"1cd170fd0e84f6af8302b3fd24a0745932ff5dc3efa821ecdb295c85671414c4","signature":"2acb6666c4a83f647512e5b013a6f4656d4282a9661c3d12b5b80609d0342dc8"},"9ea2ee9766b84101d84c0e649a06ec277d0a8876ccd4c23a4c48feee73fe4f48",{"version":"562509b59dd84b5c61be9f0a1d5bad7a0cd63ec2ff458c016c12ee63768cf9c8","signature":"6afe1fddd5cd31eaa8e3af6a8369a7da853f9b729cdd409743eb162ef282c2ac"},{"version":"1f1df42850b729b92d17dd6f7f13fcbf184fadadb920227f8658544cba67438d","signature":"415e43e6d3ce29214230d64f49ec6a03e18f43f22bec0b3d38cdecd95a1ee44c"},{"version":"af7f532280bd7ed467a30d92212cab65d4e24369b342f5c57446d5b304bf118e","signature":"04bcd1a01f45e63c7ef75d909dc182543c305978a156db1600d33b0e4131bba8"},{"version":"576347c85678822f773a9384fc4a0e8a31c3bd80c94a8e7ebaffeb1b7893b6d0","signature":"4f91711dd0c45f8d3d7b2f020143a1403e92afacbd9481e16780ac067ebc1ec0"},{"version":"d37ce88122f619870802e63afc912f95741a5e55218ed7a157cc076a1507e050","signature":"cb7bed8c399b061af9d06da22edf90318b8fa64f81feaacf35f7d78cec30363b"},{"version":"06192af3b182223f431baf55082b83988ae57fe048fc7fcd8ce0faf4ee281819","signature":"623e60be4db694e883d126fbfd114a8b6b71b78520185b5241d754fe7c2529bb"},{"version":"3e0f25d1e33675f1f94a94e09af775a2c996c8d3fe0c2082e66490c9ccae4fa1","signature":"e0c2f048d07caa4d47f77d95f39c955aa2f12695698a54b64aca2a6b009d1159"},{"version":"8a95ca87c437ca55a5f5010a30ef7fb799e1e2701ee09474e7330fce91b646f4","signature":"76bc409f465f6515528490fa8b55a79578f8301fec54ea9b873b6b8da5f742a9","affectsGlobalScope":true},{"version":"364b80aac0b98572485715c7a8bff1a211d16471779f7fadd80c9b4efb4c2eb8","signature":"86f3d4b771ef431610c5de44d3167b15e039b439a1c3f58bb64ea99ee8a16d12"},{"version":"1269f1f55697d48cc89d69cb2c4eb6cc00f348abbafbb120010b62c6d69e6ec5","signature":"72aebf0876139b81b7782c2033b831012643c23de1db49c074fecb24ef8c832e","affectsGlobalScope":true},{"version":"02f514c763adecd9a467954f3e6c6518aecde86290a1af374729fcd2148605d6","signature":"49db9bad43085bb6b019a6ecdcae7d0fb2f9b8641c55c2bf0309926c2534eba2","affectsGlobalScope":true},{"version":"28e201fa826b9258ec82661b9c43db85536e5bdcec6511b0b13d735a83e232ee","signature":"d082843e752f6b001284c241c1c724d36ead580945d63686e6794615f2c17c94"},{"version":"1a8bac515fb011296d674c11c5e09482875f7ac5974c856f31a9b2e09ee8ef33","signature":"18239eac524226f89b850f73b658a7ecf61b4b7df987b21785c13d60084b062f"},{"version":"aacd69af49b7c74a27c5c1a56d71ed5144224c7d52ffa3a666319035209df130","signature":"52d032fa211f6ce650dc3e8acc59e2b3c1e62407d37b9620a5ea05e76ff9b198"},{"version":"4a840056c659b235b81336e2d4f4d1f74a13ec631b9e115f50da7e58d5e72dda","signature":"37c91c37b7369945088e73519e3620a0c58eb337d1dc3af6be3f62a3f5702e11"},{"version":"bad7251edf55d77722df6eaeac0cf676724c7debc663b4578b7ed14c4df23fe4","signature":"3686b3fd4660a814a9f13d05adf9b022a9a36b3ee98af5f7724ef2ad98036ce0"},{"version":"225437816014152677926df72d3d714a2fa6e42dba124c8f0496ed3b3ac2bb34","signature":"2e8d97fdd6f456b42f2f358212211481f3f1558fc8845c2c0e72fa6b58af248c"},{"version":"518ac83c13ac71a05030f95b4463faab75ef4641f49bb35595d44b4ac7d00b08","signature":"3095916e4e45bc166da60c7100eb10eadc939c3c3b5900b0669c0954b7378aed"},{"version":"5f67004a28be11e631d1871121718551e841bdbf0611a0f2c7df3f4eee9cf5dd","signature":"a9f77f1221823c74961206286a64f03a23ae761548af04056215697ba03b4b25"},{"version":"a85ee4793366c265d66648fd0ff9489b6d48c52bfb1baa404e7d3c1180c3c012","signature":"69491c436981a0bf54ddd62c814e8f0fb8f79eb4b1a772a76e202891ab9b070d"},{"version":"dfdd80ecd867e3e091766e47bfa4057aa992d3525662aef3b11199bd7065d929","signature":"fa837926ac880ed0b68232d9ec84db5f1f18ff219498631afa8b68e8602648e7"},{"version":"e3b1ca9d68726c37f1c1ee00541ca04abddcf8b566e09c1dd5062f98307c386b","signature":"f1068bcefc61a52c1ebc0ac7a302bb027bdcb0f27f99e18bb3623118b88aa283"},{"version":"9f93a37b76e9f84712849cd33c761dc142b79693557f5a0dffc9544e44364087","signature":"fd7d8d44a85dcdafa6bd3d753beb969bdda8dfa5d73f9cb07a31c0cd679061b5"},{"version":"3c48387785008bbaf0dd1e337df2aba7dcfba493ad5dafef18a30c6937993bf5","signature":"346128a1c34052ca1814aff294caf4c16d28f803daaf76db7d6eb94eb65da3d8"},{"version":"3968bd387cb1941cb960139d60552080a29df9cd149424763e2e295f7b80fbf7","signature":"782423dce8351af50f3e1b44f6eaae52202b5972024ddb2f5e1735a2eb69269c"},{"version":"9575e0da69f9a69a8d9a231ce278a223d9abc23867980df391f07659fd81f09d","signature":"7ef2ab0cbc91135355376f98b2afeb530fa09698608583e17c7a000078847a5b"},{"version":"a08142d515aa86ae956aee3798868b30d8c304f1070d2b1040187b07a81046ca","signature":"42c1d7503fd6e65d221e80d96724f3e74ca15c86a27ae71e50f1aeab4055a39e"},{"version":"f4d9f744a868b68e3de9dd8cba3eed90ae69d1f3af69f71c6ba20dec5ae2e4b3","signature":"add6be62fe8de39bd6013cb3f4cebf1bf43439b88bbed987f194b8af5307a58a"},{"version":"030b2575ca69fcb58de09fbede4c3c6f46b3398318ce74c0fe80f2273459006a","signature":"bdc9d5766f72570f50e67e420533629519a4aa95a544d46c17a31153205acd9f"},"eba110d8e5721254ef70aa6bfb2f38bd95bb9d7d9bf5a530bb20c1665e0e403a",{"version":"f676a60e988d68f6283085dd6bcb7b02e2ccddeaa5547800d35304417289758a","signature":"974568879cda243b1a6becc572ac80cd56326552fa00c95c178c86c99dfa7eea"},{"version":"59f3ea7a00837276395e4f2bf5796e1aa06869a740968cc9d595e7b8d15c2dd0","signature":"3935f5a0924d4a43aeb0e778496313c34f9764c8faac67ec3a6fc06eec9f9b8a"},{"version":"a6ca92bc973f63a57638b760d679629a2d0eb68d28bde636c7fc11c955d753ad","signature":"4981bbf6307d529aa7050b4822cc227d2ebf688d3fb91201e6023ad5705d58b7"},{"version":"15c7366b2b592f9522ff4aea19588ea7daa3fa3c2b02afb2f454f9453102ec1b","signature":"f3096b56e9e0d62590f01f3ea1a72aa9f01712b82a1ef358c087b51ad5be2ffd"},{"version":"edfc04e3a9ca10b3beea4bbb5b41b5fd3964e2047ac5edbb43194c73a344cc00","signature":"180f6107eef3ef5ade9efad99797d5f0a6b6450924dc7a85d876d28e4502d3fa"},{"version":"cabc9abe11ac565eb3cec675ac8af99aed699567dc729e1c441e1ef8d2385b5a","signature":"7af7086028af6dd14b5d95851912e68aceb186f086b3219b625b1396a4228a72"},{"version":"56d1c06a5584ad734b3a3b3b3e776d0fb27675d49ba90e26c67dc1578c72faad","signature":"ae15a5c329f1e07624bb0d7664351b91fd6cd1b326d183f2f67db25d5caaafe5"},{"version":"4a7f85c31d8e9eaf9618766c246531bea372fc8951259cb78001754418b6da1a","signature":"3dd307c649dc675acf58df9a16c5eb752efea45450006874244bce61b8d14502"},{"version":"e6fffe03d5af6493edab04b18adac7b91513bde3e6941e9b7a1814f415ebcb65","signature":"5bc66007fe78df2f2e75402215b3a30c3061c904fcb13a237c2f3f1bd0afa78d"},{"version":"7eee9c98768c80d6a7238f04d9c4130e85383dcb496f433a884d46fb3807a8bc","signature":"ae92cd4543c322f4ca024931686f44c9b36ecffa2ca9f8fc353a11b319e0ec9e"},"08c3abc6e2f6e591b1f52fae2a7396a8a5ab3b691799004b81c8ed4d785abec1",{"version":"98a549cf62b7903de853812c1cae44d19cfeff9b38320da7ee3e64f2b4765796","signature":"cbf3d1f99bfaa2388aa0aeb86343e583a70bec259899863aa945e0c333b1e0bd"},"107de5a476f5dc9764cc495e4b90228420c7ad877d46a631946b1f0d11c959a7","37af6308cce70079f76a45eaf0ebc738c688dfcd398819acf428daf5f9d256d5",{"version":"7c2d52804a466bc23b6ec7dd8e2987b6dfd0e240339d1bbddca90baf0d90bf84","signature":"7d7d740b0fd20992efcdbdf9ca6329a9c580b30b75516e23f711421306afcb56"},"ecf6b1ed7b17b772b8bc11963be2dd2022bedc62bebfbb13f060ecda32f85f04",{"version":"7a4f87b9881a4b4e831e7bf221ec3a5fcbca8c9bba9f794c18d67824aa58b1b7","signature":"084d398b98800291a54df0096b8f9c177de00b1bf927251d835493ad374a91f3"},{"version":"394e3186b57ceba67ba27cef7a4e0f16ceccc3b84a01f554765ff9b9aec136b1","signature":"9e1ca6bd8322b1093036e47ac6733a1f6e9cdff35ca5edfc9806163b22c9f1f5"},{"version":"3256b6ab4b28118b874e15f693b2b14dacb5a4ce8b46a1b0852bd0e9eed333b7","signature":"892e33359d5dc399452e9fec5c53d6048d95b7707798f69038e3ae8a5a25e384"},"7275b18b000344c932cc310e40e72b3bb8228ed8ee4086bc625e2be7de2c7b70",{"version":"e9ff943e6063bd202f781f2a53a170c741ed681d8ae865344bcaf22c63cf53bd","signature":"e8a02ec550327496d2bacf9c28f1afdcd85c4317a6cf8a2e00b11ff4937e1ee0"},{"version":"f0d22ca135577adf63525fcef08130c850fe09c6986406732bfd294a0dd7a92e","signature":"1533f4014f0b5aac13c54c8808fc642a17572369e33207a54a84e79b9a780d5e"},{"version":"710806e7e7be50c55ca169ad9d0bda084756cb327fe1f50d3e1ae5505d6b151d","signature":"fd5acdc4f191b429cb64416e347ea428a81a09655988160589026ee8e807e481"},{"version":"348513c5649e3c3a997b94df176708b1fe4a4c9f3a56428bc50d192b7169a585","signature":"1ee442bd91f5f92cf694aace281f03eda2e7dce54c6053b0a2cf8edcb43e40be"},"37af467f69b80637696dd8dd323265b2b3f27b31942a5b2cb8144ade72f24c8c","e47b0a3714bf207d9c64a0aaf2724ea765a8607bcb46ed4e921e1643c76e88e1",{"version":"83c4d7e592018fe019ad77b1ab5f93dc2f875d2867a8284f688f2914cd92a7c1","signature":"ff80cc328fbe754738fc77d3012c0417c47911022ed63e9c0a65ca97ff1d1d4b"},{"version":"85ba0431efb6c150e926eaab2eff995232149ed53e96e105de2724e16223502c","signature":"310d91068845f16b71fef85f1b573acaef7ffc472a1b3d8ae293e816a433c743"},{"version":"86ca269c02f4ae15893da2c1d63c22ac51e96fbf807c9762fa341f820c4c0232","signature":"1d861f6c2d106b6efd3dae46e53f90477a39d704af7c4a410aa12f3b485934ec"},{"version":"d4e6b9a8d7562cc90084c11fdc7414f161e062fee1d1ca0dd8bcf39542cff0d6","signature":"59baf3633f7dc00e0a260b6e935f58d3326ed5031fff8905771341a0e7c9963c"},{"version":"677cfa00aaf444448064aac1dfed56f60c60b6068e92fea48f33022108a1b943","signature":"2656d790372e1d86b9007bee788ac05947f81bd4e4acc457fe16877875cda1c9"},{"version":"a7011c14ba6b532213cfb52818705774b5395cbc081f7eb940cac76c9d0d8f65","signature":"ef2a049aa1066ba92f22d5ebbe420c06e3f96733d8b9a10d2bd8ff5b9f392d7a"},"6ffa9955352aef224f7ece38701b19d633e4bad1eba8beb550d893ceeebd77d6","47caa28328a9035e72c1dbbe1ed0a5f57932980f60c4b76a476995f314c2566b","762435012383776e8631428e571c61c5c49b38370a234d28c5d992b30e6d2d29","7317cb15d6c35a2e645fdea11db02ca419485a3a10c495484badb97a29599ea8","f609d4433a2f9d56faa92cd56783c90e9cfca8035a357a3f484d0463ccfa3e30",{"version":"482521c7d8be9a9b03ca310c7ec2dd4c7ad01bfecb6d0628315dd97dbe9c3bfd","signature":"313a74046d979b9077eb713c3a40ae207282c87a0b007cfd41102929918a94ec"},"b682e60d281cfae4671d90f43feb7381df9cad36f9fd1624e0f97c4b2399de80",{"version":"77f12585a4d1f5b855e3f066b3ddead3c25d81bd5bd6909994547013ea922963","signature":"cdd9aa0e1fbe0031c8f19964dd1274dca5d8d2f9eedf7290ea78e2b6a8fa3e47"},{"version":"817ee5df113e7096a39419943c9032565da306190cbaff9506d9de0aadbf6324","signature":"9e7b4b7d8acb3ee545c0507a0ea1c7edf819578eebe5c30b3f15bcb0402e7536"},{"version":"3cee6568ad32fb9c257790ff800b3313cf1ba300ee500e5d23abee36d76234f2","signature":"7757ea5fd23aa46649bd3329d0245ad3cdf3aff09c9219727297ea6c340358e8"},"ada87c9cf39006751532cd568215e8aef57bf15670673f4c4f0c974e2a51fc5a","cd81be3a7d5a3b4a247a5744c1c222e31fbfe647f8ec7f7a9cb7c7901d890479",{"version":"313420fb212cace069f329a6acd3a6346fab536cf2f72be6cfbb3079cdb0457b","signature":"9c26c5a1c3cb7371d117c45c1a4b2a177d9e96f98205c459b5065f078a296281"},{"version":"1225e21079fae738d3499bf78e487adceb45591c40dbd4baa8e891cffc56b3b2","signature":"3fcf403c49ef9b92b0b798fdc7ce6d05a224cf63badc7500b5069d27fa3ecf26"},{"version":"ee7a8aca242a95f82785d23ded207150ddf50713aebe4712df4847539107de4d","signature":"a9f6fa282e33b834489b2a1be62a09af571512cca45fab4aa53287990bbd148c"},{"version":"5dabd2d63769d51ef15a96c4f013e61556363ce1d916f16698d5d9bfde3d7d17","signature":"5873e8d3f7ce03b9162a2dd8b1bbf4fc173e9b96ba2b9cddaba3e9a4a0c5a200"},{"version":"3b5f5583d857d079377b3a9e73036ecc7e3582541215738da1c9513866460975","signature":"4dec186d022b0762ae56206724732644902d095252f388c6bd1cb8bdfc8eab31"},"6161a292ecf48ccbfc9d0e731aa24f8ae464df2c600871ce99225e6156297716","036a13093b97ef0df09604b7f8d946772a4ec1e16422957eb35b788a2e76fef8",{"version":"1be0f22bd4da00ca0e41f9669961c658c16dfd0c7a42b50cb9240daed654172d","signature":"fe192be79f5dd1fb56d0854ff3631889f1f92cf27a62981ec1da2f75a145b2e7"},"c627af3aaaa6b9efdf2f5dc02ebed43dc9827461d439183c4e42eb9feb0c0c71","54d63537f635475d601690f3628c00af699de697217d780d9b386c64e986972f","99b78bce6a0f600d5a6c210094030f9d4765f5b3cb99da5f7fb36fb67bf4d4e8",{"version":"ec24578ae6761e0007612f0e88511a1e0f4e69502071c765a530940a866efd96","signature":"9e06306253c005627fbe5554deec5c1ef343d94b354121375a18b573353696bb"},{"version":"79853620dee13d452a55a5fbc68cc7eb699375ca3d1a5b25b7accbb89629f9c7","signature":"8065d1214d619101bc361f7de1fcfaa55624eca953bc8e7e000010ca8f0c95cb"},"e736a4efe93401038eff9ce7a22c74a6389179a5fb27dc160d31d53d722ac40f","0975be2e74726497005fe9ca2a0787c09992b396e36954fe77231f8b3d4dbc6e","b74d9a1117ac3b03ff3deb3dd0e84af195e6c362265a0c7b5a3616a18f5273c3",{"version":"9178ce9bc72d9174260518ea187a3ce1d94b3bd863c24a1f379a42a71943c161","signature":"e849668992be1cfe35343859593685d1988fa35f2aa33f011deb2b7f82730f09"},{"version":"668a3ebda37448355e95aa30931ae3fe14fe672d6a8172a53342d7a0a0b09d0c","signature":"59540ee120868522fc4d190559134c6dae9ef42336c0ed31ec247ffd9ba8f7bc"},"2a0e1a417da4214df23a9faaa13a10543fad88d990a37737b45745c28cc18ab6",{"version":"e0060a03de542a803488a7e3d7f1a3f32da96e9983f60c22f66276b31b2242d8","signature":"84b9f6abc57320d63e1065caa2afe812d047082f07b9db4a7fafe61beb020c42"},{"version":"2d8a1867983eb979bd5b41e4450b58e6f9e9072b1739d3113700d3fca2b5f605","signature":"6d213d848f27d7a7e873706611590a94596fe8c097a943cc3751bc64ae77d995"},"9ea36b482e6e517680f370815da6adfacc0da557535d3be272b69496c7df8f57","f43e63285e92a2ca2c9d08a641e037ffbdfb85ce58eceeec2991688725d94bfa",{"version":"eeed4a1dcc273f87c82dd2fa026be90ac2440d689f0b1e7a2686459771b38b07","signature":"39d36ae96a0cdabc24982dda1ef6ae4957ddb0c5ddd03c11dcd71be2c389f10e"},{"version":"2471d9f02df4e7dcf08be83be0075686b637acf31c861157a18be52baa34dbb6","signature":"033be3dd1b4ee5f5960806efa84680e4be24552a3991cb923adc5e90b9e49041"},"26d2bbdc20474ba291461cc1dec83c0b93c1267d56826916dc9736553fa9fc97",{"version":"ec82db42953b2f20e6a60bce9f7957cc48666f2e0d112fb4d0813a9c62a46c89","signature":"f1b0ef8725aa252ea70faa3c25a7967968bc95b6521e4d9112a868cc8996c45b"},{"version":"34ac35e7812c72bd12fd579a491aeb173ca02925b6f7c5dc5cca71414eec933e","signature":"276501d333366f5af913a6334ed457fec61ae103b25acbc78913f65c568a9ee9"},"7685fc9e82a69ec0e9dbfdc76d2b932c7fdf77c2c137330aa132d9dbff254c91","9e11f2f59e5a7eec07a50a989d75a0204da78f92c091248a048d4f52fd99e0a9",{"version":"73a89c8ee1f60b0050a53f574f26389a85cd63ba484a3000d8e117d66e4b8688","signature":"aea5615be83b5f397c85cece459b9cbce17fd62a6a7e634d923f629a9a9f764b"},{"version":"4b34182e8fe47895b73e76dd846e8ae8a56a8753c14b81e16859c34bbe7423f1","signature":"fa8b6930a49afb2f4f49d363a0099716e3f2a8add1a3525e1a0bda9ab240ea06"},{"version":"c7042a6184e4e6a23f7f190240624dc629905a05bf0e1ac62389a798a14f393a","signature":"779ba38ebc799bdb65babd84c3629939e871d5f2a5d298503829454a8c8e303b"},"e1f1072a2c47e63ada087434cfd6c88a904fe879e53792b600fe666a8c7642d8","77ad267201ac2e2f7f754452aadc5b855c4c313f3e28d9268b591c3611da70b7",{"version":"96ed754f65ebe622a321562f9992f7ac97ed1bcfe88eee80a26813033ac34ad4","signature":"1bc8ed8ef19eae944440defe3d4b3d4582e4873534a791cb841f7df659a4c42f"},{"version":"fad9c84ca56f20c253f2996190ed74362f23fcce39d3b7399e93877816803695","signature":"00412ba20ba24d33b0ff550af3857794ef269bce429dbf32515d9229ed5b1dab"},{"version":"57d779e0059734666f0ea38fb746de2b4ad75ddd026bbb6dc339c45ca8b98204","signature":"9e29b0f36f8d9166d0fed661fd0c93cd20ef82e900c6a0b70640dd0a6ec58fb4"},"75337b8ba1a0452329fb26822e3bab842c6b8a921e503c5f2ac590b7689b7f14","4ad8b16270496eb9ae8e2faf8f04a435d8dcbc6af83cf0d9efc064f934619a20",{"version":"cc2aacdd7b77592964469fa292864e10c5dd924aa9d22fef3b7121d6c6bb9f20","signature":"f8189e1b02ffc389bc32e955c94cff8d28ce874b103e0f1a7f6d40df4a9d248e"},{"version":"36085825b8b9f8fa30a582021d1dbf68cb12d2a1f15dbdf5fb94772d418525ab","signature":"0baa623d4d8cd6b58a1d458c3b404bffcb37cf43583dbf54dfcc4f2eb8f33d46"},"600e48160cd4eefc5a77c84acaebf86293f5af2efe599e1dd7b1925828f95b0b","98c15fedd57b0b075464bda538c7cd56c77e0009a580aa5f54db1200b155bf96","1466705642ca61390f7cf0542e64d5070e8497882d989958067e3574afa7682c","62be45bc1e29640faffee9d4f7b69333b3d2348f4e5d4d93cc4ea574e3b7eb5a","ca690aabb92a2bd5ef0990e990a322483ad4aedb69cdddc76b941a4f7b0b39df",{"version":"f520dbc0b89620f7d4b142db9126141ab59d1afbdcd7d55fc05b53b626d7e272","signature":"e2cb108b29e52fd283e0c007c6d9578dc0b7dd131e6b642f1a3bb05c0c9ab8ec"},{"version":"707f4870ae2ead82c4a6505102990f28ac5e2a84d9e7aaa3c0034f2880cb733a","signature":"767673e073e492978a17f95bbc53df7c14e68b4a0781add201b87ccd41162d50"},{"version":"d505aa1b9a2661155d75a7664ce9a5e7fb40cf493798d8427abe7992dc791994","signature":"ba429d18d004f11eb7cd19867f063c85ec1f2787d39706fc8276d0747feecd14"},{"version":"f5422c0e01b169489765a4f3dc5418bfe7f168a195161d3a0aa2a3814e504efa","signature":"75deb86377358ac6c80397d8ac1a9496f70f04b8b8a13cb2aa33ca95242f6abe"},{"version":"55119b65876443823dc5c0ead831747d0c83c91081c34a518ebcd57db9d39240","signature":"12f74d3db4fa5855e3eb733c9dae91e3c2e897a761541acdf17b93dc5c715b0c"},"3d7c00c325dab9689c9bdd1e6bc49d722614741ef8756e84aa1609b01eaa0e9d","c2f6dd79911d74b208a8233f7d20cce8949147d55dcf3ef7034beaa822a7e7b7","b5ae3f54b2cb406ddc4272c203b2d1efaa202db78917b051aaff7da40fbe5145",{"version":"6c9f24c55001a7bea3318c8cf286e7f98622f03a2b53a5c59dea5c9e2233cd77","signature":"a89df959d34a902d496122a28fb87b3e58fb5161458cf51f88cd7a6ac755bc34"},{"version":"80959f768845151ce4feb7b26ef46dd10bd45d593f1ee1eef9c0272704f68bdf","signature":"aa4805a2327677013638dc83e33d3243d2ff10785561e10ae03345ed32af53c8"},"0b11231078ed806ab34838ca4e5014eebce2b2e304be238bbe6cec77c9de4709","40d2d9622e638ed12c9af5b325e729289308389cde98f17c1c9f19d8edef951e",{"version":"253d66ac8b033a55ff47bd6f3f5a17b6b24e45b495973bd40b69cb747df7106d","signature":"d390c8eb52217ceefee6c374dd86cce50d8491eaa77878c75b13fbd0333f0a4a"},{"version":"daf4adc703e468a218dfa37349cf944df5dd065aeaa11c8c590309a05f984e1b","signature":"83e48dc38ba9f0e439b83cbb772ab92134fbe37cf2a30bfe3a73ae6436a46489"},"3e2f3a3707e870fdad2b9b7cbe84d65ac71602098d8737a61ddbb0798825bfd0","8820daef7601f721614547c02b1b2249dd0c2655ed5512a17974773b05ff6d79","cfd38c188d9089fb95774465591991f255c14a5339fe739200f33b78ce782004",{"version":"a91f3333801b640b5f6237c680ce22f8cf5a1667d777c076d600abecc637a31f","signature":"f429af02b3a76fad0820d2d037f40603b1537626b28f0b619b18d9f675381b72"},{"version":"05545ad4481808e710a65c4dc9c0434b34a6aa728777d6082c70c93b4d9279ff","signature":"c1558c6479629eceb1e497638c678af04d4f2972d51c344777ed15c0bd98c8bf"},"e677e4dbc4b38006a85f65252d669290b1b0703e39925731a728e7c2add0a4bb",{"version":"b2bddb423e63362918a403c4f45e7eb4215d879b41b9105185843157d2f3b6cb","signature":"1ab75bbc0a51f619531d76025209d5f60c15c2fb7b0eb8d8a3d0fe7663b3e112"},{"version":"e78b44516a69e88223b812928864dda3f7c62f9d9203ec727fb15cb831b14ae8","signature":"fb3fd680903c45651970dd031de374207cd6e13ccc50895e98f4da56a5087998"},"e36a40b6537d4df22fcde3bd9d0e4cb3a2408d313b25808740fb1e69fbcaa539","c92cc8562110e3825219df1d7a7a38954dfcf99409ca669a2dfe68bb9671fbfd",{"version":"7a72554915ff210d59cd74485942291a5bb7db679985c633e1245f4e838b466a","signature":"2e4a2bf8bab937b6f7f0e87de9ccc95909a21a7058a2a1f72bdc60cbb9571ecf"},{"version":"9f60620cd5bd3dde9aecdc29aef9167937573e732961b946591352b94703c1fa","signature":"aa72bb2c98219b6d5b8ce4bfb8f4bb84f5f4042feb1f18ebd7aaedffb6c7ecf3"},{"version":"b98d4b406ee09de095622f2d84699b13a77617c8a54e233aa5e84987b7c05f58","signature":"bf3fc681ab6907529a8a48a331b8fd365d9f9ae9abad00c8267fe898b7879681"},"d941a1b4e9cfc74258fed90cd2c6eaeabc12842df8de0a905171d5dae3374a27","e3e8b52716cb0d8d14683930fd0cfe29c0ba246fde0b46a6da9947ec047cc1d7",{"version":"e40dc8e7caeba7ae2f2cef5de10d9fdc1d3096254c04cbfb98e808aea134c5f6","signature":"a3993657b18eebffa6ebd23c66f179ab0dead0adb7699ecc88f7228a258fc8b2"},{"version":"f5c9cdbb22353318d7cd71105fc36861228fe634bd38252e9e7356cd43718694","signature":"2fd2fbae36d90c882407a9752398cc97590c045da3813ed77eb9601d712eecff"},"8b0831b12195b93be61fdb3378787667e0135944b831e80ccb48d5ffab303437","14ad786bd051b3452071fa9621604f241d7d9b70e884580b0d1f0b4ca610485b",{"version":"5dad98a75febd3a6e75ed31b98946b8c81ec11418c0e18e265e8257e8efdf7d0","signature":"de36810e11f6ccf5b9f1865305bf19b862414db2a6a40fbdcdc91053aa886d6a"},{"version":"b1387478a6a968315ff9d0709bf4eccdaf248975696fb847ed472448475b0630","signature":"8ebda9272ac8e9b6928d5289cbf407f2f891660efb24b0f6064551b85e546aad"},{"version":"ad4475af6fa767e44707c9fbd2e72c5d81d843a2eb369468a73491e24c2113be","signature":"5d02cf766d418d83fce82e93b9494e794f73689f91cc9c1dd08480133d8ed3e9"},"e022bc886a77aea16b2d71192139217281b56d5ec5f9ebbd1a92142e816d4b00","3db8cd806ed1fc3119176dc441b30302f3198c35e169d103f9c22185935ab09c",{"version":"c7fb175ef57c451b722e10dd71a65c40dec87577f2d3a69914966822c9413004","signature":"25d5d93af01cf8f48381f05118279f05d21a7e30c6f1a226b022435bf8f858b9"},{"version":"df25d3f8f5f9fd803bb6d0e82981b2cc53e81f3f5c6aa51ad1879b79fd463e7c","signature":"fc33b0a4978b4f64752e5c82fadf449a3afb236ffbd0fde1fc3347b7b0fab1cd"},"66c1074fdc6acaf62fa3ddafd5aea74cf35f10714c88815b98145f1634255351","e734467aec3130a2aea3c4bf7c20090369a780841973c763fbe01a41f4630495",{"version":"3382a2ccde1163f22f2a211cc0269b39a65d1418de833d5b135384f8cd8d4bd5","signature":"6ee93d15804c17433c96e1ccf4a42ebe8320cad288db8bf3140616375d77af1a"},{"version":"597969e5794403738403e8f7273185fb0bd496c1caa992db11e3c3b507297a4c","signature":"27577752ac8eb2ff3e6034d66b0279098f574b7a585e095cb22508aae10d401e"},"5f1aa1ce3a361c16ae683ceea4d02e02a2d8f7190e9657c4eab835de29e04116","fbadc59988f32f8a9938c07d3801474f14a17430dd6bcb8216fb19bf4ada6b35","ca8fbd6066419fe663e115621da6e87e349aa1d034958c7a5d4e7465308ba8c3",{"version":"283b37c008467a0e63826d6585310c97ffa38231511fe758e2b787486e1f0f64","signature":"1734b8c1f8858c65bfe64f93e4e3240023f32bf949a1946020c26e208fab3071"},{"version":"2924ba0d687a7931fe5b2d4668cc7a1e23e638fa1b5b19dc77025cfb0a1b6c24","signature":"5a3fa23fea31a690735fc7d4c896d21df571421612a1cd5f614fc889719eebce"},{"version":"d877b191e40561e0cefd6006fc4b9bc01333b72e6a4839f8907bd278bb147980","signature":"8d006fa2d7e1756074e6b7ec5c53697edd83ccb3dbf51d0197d7d7437faff51a"},{"version":"0e0114067ea4a31aa7f972312ba82a4312032ca026fddc5f0f9c4755b66687f4","signature":"fb4ceac95fda97f0bd4bb355fdd529b7c5b8927ac4232aac6ecdc05252b80a3a"},"3b77611fb017ef2b4f88aecf9fb4bf9e026782f8aea69993c513a8b09ee40b00","e15a6610ab4676c7fc3dba80fe56f4422e5374d25bc2e7d8d3fac17b6ba69378",{"version":"2f872f55bc176f3877fb33929e84d7f226d6fc1e5f8560d9f8af124b68727282","signature":"fcb6fb6ce91fe764044ae56ce0aac1e2aceaf5c1d5fd7480e0526d1dbc9096c9"},"271e40cf059ebd00d27f9ef4c8ff2dedf679cdfc3f72ea9e2dfb8548ecd587f2","8f2a537af7f56a30fafddca3dafda7821bc585d149e8bf431b498c4f912eb7b0",{"version":"0c904c276d47f325b2060e9da916c23b5c1b62a70953f6bfd81c594528db9b5c","signature":"4cf30eae5807e4c6b30ba2b3fc4c1e0e76827abfad574097c4c3842f84a80934"},{"version":"d69bafceedf6644ff4860630238432c091a7cf51f7593da2d729ab5265daeb34","signature":"96d119c973c802af188e2cd3d508ffc5535aa369092fc9deda2a719e23ab89b1"},"70d8f81eab71798d6225872c688be33cd68e620cf63ee506ea5596cd1b1768f8","3dad2868a178f496d614e7cbfffe4193691302666e9928eb4c5e95b6d9b82868","4df98a65f4328c1b3119fdb64e4c26662bdc1441d08cca728cd842d499f7b478",{"version":"4c296b5279dae55a7f26d88ad379ceb0e7d5d531a99ba9d9e339232ea9960d9a","signature":"d3e6416f607a0ba16b4fa68a6178af583c6ec224219b156a4bfae284781d2a40"},{"version":"b924499023625809bca39480b39b142f86d5ede5f55d87d7028b749eb4ffa0b3","signature":"edbc42c68019d5a6d731dfca7cf079ed51d5c00dbf366f83eb13803db8c11e7e"},{"version":"5f0b5147e34606658e51c529247439bc02e481c190cd351ad2469eeb09ff0e03","signature":"6d308b999c3b059e7ded07530e0de2255746b453f242bc1d8643f09b3320c3d9"},{"version":"d38fb8c6dfe7fb4f5a7857c812d315ea0109cf596ff070bf95fd39ec9fefb1e9","signature":"c75fe75256d1adf90191ba4352eceffa9d7155dfb3ea7beea8a2f6c2a88eab9e"},{"version":"01fe1c982debc64d5bdd7aa42ed938f9657395a2b819c93508bd79c58cec4817","signature":"4462e899330df45fa9a4488a5eccfb274a0d0c07b1643d35de616938216bc23d"},{"version":"56b2dff146e97f5c4c0b1f7f283697054e0a566213a8b265812a8e6b4ddf1956","signature":"5acf4fec3725eaff45f326b6c91834bb56bc5ab8fa747296fb2c36af2cdc1c17"},"289a1745af04d2e0278ee667e0dbcd0a97c24ed685f5826558fab951df83c885",{"version":"59b82dc49a7d9051a216c63c5004ae173f1af999281443bde7ff972256c4b29b","signature":"40860cf0998ce2e52dc56413f7ca53bcba3a0e112246ffa4a77061be6588b64c"},{"version":"9936774c4448f288b1c9885181660020e75e1a0c0fcb3cdf4f2ced0c69033d26","signature":"1078bd0f1c6f60dc0de84830005a0cd0becb37ef225120bf7e7bdb27a849ea17"},{"version":"c79eb3d26e263bd5c7c331b18080c50217a25def45f3cf8dab6198393fc36c63","signature":"e663832d6f3ae3e339e94c32b8f2df7b23757d4b447de5399140b1f6486f741f"},{"version":"6b968f842553b47c820413df937074eec9ea19dff0f4f4ac4f9e3fdb764c35f0","signature":"d93509fc0de72a2875fcef5ec12a38271852efadb28a0901ac50511658bb2722"},"5348665270c83ccf8fe7baa49c092d77ffa5b17607edfbcee8ad7b18171461a3","9d33374c995e119f482fb815efd156f4f70201ee715d8770bd2da0b18d8a7016","82fa9c3f9a52772e249bf348b80338d671cf9349bd309d788358eea5de6157fa",{"version":"939f2c81c131f100df4ffa74d34fcfbdb268fa1f0d561f205fa5da5f2e331272","signature":"a4b50d53cdabebca4744f29db8dbac1a144a8763f37f7ee400189bac268d5d39"},{"version":"494daec063204342fa874240dd6319bef2392ca6d5adf11d530bccdb88184594","signature":"a4cfec6467c5ebbd78492897f6a104bdb4cf1b3f4cd717579204e301006cbe7a"},"b23b90ef807b43901b20eafb4ebf29e6795b26d39c0c30ec8dd36dcaa0259a1b","9bfbd39603cb731268cd0909dcd08b8d696dd007417ea5e167d5368f54012e34","c8c4786a04bc4d5f5b8b32e8e610bc60afbff575c45419483966ac68172af2a0",{"version":"67be0a6d3388cba1232675bfa87619cc49f7057ce69016ea081cb78184b7872e","signature":"fc0a656b8391c03e36f43f4f9d20f8b21a7c838be61196bc0fb723dfc426dd60"},{"version":"1c5f80822abc2705856e37d9ef5c563a67488236b4605aad9f309557e45d4e2f","signature":"01224bfca26676fd77001074c07844df0c126803511fb17bc8f02e05dbb6c335"},"11488d1fec0a739bd2f72bed2c753ec89fea7a1717827fb72888bc23d33dab2e","8273e2949b17e23c87efaf659243741e100930e97ec48402b4da1eee4fa67fc8","24d1892e49361ac38bf5a2486bd4cac22bf0839abd3db490392e79b44727f4e4",{"version":"d3bcca8862b4ea7ffeaf0c55d9b0b192d9f016133972bcb3a8e508f8ac1f50b5","signature":"d4a25c24f65e7ba40061f8b77583d21f34902fd469053621eb3e9afba15d9dea"},{"version":"0ab1f2eb077d32a9af0b15d4004b089b1c23cc522cdcf990e277ec4c16de9a7f","signature":"19d886e1e80779baec2a99f0dfd9ee02d2b9b209b787547450cbb05f7af90ff5"},"b99542b0a2f9d2f10368daf909e5eeb611d7326b028093d2156d18c053cbf790","89adf71955f52f702a665d3f58dade075e5b6d36869672681747661ba590f35d","bff3dd2956143f764f999ca56ba08f135bd7b2d6a3717a866799861c617bda4f",{"version":"524a7150d5a1a54c082f682c9341b7292ebed7d87766bdfda7117e267deb0406","signature":"244af3c765352357a81e1de694c508437c349df4a56dd2d058fc92424fa331e9"},{"version":"a34a4c259656d1e77363fdeb7445614332562c02f8649d744cffcc6dd7a3dbf0","signature":"eef12991bfb128025e1596ff1ea79d435de05fe3530a47690f8a3eae704f543b"},{"version":"4f70108f99c9cf2da72d5fa3d3c0b9650315f22a0f4cf01f87047067467ac365","signature":"9d68852825a353d9196e314b3b1d99dfee8a40a65e982353d2313a9ba44f65d6"},"ffea427aa112453f49d3a78c61dc78117c917c63b2a5caa8483a5bc52ddef097","3c451dfa1b995aa2c46da636c9d3c79e4457282431e31c9d031236157adba1b2",{"version":"5f1ec068e266932616306ae3a0269df602ade5f6cace256382b6fccf0b20abae","signature":"6622eea48b064006e67b4e62ad278d8d32eb6d23001ba1d1e2303a940d6177a4"},{"version":"e41189f557fa380d98c0edd378d767b1bc953a76521bf5b53c310c223ca0f56b","signature":"e2866188c6269dece1ff13fe696d6c1f9a22257dee6af457f3db4aa38a3c7b03"},{"version":"bb8fed82b5a32f323807e4fad68d0e17d5af0b6affe622e51597361718898a78","signature":"4b44fdf7a0cddb9ab20e737023cf1d490cb954b9a7a24fc6cf9e4bf8823fb9b6"},"7fa475e04a016c2607314a288b96ca08ded67988583e6a6f008d696f823ab365","28999d65ce93885b7d1e25b8ff1fba6700abab5633d173a77f7e0d5575a2c291",{"version":"b4e6053c55c317cba5dbf13dc03164060b92c39431b44c9219b5e1d44dba2fef","signature":"63fe27ef5a8ee44b9daf39b0d11924d80282154fef9b661f9c259ed14757e5a6"},{"version":"fb3c421093a9881587670b342cb4221676de82d3403bbd325188c35952aad790","signature":"4f37f4e639d4b0b79aafc7d64d71255979f87c231033932d23cb039b0e32738b"},"8e9a45e4bd61af032c449a11852c84725e2b7437f642fda07e4832bfef848bc0","acc56ec9407cdb10d16229ab8fec0092ef6c24ac4ab98284454c959403593474","7b36be3e61f29fed862ab47fda51f9ba0fee8d7cfd269ff2d316485856289cb7",{"version":"d90b5c5a82228da6c169861c8b899fd90bbca0c564720247757378e46a16e2b1","signature":"bdb3a2583b0ad6010ad15f6d277ab2a0f959e856d641a04f2637ca71f12d79a5"},{"version":"2aa67ce02262909e0d72b7696fba2af4d26ef0e4c5a06343a34a4dd155885d6a","signature":"008c2af49cddf0b8001b9cc065aff42d40a9f425652f6ecbdc466c96554c4aab"},"a7908c76e51868d7bc5fa7701a4ae1465643e1f3f944a2fba087e23b347f6669","1c1d92f53c7985364fcfc4b3cc4281ba2915072a2aca171ee5f463e09b2341bc",{"version":"94565e0b8de5b5182f6d4d6c880e0d54ac4da6eaef394eb342d4098e630717ab","signature":"b21c471a78e60447ead5c544ae439edcc23accfc60c1bd8669ebdb535765d443"},{"version":"9bd6f3c84656c300b7a481d0ede9af77dd0d88ae3bf0b01b0247cbb24bb335ec","signature":"37651bad2a27a728198c6645cb76b485c24594a1d8b81bad73ce7413dcaed64b"},{"version":"2f29abef50dfc80475b0025c1e7dc5b0a578294827b04badb7e2c35b5f3e6edf","signature":"eade159e83f135a945c4c503d2fc0743301917f346813ede813bf7af48e1a3dc"},{"version":"b527a3bb987b474f223e7398e71a9db4bc5f0db1d89dd8127020913be0e8f568","signature":"bb9a656c0304b04f0fb7352a138ec2151b809e9f63f87805a89c600e32de1109"},"86e2d315e8ab0d4fb9403568cdb67456507df02daeef02fc0f27a90ec5fb0e98",{"version":"74070e39630ca6dbea8a78f1301dea95590b4a61cc9104e3bb3802f24193efb3","signature":"86656553932a5aad86e378e0ddc45f574a48c30c5c3c60ca5ee921559a244516"},"7c736aff1e1745f181702ee11d16a82417e1368872f0e30ce30ecf16924df278",{"version":"6d4beba6cdf8c2d871a7aad65fb058af65b257d36f0abe661e0019dad0195b28","signature":"340f23d4dbf2c20c8bdc33113d0d8179014e49468ed5f957344c3cf0c7d5cb43"},{"version":"66e0375cad3b0ac63d9cd7528fcfecc82e5f2746052cdb435aeab3875097671e","signature":"067565802813ce30748322a95d66c1f51c09626b9cf0109acaa3425db494bd66"},"47c7ea820e1155580bb8b6d1c6f4081dbd6254aa1328d76158b95a2975fc8e27","c9f8039768ffe6a3ecac2b918f7baa5cb0cd2402b44b589b77d1abec39cee50f",{"version":"c82c6964eec52c37bfd3069c324e0aaef6fa6d0debe438dd4854312204c8d64a","signature":"1d7fc1a3b26785c7d8dd004b8953acf5c0696a587aa6ff913e2ac1be194fa444"},{"version":"17e54749782db7449517ba47a6c9a1c41a24eddb729558054312c89d9f83355c","signature":"85ac3f70e0d8081f8a3356ac2ddf884ef071745ee49cae2d35d825f74919e900"},{"version":"2544572fb905043f804151d393a446594eceb11a2d3435de118b0a505d401c1f","signature":"7e6dba06ceac7ced36b67656d6780b36d314b7bf83b0a8b4d3d085705c2660f2"},{"version":"1d415bf21580b44282ab6496f5460b2beeaf7fe0d9bb66b139c2fee8610a12bb","signature":"38b9127b3daf3783c9ce2b912396873207a2b4fc53066b89b0dfe5d2a12281e8"},"d08b602545ed3b7fcecc80198c3274f8e788f8863b553141e2cc20b983836b6b","24a0245151e982053abbb70420888f2055d3ab0f55ac7b5ab6476aa305a5bc37",{"version":"58b1103cb5fc7cf904a81f33661792af4956ae2d990e2c79af774458d399944a","signature":"c43841b05edf6c70e823b70cc861b73f05d8f504e857d2d55ebe9f3e0a23f634"},{"version":"26a94b59c187e44b4e4dfb3a1ab8a0eb9c5d63c7f8759f761769250cd97271b1","signature":"6ec3fdb7679028bcad7cd766833a425b221c1c32584f5425cbe3bdc1b0a36ce9"},{"version":"f7d0447e758f1e103bab0de23ab0c8ecf3f8f87243a61610846534bc24673566","signature":"f73c3a0af51ac247c933e53a62bbd6950376488f4c0cd7b9077e71cb93184fc0"},"868f4055b6604ad78e951b3a4b6d6b80c972f24e54c8cc8be276ad342ef07e48","f5836d86f33b58b670cbb1271b326ac7160ec5ce8bf8e26753087be558a4299a","de5843e1ea5d9b82a34009151f9dc247b1664896f0acb4966071b59edeb7ef26",{"version":"d24f5a92de0fe13f32d1654bf69eddb275e75f75380be5d63484a76c28ba172e","signature":"6290af4358802bb7a4954ccd956bf2f3480882cd1e6388122c30261386644c22"},{"version":"ad5434126d66ef0be19d84393caf232f253fd61ca7fe4a0c14257bf6ad48d746","signature":"c5a23564f2ff2874497f7474de398ea78a50251c579300468a4f22ebad9450b1"},"217e43d4316e5a7186655967b97d8d8d19fa3bde491cfa4becf5b1ae21264022","7bacc062ef93eae45adf1886180a9236f9ddb4d17bd55b983fb9c1d5d256f4e5","494dc1a01025ae4451ae99c56e58c639d479d21255f42fa9682077f687c43cab",{"version":"b9268bf780a803a1ab9e65ee668e87f5ad0d81bbc4264cddb1333fbc0e462f89","signature":"b30b0e436995b28eb099d106288c03d69ad4eb2f8e2381c9f6ca9eb0ee021986"},{"version":"649aabb32f3cbd6d46234ca0d7603a1346171322e0b7c221f0449e7a99d816d7","signature":"3c3b65e0973bb568ead67acbae5bea98bd9e029659caec08af6f6c22c823acc5"},{"version":"1d44cc68f2d2d6b65fae1bdd15058f8946257f198c6beee43f5d18d223edbb39","signature":"bd9874d835618f942d9006fd6e6c0311dd16cca657ad371ccffbefea754e21f7"},{"version":"246a06b4d7d317bc3c9f1284cd4ab28cf65276d353cb307651f9f4c60d5ad421","signature":"064523f8b1d5e07eb5e3ca8cb5c8788d7981a398b22f10a3162c73fbfaa10027"},"fa4ea7532eb7c2e0d7facf06e901c707c51e12274232e70066bd88d57a318529","321fa711bfccf6a3608c60009137e903679718c4338430a5aa3ad2c5367fe7d5",{"version":"ef3ca8fe6fcdc7ad5b7133c71d7ccf768c17b75e5d7087d55b396c3fa53cdef2","signature":"bfa3580c7b68cbeeeb2aac0c424fbd5511e8c6b99fcbb4ee51a76ec6d840dadb"},{"version":"5326b2c5d60259ae8f5f537c77de1b1f0fdba6961eea53be93b379003b8b724a","signature":"76d4539ff9e9043064659625ccefb50e0430b7c5ef4da2c358015fbdb04cb757"},"097ed5f27cfaca08c5e8298f41a04723f75d1ab08552d0a9a4df9175dff38827","1aa60e2db8d7c5358fcdced8d65e223a3ec8a00cd35ab157e4ca305289dcfe22",{"version":"214b4aa6447fb59bae096e4de603bfbbf8ac91c083563e370da59d722a6d5400","signature":"6a50f00c910b273a9f73931ea5d6829811f3db5cbfaeb97acacb938e3164cf74"},"d6b3a49aa7e291508e66d81a3ea87ee1844f241fac1d85c2da9bceed95d78333",{"version":"c1de79e474bc2bec868c16989d20d0abd02e51b08f04ed9efaf33203694fe3ea","signature":"bf6b9666ef586fe6bc501443e6762f952825468e6024870925a7b832a2ea4b37"},{"version":"df62c1487b7ddb02921ded4a16328e922220be22ce6d65ed6c75963ae56fbcfc","signature":"3c6fd539046412ab0ae584598fbfbc33d590febd055a92d4a353d513968de800"},{"version":"279016e0c88f2ad2e009496c05a0f233407a5ebb08c2e20c29e7f223c1ce2698","signature":"6f68a9b91314e9fe55746169dd30d29033e9ecedad257675e9f1747a0b6290db"},"0acaa0b20282e72291a6bf279dd397f6ffbc39fa2b3a7f8f4f97bf92a5bbbd2d","8cd1fe204b2ca00fe1d18f361375f816e95fbe20f5fd5e2b1de3499477ebe63d",{"version":"dcaaabfc111ed264d13b4ce9e2e2d4a3f96ddec0b282db08d57d2c32ef23e7ae","signature":"bb26576f87d0c36e5460acaf526a4dc82015552beac81ab7475b5d0cf0b1fc3c"},{"version":"f2685396bbe14ad5ad72a5f6ba5b43941d58c8052feb38e341789148458b3963","signature":"ad6253b340491751d96a9745477e4590547e39fb1755d835eef973f0273f73e8"},{"version":"d12880df5fd8ad24c624071d10604be98d5a31858e11d69fb088502ff3b87fd8","signature":"0a64ef92000178c18c3e8ba088bf4de6ce9a74b29c6265540dea47e402e5af3b"},"084b410768dbaea2e495d902485618a250e6000efa2dc69893028d5e5278d006","fad6be3f92db0a8a5f208646fa8ffe65cfb21bba787e483385004ce92beafe14",{"version":"d65dd16c9078bfb7d8601a73009dab3c321ba285db98c714e9c6a5ec45e9fb94","signature":"e72ad5ea613597c468c5130c754a8447f8751b25f76b108a796c796cc1f51552"},{"version":"0a593f91358a6213569b2fc652a1c5880518fa1579be79dd0b8abf6a1c7f1a83","signature":"ab70170d58eeaebd7e2eef6c7493a195bed15722d8cda70c7f2461bb008a7fc3"},{"version":"1d1fffda21947965db9092cd155a052523d9a2552658a3af18d05cc3657b2f4b","signature":"819f35ddf90d8c1d9b2bec2e3b6d867851e7e76d0e04da36adadb9395aa68ab9"},{"version":"2b7386ad7ee65de70009f807ce19aed906fde663c9f6af563a2ff82d45bad76e","signature":"e24e8b28f6823345dd11cf9f8e917f126bde983b3f4846ea00b5962c171b283f"},{"version":"b562f273d4c89a10baf0869c2113812bc1d569380964a593131bd6f723c2b57f","signature":"661fcf560cec6352e92730e4787bbfeefae9a31d51e5e40a5c7b939689d06f3c"},{"version":"bd8a0d7608ad76a24ec69f2c269a8880e346d19517ebc4932c24627543847ca2","signature":"903e857d539d553c927b8833126c12f9a022361d068cc2827f28af5cc93af0dd"},"78751422400cbaef3eedbd10964596fdf1ed4254fdac78488f855d41b433aa48","c89e87d86f81991c2f8138c6336aa863251509e88c2a6a816f38de159ca525a0",{"version":"9943aca8e1b13d4d23c88601e87743afc902082bbdcd0945b2be78e75cc09861","signature":"cb8a556cd1c924f64932c2c3ae43eec16f530fcb781df14b858328ad53ff3661"},"5469124b694e26444194d94673989186fb6e5944dcbf9782025efe4de76ae771","ad7d377bc2a3a6ce3f299e6fc912dd18b2da5912ab6ebbd0f9bc2b935a9810c1",{"version":"4e23d9e855fdddc99f7bced6ef89065fc8904e68dae7c2fcfa367f36289284ea","signature":"831448a8d343cce3b473c6e346eb7bf4036203535fa19f23844386cc0574b1d6"},"db03ab9be44c353d014341ee5f3045f0287c714bb5a085410e367d92cd4ad514","fd6fbbf4f6756d2f359d5d9d23f506b905d2885725795b0f0e5eafa9da27d864",{"version":"9b0282c0162b8e7685736cf79aee7b0c02740feb92c175b40a48f745ea60a5d5","signature":"be895e0b8d37ebd29e73c0d2e3c8dbf61f98443b57ad2693f2063e8677c0f52f"},"0eb4388baf5f5337e89a7d73a50c9380ac551221bd7abd56b2315c51c3114453","1f3c02a647589336ad93d1449fcf0436a09ba49a0431c94d1adb5d436f4e17e3",{"version":"a178d985a82690f57dcf2df956dc8d977fb648d8a0585f6915d5fa0f3ace8697","signature":"ae32d597dadba8ddcbad972e86b7ffc83748ec8eecb4b04adfd21ae0124d33d1"},"2c751c4dbd4d333d2e8c0c8aa4adb2d7909eb668566c6ece5c7e7782a7649519","58509370e94b48323d05a959a9f636a87d08d7adb3feeed2a68b2686507ba7b4",{"version":"9aab05683b8904723bad32cd2668ea1067d4b5d2453bdfc8c09bd1057aabcf21","signature":"4ad35f96e2f397b370ad448753616b62ece8c85d8f0b9e51b060c0184c509043"},"f1153b353bbf33db2ea3b3e7b9e8bd4a62a165ca7211a950e0be593291db35f8","f4243ba8bf4421e2e2e753b680b195341df1a9a91903895e049e0eb9ab67029e",{"version":"3ea2fd49c50105e2bd51a9b8281ed040cec5719a4f2da4b55781560d3f536b58","signature":"59fa1dffca1315fef417fdb316ce9edc00236f76ad9e322c3bd199b910f4d6ad"},"123d3d09c555234af1b104212bf9915a712cee07727167e63c55cf3c83aef16a","f29d66febff725cf43394c02d94a187fb4fed69ea6f5f55f008eb4d780c9a0e9",{"version":"d2d996f911f71d900cdf57c1c2d6a65e68c63ef8555cd8efacd9647341b634a1","signature":"0e91a59c1cd4d960eaf1eede7c31031606dc64e34c20ea5da6cc1671896169a1"},"36383120db1f936e11da06b9db05232eb43f9abe32e0804c297842e194361ffe","21b5d1b47c7511e67f11b1183843cd164fb423f652fcaaff7a1c17510b08ade3",{"version":"2491b117c5c71f62d341a8e15007d3fb78eb9495092baf0f69793938f83f72a1","signature":"24d145b12962527661dbc5b0452ed1190613d5d1a382bc06d2783544777c4ff1"},"4c7ae92df73b8373e17dc683146d3747ee00e41a0ee5097fe0b09076d84062c6","d7d574d61ed6d3ed03f51861dc748ae8778637490338ce351cec35337cb3f32a",{"version":"e7100af28f936699f22a8b44b6dc7c53e3e09e3e7c9b363c56c3a0baa9ce3092","signature":"24337854149b3bb0eae8ade24331cb2cb0048f35a4a344633e9281eaf1c59972"},"fbadd2e611444c78f0005a817d3b08a6915127c704ab73d7f3e213abcb05e928","da9f8bfbb5b9f9ce48eb8cc72859a6e9af2df1145b2c71a21b534d1b8e5a44a6",{"version":"d0a3bf0e2f68924b75659919a9f7fe167540147a82f55ad801c398b82d4e24e5","signature":"a51815078d4ec2f1f514215f08f7de99947d9985057dcc145d9c6e7aee79e9f8"},"1bb68b551575aba625e531a10f5a041147460432109facf0642cbd81d56e9dbf","4ea3c0b59a37c7320d1798886827c7e2e691d566643198233e683f764b6bb044",{"version":"d1a0e1043ce212cf8187c5d25f217c5cb759b7c58b2e9f4e39c112bf10e14a9e","signature":"7a9ba997de73751a6ab94567d8710fdbee766b8aba2a606d2e95351d59d19fe7"},"6d1726a115615211824c5e59bf22de4a4b56d71abee15ddeea87c4572e1627b2","b12426efdc99e0d545f41d34eead177330b336cc3d495d13d652e9f4ee7bcfaa",{"version":"e19e5cec806642092c03d3eec46c6fa32f2a01d368bc0984db6b391b60cfe3cc","signature":"65a29e4ed62c3b7a2c0facede5abb8126d9657fe1bee6443f3d489ba0c6c523b"},"f78d286b66902ec9241ecb52fc5c1593c4d145b960bc74acacb6207f9831325a","92128b5c04b5fa3dae2ac6cfe64b2183d001220a137e82d68464b358e71b9e60",{"version":"402502a2f35a9b78c166a5ebadb79e1724ffc1f6d424c076dcacb8ce08011d2b","signature":"d92eabe2e32bf8ea3e069a31a2ae3417cfe9749ac2bc66bd69ea5d75e40a94ea"},"541c714d7706f0ff246175041238de7fc95ee2cbc9e67970a485eb5e8f502c6f","eab67937768dc159f2add1770211b696ef28c8381db49440a2d0cd6a53bbd7dc",{"version":"dd0ba2c20fe0efc9844c4a9a2f81fe8fa6ab34510f2548da8f4828fdccd2cd7a","signature":"6703d2b49bbc364d6a5a703ec38eb4c9bdf66f348cddc195c7e70aa27557f512"},"08fad8548f8245304f9e080db687042d6cd152b2a708e96c86017035a47dd109","fcedfbd3de9c4cc95dca94f6ece07494cb9a4e5c2e95326e198874346857d670",{"version":"6abd67a36f049e2cb16ef2a5786bd448b6ee3458134f6b634f87112d4a089f79","signature":"9462a798ff747dc4609331d9648712e0eee549babbcba472e17dac2a746f1c03"},"f883a4ed0fb9921cd2d67c0f40a662f6081201eaba11545504e7f0f572c0d7aa","16afd8e6dd842a6523158c81428f04448e14d16a2f08a6334e8036baa3dbdb31",{"version":"607ec12c611e6734b16852e1b9383e7ce5a83ffcfde02f8b075643082ae69a1a","signature":"632c56809c00db1c50c4a1fbbaf7b86555ca80ed5fe410028ab997774c900c57"},"49ae9b494154be458f10b8af62f4562cf114eb6e96fe14ddf5d3384976449b21","5d25b9fae725e5cc6c910dd9f93f59d8c3b45ec9430a479354dd3c0264cda4b2",{"version":"f6f1d3736c051224c0d8cd68dd26dc70f18503bb572774fa81bd6736df771035","signature":"25b238dab0fd2f0cd84345328f5f872197009cc9ea686e520f480c1f4af9b296"},"6dee30e44c3a7a939a9cb4c16fab45f986bbbc4c803f0e1e3903986839586035","d483eb6d531e16b927e5a107a77e7344deb7928051cdb4eb989e068bd01f78ba",{"version":"535ed91a4626e42b315834626106c3384b130f528546a59fd6c1ea8908968590","signature":"ff7edc84cb5ce9475757d7086d3b82445aeeaeb84d88639776e58f32aa045d42"},"e5390adccba67b8b92afe9f73f924c1ff0c2fb0a25475f8f49945244b4ef3063","f8e17145b10440daa24285507cea0efc05424e8e1ce3ca37f2f1acd3daf76285",{"version":"2f2b76ae2f3c30014fb730db9d4d717add072e8fdd23f6b0420fade9ffe8cf1f","signature":"754fbcbdf6ef4d114344486687f762f8975bfdabbc5d90dc77beda232e3c712a"},"fabebd0fee78b990bde2e23a5ab1519b31b562e5c0296b09fe90cf46784e51ea","41eeb1b064ae905e509fe06ea91d5ad99847bc66899c07e17a80fe6101d7c5f9",{"version":"0aa648887f2b03b38b131c364e096f4657b23626f8a2df646f899d835806479c","signature":"6a1e8fd64798d1d89e1ea20342eb074e753cf59c22a402a6300bb73d9bc12c59"},"6a9502e88adeeaeab31351fb95763884dda7f5c2354761b14d83eca88e044da7","f991f23433e35a100ef65074e7c08172f716e8239eca4e725c56e9a8d9a1265a",{"version":"846ab90bf9e92ec393366c1e69aa31b221f40b60542061652864627372661d83","signature":"649b2073114f23f98fbbfb98117b11ef03cf66afe9be8436d2f0e00cf1d1ed84"},"34775730b41a9b026c4c55960b73bd6a1188cd6bdfc46ea7703b6326170ab6fc",{"version":"dfe6168afbc8fd31aea1a854e7743584256fc418a93492d7591af598c9c04e65","signature":"d25162e4aa09763b73b1d91dfbe5f020cfde50f2b0f0118c65a92edc6e933c5f"},"a2b05dd61bc25f46d0e03c2130c4aa90f5492d115b47c0bf1d69f473ebbf390d","db577dc2ab8861cd5e3375592e93cf80aedaf078d1fc7d002c4ed09bf329540a",{"version":"9b5aaa2d1da25f286d43c66290a1ea79569d318eebd2d6f719ccd5e6b09e3b89","signature":"fb7ada845171485e401154a19c602f363d24eb180ab2dfcbaa642c5e44681190"},"aecf8b0054dc506dd63e39a2655890062ed918823489f479a292a0ccaa4dc3d9","c36e64c68733028a6ae982736f6174c95071619449eea6d685a1de26e7627086",{"version":"c82e55daa8d7ad53eeab5267b71cffab54d6d648745791703d383e0f65b89289","signature":"5b355235c89bda9891fc74041de83479ec2d18e3edbfc45143d92b336b32816b"},"45830bd0173560d9249cca377a391d03c1eeb363f32408b934bf422fc2bbd7c9","8deca580e6d157c21268840f65e7cb337d83b8a4f83dad491c4c2f512d0a676e","25b6a53cbd29a6c820b777023d20a64e92c20c0615fd39e67b20451de89036af",{"version":"685d7f6d22dc718237d823c5b9be9e614598a1b4fc3d3bf4accc9999dbcd74f8","signature":"0ea662091b83650c14c555917471cf31b418b60bcc593f600706cecf2cd101fa"},"c62fd188d4b69018b731290c1c1f8baf112a567ef3264ff31edbc6b6b44fbfd0","930fb95735057d5d599608f250436b7c28536eae435e4b929c007d0359a51be9",{"version":"63e744af5c97aaece1b80eb4aeccd252783f3968476f6183027c1bf9f67ba382","signature":"91db1481aa370487979ac5981e85cfd9d82f8a68f3312c465a4895101bda6508"},"0193555d43bebbe5106b34b9801062f058f2977045f40a493afcde6b15735c49","5af119daccfb138e61bfcd8a2f2ee6cd454dc651177f88d447d64d8cdbc9ebca",{"version":"486cc46f03ed14a8b06bf44b04f0c88cd58249301797bd655761b6464b94b040","signature":"71eff3479a2be8822d050d24e8fe35bfc5ec9764923612a3dbac4f77dc077d91"},"222d0d1c77b4c66da638a0bf81d629ec3d9952553da0e1584a96bb0bb2aaacf5","28f3d1b513bd0cf34ed0cc593734e5a0b7d1b7141c7c3cff035020e740cf3b4a",{"version":"71db47fd89c8cd87f95420726ba9aef6abe5a784ac66652ded5bfc9ec0c2c49d","signature":"ba8d26a19197a4812f79d80ec133c95d6e0d438a6d4272a645565b578152acd9"},"c37a96359843f2f0877a14d8e1d313a840961e48320e00a5cb88b19e649133ee","956bbae494a9e55274d06b52324088bad1df544fe3c80ee7d660cb34385e1abd",{"version":"2a1f72cea21124cafc824df426609e6bbeaf4bf1113442f10b0d544b56eb4d39","signature":"137475bcf450c102453d789e607a87d52dedccc33fcbc6547bad1f38725572f9"},"4432fb4d9b3cefd767361e073f8b5fa2dc3b290e855c7728862af332560f5c7f","cab82718bdc1504aea10f68c53085bc58ba172adf71c18d0f65baf5767c39d9d",{"version":"da72b3bde7ebca2efd0d7da380a3485a93149b13ecd4f4ec9bd644bc564bd28c","signature":"8b6460319d6c410bb80edbc5543c0cda46a81fe938e95d7b49a86d1f2d2dbe49"},"64f487135d2f0d05e576b09a9caff0e7dde64fe9096df03434166978f23ddf4f","456b9dd83de456c0ed3e3b2f747167eb98fb108d8ae7d0442beed2eab13ec05e",{"version":"6b1a1513d324488795786209de9db858883f3adfcc1f2efa1113c975e5056456","signature":"58cffca7c6926f268b119fa3def0ece861f07173e2a0f8bae83d565937a217ef"},"95da6dbf5482efa36ebd76168eee08acadcde177545fe955c39f34b9bdd4f18b","02cc16a295ad8175b1450c6a769d232d43139e4ca0f3983aa3314af79aeb4710",{"version":"d849f22706dac990c2e1993db948a8daabd9f29b9c924fd12b901bd5a01985a5","signature":"c4aec07db5927bfce95cd62ea1ce437aa8e54ea84aea4d03f80d1e14a316f215"},"be134fe5ce8aac65f1a916a804eaa5abc8d34004da6fe8747f9bdad1eabecfcf",{"version":"4b66cff4c948bc7e55592ba517e6a193bc25d1cd04066c2487ff36be21636b08","signature":"314c0f3256aec8add8b0656ea05c172b6676fa320c931f8605c697641ee7e02b"},{"version":"6dc094c3f031caba13ae727e6cd036716d848ec9600f0439f6e352b7d9dbf9bc","signature":"9c383fef7e4a98f93b0b7f3611108ce49415ed458c6cac2038b445cdee0f5bb5"},"3c005a44f35060026042ca881b2205b1e5d09e2a378d50fbe6a2830550a4f0ab","9b6ef5f8e20520789e7ea68fc0d4c526fc6a0dc674270825791298542c21aad7",{"version":"74aaa14034a0700a6e0c76bbb9e91f950e101fbb12ffd7947e79dfc1ac027821","signature":"38ee46442a8f624203d362c445a08abf3f90d981616f7ba4c30f721aaf2c06bb"},"9725ee1383e481778c643d3cb0ddabadeb625f14caf39c43c7516f60ea5f764f","d3673a2852c10784f461e867eccc155b7269ea4b7fcad16fba518a25d056d580",{"version":"34f83a971448edf194b6f6e04cab0f187886ad37a3a4e85e80165d2e46b28e4f","signature":"24a6198a7580bb203d000bb86217e17439daf1fb9c494854ffe1675c0553b3d7"},"f0efc6edbd6539cfcf7f476466246d7002f77dccf1aaccffb22b86794f304eea","79bff54064327871e100ebe46b9fd7a734577fea04eb1675ea1f5fad81f1637f",{"version":"b06b02692f61be7ffecf17190ca564b0706c905980d3ad079a8980179b7d074e","signature":"bfcbb1e81812b44f4b24152e6ae038c21c3764cfe87dcd7b5b113f829a777fd3"},"bd315f1e1b491f1e5fd6bf5e113f5eedca0d9fd33da629da08b09acfbeaf48f5","a1c66f6d09c6efa897e56d3dceba9ee2fb9bc54d367dec8eee576920f34e8403",{"version":"eb204fa7d756b2ce990f978d96dd978db281b6735b4cf19eecbcad2e955b7770","signature":"81e6a9ac779551923c3dc111a6a92160a1b66e68753f3210f3813a5888d8caff"},"3ddcb703e7da5223a9e8cd252abc8be1007af07b6e43da7b5498a1813cb637cd","bd6452edcfaba43096a8408274d3fe6dda7ef71e719490cabd81dbb79e07e310",{"version":"00739617889cc8b97484abb3c1cf1bcd89d8736f912f72e58a983e97d3c60810","signature":"016c6e8e061e31dceb1c1fdddc2e983ef268ef66268910fe1c5c87facc51f29f"},"4fa6973764030cd81150c2488c59ae3fe52fb38c5bb6f1d54c3928dc3d54ffc4","eb9eedee7f1419d6f26ce7b3d31e95635031881fac035729652db3242780328c",{"version":"c495ae5440be6ef78fcb6bf67a220f33fcf90ac0c23b00b66635e558d5f240ef","signature":"832c99530a0e934510c9b9ead2fc4aafdae7520ee6b262dd9b7f22d86ce3aa4c"},"5dd62891d3c25fbe0591cf4de757b29e898802178c40bf1c6adb88811b592ca0","f6054f5d5b5679a4f4765143fd491a25a3ac80c709d5b59c4010c8e9f9c57293",{"version":"12030ca9a5e382024ee5a87fa9d93e1164b0473bca6208c74d2e0b230e87deee","signature":"fa5ad338a4ad53117a050897ec039f89cf72728cc9f05661dc44c264d4f1fef0"},"c7698e607cf97edd7a304a8a00313984c79fa23f866dfe3301975e64f3e39010","0e854da095b913649f94b8e4952963c614fdec6ed352a5dd7b325e189ac4c129",{"version":"426991bc7c6ef8b07f25368efc11a5ef2c1fdcb4e110abcbef7bbbcb65ae9c10","signature":"a47d62b21b8728648357154df78efec4c9b1744f12e17de4441c30fb9bcf3458"},"aa046ae938f750af97f6dff4221afe6cd918d2da0336d4e88c448b445e133632","1030b1c0cfbacabbef95d8fd562758f80a68073c6fdc04860fe33eee0841a5e2",{"version":"52d033de682c070fd65fc4f0e80e9abe06a5cdde52dc9765433b20fdf564d763","signature":"5dc7565c3b3c99112574fe5c138aa9036acd41b2dc38edc058c5c427d2a34e64"},"69bb10b92dd4f5bfe27161be0b293eb7039fb1167c421fcfbb0f32809d57ba11",{"version":"c04b9f614fb6a6133016cd92f594a1b8f19419ea5b22987d42a7e940672816d1","signature":"ecd08c29bec47ef29a6d22ad6537dbe1ba1e211ec0182a6de3dcb3aa50220872"},{"version":"a1acf586d5611819a032a13e445d75f9833e0ea8b47d8b9b1f0ae50a57a9c8ca","signature":"192d5470d058607ca06c2402faeabf8f6e5c8834721f840c2eb21eb60f7105e9"},"a005c07fd14a753cd906be669de75aeb036f5581a8c2acccc2719227f1c2ab55","de22819c86ab04b4d2d96700c14f2a443be7fe6961165dee2cebfa5d33e88671",{"version":"08da834b371d355ec2d05032dd7650fbe540e2ea1722e247dc0199c53a2a20c8","signature":"6a1453d9cff4a08d24cc0953a7dea25f9a1c932725374b68cf4d98890f83a273"},"3dbef6cfa4ae2df84b296cb396826ffc50efe39ab385edda58d7f1c24ffee2c8","c3224f98e58d360994594f2423ef5d0c7bf40c641c19fb8faa2e030c321cdf66",{"version":"1fb5b65e71e39c622335efa852007c494bb7aa01cd34aedfd2be9412b95c15db","signature":"a23955eede9024126fd60dc0693954793fb45df3a7df055973532e6fc08ccd2d"},"1db913e6ac00e65b8de13eb408865530d25ea7c0f71be41b903b891a3d965511","acdd9b7caef0062f56699a7dfd34d71b8f4fcc1a6e51c322b92df5f6412c7e3e",{"version":"049ce62d668ef6f184a3797e2752bdc9b37eebb964256c0d63653fa18401d9ea","signature":"9e39a40e1898e6b25805dbb321176e9d2e3bbccf0f71f76c1d7e920b34e77102"},"65212ca07b846beadeb549f800808dc32ced4a0dd235868937ac34a0c5641431","5a88e86b9b29fde5ecd5714f6a9753cabbb001ab61b8caf0c25ce7edbf906b6d",{"version":"8e63432ba4ffb9c40e71c1812f816d4eb21d72653d34e7c9dfa81e3af92ab60f","signature":"5ab32891d8b10466cb96db76c6bfe7a799515110acfa44efde5e8bc42e8958c5"},{"version":"4d8a62f303aa4b8533003e08d5e1310036bd76c411ba14e08cdf8325f700130a","signature":"421a4264a8db67f39393cfecb77ca4c92ff310df314c466976122c57ff2abefd"},{"version":"17dc941b000fcfb46fbb8cee4434e12e598e700ca3e5323a3d2ec49d4d6b0c8e","signature":"bf4aedf43f07d1386e7285b0a728557c0792879a9e9126da27ba430be45b31f6"},"392b3c5d17e693b118b2714c333d9a2ebc6059c149cfd4146f35b1747a335a61",{"version":"dd2aec28a5423bf75263afb94d61acd3fe66ea16b692fe6b411a84cdc7d900ce","signature":"8b690568544416a06f4975d3340d0c92158a6337a30413f1b5628f6d098a0e38"},{"version":"a16a4eacbaf501c46ed1b5390d1c0be353aa8a779797116135de1a4be191ae25","signature":"4d3bd30062480a9d712d4243b5b04bc90d89e5d700afeb548acb372733dd9670"},{"version":"a0d123b28e07c90cbf2d109fc9c21d902360bf55c92bd5918b69d38444ecf9a6","signature":"c3a2c716b2c07eb9ba223807be925162693499c43908ad9a2b98cb40585141ec"},{"version":"9d0dfbfec555f44b7aad22e2e3ca6bc2676fa87ab1b5dea8e59b0a87ec14f056","signature":"6318aa52ce075852b922ad5580aaafeaa1dbd94a4ea3783f5df198c7365a2787"},{"version":"40e190295f657da6a5213c33065384657542348063663419517b39a84dc233aa","signature":"e963b4e8fbc11378361fb97f965dab23a1aa83262fe5841572742a7a17421d41"},{"version":"7e9a91777401ec9ce9f8d1fbaa50acccd55cebce3edbfff373f28accdb82d2a6","signature":"6b23dd16a6d60e6c79db1836b240670a911377100ddae7020ae2b4ef038d4921"},{"version":"cebcfd7b4f40aba00c1e316df7e2844f662b616109fbe3f87911364a8dd04380","signature":"998e4b25f99719d79e5df74b505d78eee02afb045889879345e5973f2dc10099"},{"version":"9c93d7ebca01a99e4b19d452e8fc6f2327e76049508973d1a27f4d4d6a4711cd","signature":"b032d5e5600115c8e0e06eca29ad5af23fc687edd51353917631805fe155d6bc"},{"version":"6b0d0d5541390b938fe3e03012ddb39a811123caed3761da6d941229f4fff8f9","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"89a01093a50a5119954ef4fdb08f614bf3c1dfa5954f5f7245851fa082084411","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"ddf293c0c11781b991cfb2f9580b581b5d4bf6cd4f48b2e9fd48fa0d01b60697","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c40c4d5c0ebc01a3a6c5ed4e2b7902c918d75c7db1f014a1c405fd3b1bdedf6b","signature":"e8d9abe325941b9ab91dc2f2040dd0022e9b8cadceb4ea7839a320d479304c9d"},{"version":"8db4f5576ed23c370caa6bbd2dc76ec9887fb37a279d4e763feb1a0b0f04c2a3","signature":"ed59bcdd1f62b2f809cc5b2714ca820f03d077f985672d4b8e65f30be2587a13"},{"version":"1516cbe7aa5330182dcd93ecbddebc48f8315366f87e9af40ba88ac0ff53f9ca","signature":"2ffd4b62db6ac8dbda52d0d33d9a6ecdfbd5b5ba9243cdf088fd4d467efec8f7"},{"version":"b29797d34aff7dc657dca9be5ba0eaa7f6c8feb2878ed66d94850be84403670f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"8fbf9bc2586fd1b88db2328f5b85794d57f22b991324dcd9fabae6ce1a41fac8","signature":"dacf6a2bdaee361bcb82bfa1204575aa6e705c005ccfad3a8649a3d6f2c435db"},{"version":"927e9f613856f9ee67752d7badda229b78741dc6bc542f71733d1c582fff3ed6","signature":"10f3d3306e9ab71e0cf670ef4cea07737b8f964135f678df755c539ca4e5feaf"},{"version":"93e5a9922216e3fdbc9b28e932981f8037989815cb8b72182892b91b1c043ad8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"b92cf833491d1d07af28ce316052d7f43ac0a59035f5b40c59812aba66592864","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"699f63f07d8456b110dfb8f1d00e33ebd6331ca8fac3988d0e584c0e1ee9d0c8","signature":"239c17d24b7787f5dea29c1aa36ee333ac36b3189cdc833125a4fac1f7f2550a"},{"version":"4c9a384cf489fa3e6b2ece9df43cd9ec277e396abb7ae547da7d74e2e4f25214","signature":"239736327b8f76b305c07658d8e1ef886b58aa80804d280fbeccb2cee250578a"},{"version":"b02247f30e089826102ca77a3903d3310677e38e852c9a25f12b769fa01bc8ed","signature":"ecaff2db8e5d15f3e2fdf1390deda1b74c92e7b7fab771a22d30693e45c860b8"},{"version":"06ecfc0e7153221207c61c82046f8cc32e6ac2f27aabed3248ae355ebeecbbd3","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"97e807e55c692a67847834ed928c930f7f7a388430d4286232e2d42d0eaa8c9a","signature":"d64778832176b2ed1db6f36845d92529aed5f2312e5ae8c58294d51c2ec25d2b"},{"version":"8d46079eb4ff77766b815512e318d4e5f0172ff97318e81887126a4f218714be","signature":"b24d1a549e29408d8c87243fb9d1c900255f4ce33cb9b866794a3df0195b753a"},{"version":"4bb3bc9ea05eb53baff9900aa5b69a85a268d3e76e790ef113b41a013cf79392","signature":"298afd933a341436221f85ed65c318b039766cb88d52bb9db80cf1fe05761b1d"},{"version":"00a7dd9830e9077da3b9ba9f117bd55084384a14031698a61a648781dabdba3e","signature":"f31e2e2f2f7cb48ccd1cd0d368908f6dab09143e58a33963e11ff62d12f09e1d"},{"version":"d8e818134c5567ac231440610ee1b536a3fb394bb5f15e08e69891f28baa4be8","signature":"37e5512847e933c4a48931d70750100f0ecbeab95982966ce2e744edcc823c6d"},{"version":"8e19e1f951eb4474fdecd357fd3b2b5d9c79ddf1c771fe7d4abd2ea814cb45a5","signature":"5241de7f90eeef61171fb47e1c387be0159580b53442d4a1b18bfb5e9a46f547"},{"version":"57a8ee5e182a1c452924676372e23e55e8255977b120c99f7ed73240103ed00a","signature":"93d97c4129ff381eaee4eb3fdc5e44d4a176139ab905c5861541036740aa62cc"},{"version":"3a857a69bd586c5f11ae8e3c6e5eeae15cf380b000ea4c595f5c0bc038fcb564","signature":"11672e8b051cd808217973f89dc1f6a09d5eec1a2ccdc217999d4494cf700d86"},{"version":"5cf9e41bc5aa4e393dafaffce7016653513254d91e53b67057e52455089e1d59","signature":"0a26c84b09a52e23caa4823f8557ced7917faf5017b787d73a6042e624517d98"},{"version":"2231655ab7a1a428f2d4ca3782fcdfceef380ca43cf50b1f6adccf0c5f3e39b1","signature":"f94f8374e3a8cd1bbdc136dbc7d0ea7a726ec6965918cdfefa8d7a6e9937c47b"},{"version":"087d08041529532beaeea7977703aee141e978c0c57eba7202a4a9b2eabfb1b9","signature":"246b8ffc060fd89e8017c49af2640de37c729050d8455a13b9c5b7aa2fb0f08c"},{"version":"a89187b2b756faf7c596e219c665d9b79cc53f09d57bbb2873121220b19c54f3","signature":"cc88a64b265fcd7a8abce877bc643aabd7f3612d7be324b4374a1fe33766e601"},{"version":"015ad3ca7381ab4a97182d1dd892df5597c60312a4e9df2b0d668976fefa2ee1","signature":"e0021060d2b95f6af5ab3cec49a341783a974faab5d26f0fc87ded5d82a624fc"},{"version":"dec4ace3d5cdf28092772affa5684941655ed18a5ca773d62e2fbb3c1771ed8e","signature":"2e9e7c17b99af18a3085e059e7a8e82099e7dc26aa8cce33f7f4430433434292"},{"version":"c8fa290dea80a99778d51b1c869cbc2bfbfe548454d15ad2a751375aba0e4044","signature":"68e493100a91bec5b7fa0d80e8c1e449a0584bf63348529e954a511c8a96a2e0"},{"version":"2d8b0934a4c9711e82f6f454120f696722d5cfe27372799180d3a804a1abcf5c","signature":"53f932d15ec8fb35c18ac166550dde2ba4f665cf1653dda762fbd11e3ac24ba7"},{"version":"733ab248ec57592e94cf9ff4d9dd7d04d7c312e786c07ea101e1e24f238e615b","signature":"984cb284f65f40af5423b50544c5c77dc51384a32139ac6d4ce2ec4602976cb3"},{"version":"287dc43f37d75e53182a8d9519245ec6593d2d15a0b39b1886e88a7f7954df19","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"3c67abbfaafc431b1f07e8dcee7d7aa2dc94cb379c2f1c494ebf579096121cad","signature":"0e8f1980aa851531881e473244746608ec37877bbd4b503987e592ac77168442"},{"version":"62427d037cfd5c03d7b1b750f4ad54d856827acb8f05b795e66b0fc0b2602715","signature":"761f85978d69b881375065c748dbb20710d3ebf3236571c3c16543c2ef315589"},{"version":"5546efad55e63c3777b3ac07dc44fd272e6cbde200f8631c23005deb99d4e704","signature":"042ed4c98cda8201850270e381f0d82bbc3424eb36d8ab88e025ee67be91f589"},{"version":"7c5a18b6d8ae1b5484b214cf52ecd9736ddfc193261dbaf30d1d1245026cccf3","signature":"b4fc4331ee2d938b8885d76bd634494b5449bcba6055633c66c232b61547623d"},{"version":"10f47caa205469e1710a3696faf37d0c16471fcc059c464f8e3e174bc7c6a010","signature":"43ac9e94f7db0b979d200dd7f5f6b8ea42a8709c360a2bb66ac93c010d9487aa"},{"version":"b35c438040de40d6c6418b92683439287e7d177b83dd56e599e095f668fde824","signature":"ae40f71306e001aa758729fc1f8d7d7026975f882d1d5d1e075decba40390afc"},{"version":"2b924bcc06de44e4dadbeac419aa4c05c83d76b118f6556db1fbdf632c0885d1","signature":"3e440f79c8d1fd845c9a602ad25944b7511c67093e0783b3b4979ce4a32cfad3"},{"version":"8c0208fe063bb35c4c5dc7957e5b0297c48451ad10d997c82aa10f713c348427","signature":"2f4f50e15124fadc5d1b6683b3dc58d46bc99acb325247e792a1482614150fa1"},{"version":"48e2aa44ec54408dac40d9c5983afbd1a1631661b687741785abec5141ab1b5a","signature":"925c9dc40e6ecd6b4c0b9e07b8370b3ddcd940644cd11a40cea9416ab947c67a"},{"version":"56319fe22cda0f2bd339e453cf1d563b2780cfbe641143a1bef13450deb7219f","signature":"3fe55f75f5fe7cce537ab30c3c54cf7cdc9e9cc168926ad6b4cbde0a42994fac"},{"version":"315543dddc2fc6ed838307606a3474e04604f47927aa68ca4c37073fc344b6aa","signature":"c0f9ac0b3adc53b6e829e1db76d88d8bca7c495cbbba75087632d4a4a44eeee7"},{"version":"f6737ad4263270016bfa3d506d1b0b3e75dbdfa7d5f6870543327b0804d425c0","signature":"e81be74246bb1236ab6099d74eab5dab723daa90a5c8c9a015acc465450a1a45"},{"version":"87f71f76bb0547c92f8ec349c83489496604c6c62e579903cbcbaf55b3b06359","signature":"6e09c39eabc1bb77c07cb584b4031dc838f082a4d49cef225d5269de4f693dd4"},{"version":"992d32d43b4c56a8864f73c287555c672e3ab082896fb61075a830b960660009","signature":"51c4a8455f4ba936a67b3ae6fc730a20cae29cbc6823109859d63c8c91cd2b5b"},{"version":"82628f1b4ba34e036dac2f6c5a2e2684f70c7e0aed5eed8853cd0cbde51439dd","signature":"6b996f9d72b7e75137c29c3c2881dfb032d8ecd1641386fa1baa34f258b8fffb"},{"version":"308d7bcfc0424942a792eb52a0cadc6beee12791f4893b4ecf5abd505236f2c9","signature":"53fe5f0dded067f0d80d9a13110c3c709ae6c71761f63ce97e1135437e0e64fe"},{"version":"b4771ffe3027e36a45504d4cd922b03b9ffe78207fa50afc8e9d57b36f778aed","signature":"a547f68c0f67a714571e594801540503612d250167c2e4402ee8e6a91d10528f"},{"version":"e75faca758d6f76a07490df0d87737d07438eabdcc0676ba91cec12ba3c6fd57","signature":"2485a93fc4ae8d148770a8dc0071fb70971183297b97ac65a5b6aeda2c79e049"},{"version":"8ecf39833788a1bd5ecba0a9cbe4de046f853d9b51216a7dfb4074a8db01641b","signature":"9854e74121654f999ea6569dd270d4c6638a9171d25c27b2135c085d08bfb318"},{"version":"49a08e16cdc9f764eb89a9d477144090cba91f7acc9685c679872c57db9b4a4a","signature":"e4055cad894bfe4f8b80923ffa69103edbbf82946cf5ac526a827fc49b7fcb0e"},{"version":"a66d3b4558cfcfc6930020380f85682502d8e66475dea90d406aa4e8aa373c99","signature":"4d021f62791c89ca27c568f024c3b95af0b5073d42d31b82b6185decb085a6c3"},{"version":"b8d5d63104a711901e2fdc5c09d08b2253fe8a4c79e13a9b91353713297692cf","signature":"02b228dabeb1b318a700b1a2681ce019afec85b179dca45e5e8a499723cf8011"},{"version":"d41a42ad79c9d6d0d5c631c638b509a6a0b0a4fb77f2a14dbfcae97fc0d7e270","signature":"faa2bd9cfca54191522ce8b5fbfeb91c97b9274cec10c64e68c367ee309ee9a3"},{"version":"7c21445fcf090a77169942103726fd167005816bf683a435a95fd14028e79912","signature":"72f7b89360cce8750153b28463d90875c036e262a9c3019d2aa0392b585902b8"},{"version":"6309398efdd3fafe020aa80881c7636e7225b4a4a996a67fb8be83676e6a1766","signature":"98693d30664b5a8409e105376e439556a5e6dedde7faa346a622169d21c93673"},{"version":"c2fb328f89f25bcb5cb08ae324b5f0818cc5f07f4ac266163a3f8e8ae69d4d0b","signature":"26f52696a7af3d1bed6dc010f3aadd2c8cabfaa70a0eeac56d99686082b97ad5"},{"version":"0a10b37b32fbd0fd1961dceab80b14afef3646708f8d0c2fa507bc363050690e","signature":"903deb7a867f20a543d928345331e792c03665541b3810da43f1866c6c575af2"},{"version":"3869b8dc38f5ca07dc2317259c98881ec2227cb89ff6489e7509635022c72d89","signature":"d72e8063c558cdd6ef2dc982f43c0f659a088adc9cdf9fbe70ed021c77484cca"},{"version":"103ed395e4ff923110e3db2cecc94584ca6c67594d220a7a258dd83aa4a4c90c","signature":"ae63cdd9be1eaf2332468a06e8d5deea6ff78bafc66efb90be313a6c398fc178"},{"version":"c0aab8aa5bc3244875e83cc0f091221d58ef535c2cb336b1449c64187d00398a","signature":"8ac15c4bfcdf83dc55eebdfc0bfb36e02905810a0a982faa4094ab79855bb308"},{"version":"1437c7f5858fb37c73c2a05c3825a714ab6f3cd54bcb7bb2831e928d08dfcfc5","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d336e2842c7ad6f757d182759869fbab5ee3c26c01e01ee607c7bad82d5f5fa8","signature":"429248d7944f5b776f5bcbfeeb0be199219fce3df503bac8cbc50e1fcf70dce1"},{"version":"e05e9523ee4300c287cff0b0382dd3b6ba520796a7362a2285997035609a7e6c","signature":"033fb6f6bc68a077d2d2cb09c1522d430ff64114a50019315aef3a65bb7a4af9"},{"version":"8d32443bbe4ebbfca0fc254c7757bbb6c7084900a0c6f513cb28491eec1d1309","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"40ee5363c8d2ef9ea43fd4f879a025d99d2e3f4811a78920dd169cb516541c7f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c078bf0cf8879269e3ec0e425cc642a55390bb0223e33288af7ff4302fa37550","signature":"589de113a7b0f2af5b958f2b069a7d2573a9546799d9a206dfde39efa8fa098b"},{"version":"092f00cbb4c36cca9e406f271ecc8d66d30663fdddee90e33daccf4fad91c0b0","signature":"8f52e26b82036a21ef02c65ef325d29a928d547666d7f8d310c66c539aff4270"},{"version":"b528df67feec9212f224076741f20718c4ebf3a0a997b44ef4b6086d8fcaac65","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"1083d06f422574d0c14f1092638e566a2b01c64fbb2cbcf7db8ceb7c4837104c","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"45bc4d047c886ab9b6d33fcfd9c407fbcd85a86338e317a9f7e9de41712c5f2c","signature":"f2d9cb4dc3408d8c96be87a250ae8fded3f4f1e1a95cbc6bc5d5175ec83c31ee"},{"version":"857bbb619afaa3f44eebe5c3c9b945e4c67809ad9c773f62241578c989fba6b3","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"db80bfb52f2aa3db3e969d6dacc92161c8d290657a6cae7444c5568e520204a0","signature":"7c36285bda96bebb8aeb90a16175e65fb39ddb4efb0be8fb23f892f3975d1284"},{"version":"ff61e1c2960bb2b5a63d737efdd881bb59620e5ed1098f8822229e26cc42e595","signature":"bf8ca0b265d0278db8022889f56bfed195f74f080273e31efff6057e979f2dc3"},{"version":"34d846061a08d3e6fbcc89caa7ca35c9a87ff05dde8a0af097f744f9006f779c","signature":"1132689b73e5e1becf4426fd24a8e29654e153d737bbce013bf8ac045a5f7798"},{"version":"64349378a2c0c6f350819611d4c013264a6c2b21530b5077de422a34e881508a","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"eebe80f7676496d904de7a0cccebdb7b1463a4f14a4e8389d36838b55c3171bd","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"6f074e9fa941991cb32da6f25b164ca84c5e68d971e24d30c3efcd206f426a7e","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"0ba430ed8a408a86454842dfc2eb506858ad7d531725c1e754f158a72eec130d","signature":"4457315d4b47ae0b46cef30602a35999d6751240f1cd6a7fc53daa33d0d6cfdc"},{"version":"8b4000d1fae0b12844500a68d3f62e4482e05a4d51491c733cd19c0ec51bbd77","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"a14f4261b9b324956aee398fb3c450cd408fcedf087d5f454bea2daaa4a5ca90","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d74df3a425cf8caa3df44327225fdcb04d2ac6e70578e7d3146dc85b3b4e9841","signature":"df446da13d0ff7fd3c7b108ac9a5ceee3c38a26df6dc24ce721379fe85a1967f"},{"version":"d447c78d30f35430b1c83e453f2249baae51df637f06c39d117eb52dd84ba5c8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fab60b3dfda338a1a1d53c9f8e51620d06945145e46f70284668649caa355e74","signature":"454923ba54e9232e88d84d89499377cdd502d1d26d463739b218a3b85c5cf66c"},{"version":"e6d0bc31c6335fd1fd94a4163e40b96335e3d7d3b35079a22caffe74766d6e61","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"65ef1177609cb72e66023b9a59b6dca25e03a805458251be57c9906f1ec026e0","signature":"3f6ee39fd1af27ff3c0eba791cfec9e76e6fba45c4a60cc77a7a51361c5f4502"},{"version":"c0f165462ac8113b6e38620cf07ccc995c3df2778a6a62e341acdf03aca1d722","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"641e130714be1c625ea1bbec882ef94ff08ca8bdc5ed2086b8673cb3a2b5c61c","signature":"42cfe24e606333169cefb1713c33ea837ac27f6ba89528381dea393e52b39666"},{"version":"d1be997d2035e874afb562cc28a15568a27186e84d8aa4e2b37d64f6183c21a8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fa557a769b780420ac070351e332af196f693e0cb8feac75ccdfec911b3f9b82","signature":"0ee9541abbf67ab14c3ebedd9ac350e45f40005910e7aa2f74c79888dcf524c0"},{"version":"8502e84dab02317e48a05ced2264616f975718ac6741c41bb2f4167172ea3262","signature":"00ec49a2de44e253afd3e4e0aa276921a2614528be82e1dfe33e9e6c1d36c50e"},{"version":"434919115eca15c8acf51336166b1b42bc22c92b9cb57fa85a4f4d0d487bef30","signature":"f0534b73f74b32651a6c0cc87cbd3c68abc8d525a221a8fada57bbcc0504439e"},{"version":"3f18ed0387ce51a0ae64258ce038558adce72107da04c722fcd106bd0bf435fb","signature":"3ed3607be89c07d5f0e4898f60ce23ba66e484d1259133f3617b0cbd10a41432"},{"version":"dc69a9016516ab0d8dcb78d66461243487cbdbf0740eb3a310546f631d77b7c9","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"80602776f7578051c41d44e27ba7fb5e1da0d372d5dee46441c1533c84fadc20","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"504cec130a144a59c970ae5450f03d4282802a2def022535b9c6b723f1566444","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d2a1c5e07f8255297a6096e8d495397a7e6966233d2d74ed20f29b25d4e45a5b","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"314557bb4d6b5d1c0505cc297556c06cecf778f861faf5b24994bf03bd12840d","signature":"91f0f6ac4a023958bff61b37cda5b32ced352785b2bd5a868d4a4b6253b9b4eb"},{"version":"0cdafaa8a286744d0116fe3f6f4618b02791f16570c48b199a1700caeef35360","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"345b4e71ea1925d5a96a3467c0b28748846795f09ce1e15dc7ea8ef75941369b","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fdf9d602c50ac8cd4d910ac58bbe54440cf63489e7231e7019ab2c82f9096d6c","signature":"b4b289abeb37159a42356b4850bb9ea3175613d9b0766b3a9696ebe03f4d8b25"},{"version":"6c520daf55c8096bb83d8a0322f148000d754c34d9c47b0a5fc73712b81f5a39","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"85ffc9f739f8afb45b07555e07d44fa3a98a781040b6378520e9e2f401913d86","signature":"dde0c5f2d4a44a6df40d34e785dc9acc1155fbcbc3333dc14d30f074c0920217"},{"version":"d1cc9adca2a645642ff4931a13db670d57b6873e9553f651308e012b2ef8b61f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"b4779aa71c3185c6f79bb03e827eed2e72c0d9a5050bac60cf96179729c099aa","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"653a7956fab9c3b54280ffa220b8653103cb5fb1248d1a0ca9d4d5367e059ad2","signature":"1b3345c339caf9085207ce8165bfb2a41e8532cebfae2f56522b070f9653f2e5"},{"version":"79e85a7daf41abee7e7a143147c115319dc7ad7318ffee4d5a76f1187e3ba1b6","signature":"ff3d8b83b6761638ee9c876d483be297d79d7a938e9b13c25c7bee8a02ff2a07"},{"version":"24e5215d5985807f3f9b281a1aaa84f2bd7d8a9129deb232effdbaa3069fbfec","signature":"81b9825a81df750ea629ca755230e6857fc5a2bf4f963c6b73c648e341c2cc02"},{"version":"3f73c2fd95c077468c7859450ab47c417d55ade34337c998970e60fd0a3285c6","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"3276373f20c937619e123b6eb1f8fa7576d7ffa9d30af4f4112c2f7ad7ca47d7","signature":"a67f2290272db3142c5f4ca1dd72887b73a2cfc86236f839d6a7896d273ab987"},{"version":"d4b08de1fbb7996f56d096097896af4aacbb8ac7103aa92b8930f70128460a1e","signature":"6e8af5e2db58d7ca05a6c28e74a6a65c6f6891106b532a25894d7947bcb252c1"},{"version":"96106e10b97b9c62432b6de7b84575f233c3000711e1b99ef0ee3abdb59680c8","signature":"9a3a0d54096969f74557250a6b6dfa4712dee627ebb210e6c3930e46fdc8950c"},{"version":"cbac98b0440a21b4a72f5dc7ff5bd774fd0ead37a7ea829369dda84e9406d961","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"5d9551b82575b9329bffb738a21e33ed9cb8d5755b0fea27ef304cd37904e2d9","signature":"2f7de90bceaed25d04bedf29163ac4f4a65cac56d5a5209c97033fb79dc7b5b6"},{"version":"9aee9555c4cd0f66e8c9247acb0bf387c8323255bdc9e493596facf6a5e877d7","signature":"72afdbd13065a870397e5477a0a956ab9e433018fc1d2949813d0705eceb02f2"},{"version":"918325a1a0ab41a28a431d3700e08717bc99edfa9958d21a2d355984a7a626ba","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c553e6620bd6fe7f97104da5ff0e043143ee0c8a0460910af52fad7fdd8341fa","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fa895de98c25a1cc6147d6aa8bce6ed0a7321d6c824ad3e8768ac6df7eaa6a8a","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d54529da58e5c2d0f93c24ddbfc8b21d0eaaad0f296e6085880c625df93e2bf4","signature":"8b812361654787caa90ec94c2b062bb6718536a4586f47654a40a46a47dadd45"},{"version":"3179f79ad8cbd74fb73f517ac427f877d99e07ce15a69249db8a8a22cae008e1","signature":"100cdb3741c5433db7450deafda66c05f7f4badd1cc4800fb47e549387af30a4"},{"version":"00f0ade6b490686bc672d1a3b965c89d6bb1622dc266079ede8641378ecf2a14","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"16d259f5a9c4db34ff0a12ea34a08874b7ea634d6519e28d8c3447a531216388","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"de06796d5707d52de34dc4f0e9d65864fc7d944b7793994ff30b3983a38671ff","signature":"a5a12f3bd25d408c2b3403c95c45b63b66f22479a8a83e5f06d4a69ad1397532"},{"version":"e363f5de6227f406bef0e2d15a76f31f396adceada2d268b5cf5906cca8f6a19","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"6f24aeb6483abafd647aba55f229c14359aea9cd9ec1f5ed807f5dff8c1ea50d","signature":"32a58ac4fb580e18cca326fc5df3ae0cd5ff48f09e6acdb17f92d24c5aab3d4e"},{"version":"197d9e97ecf41553fae8b9e637b2169c5d39a008e211f5eed7cf061ffc746f44","signature":"2a56342af1adb703f27671c430f122167465f7846c5045b126ad169ae5bc427c"},{"version":"d51db73ca308568dd33419536e39ecb8f99aaf9653b96c0e00cc2bf0ad272f6c","signature":"6af9c9cf1c4c568719bd14dbc93eb8195a6dc9befe982b0d69ca4367b7f85acc"},{"version":"62d2ae9980f4e08b28c11e3f60e608bc2a805a3b02aacc3582abb258be62e48e","signature":"19989008e43ba54e0ab417eb18bca7744c3c62be777d9c9c30e7227779f8d661"},{"version":"08990d6d4a6a6d03e36c488a2d0b09a0073fc14e16ea27b7e535591e26b590ab","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"020b37b6296174b826055de7b85cd05e1eb8f3266f147615c8146af740b12c4a","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"158131065919826ac46aad3d6fe2c461200d1bc6531fae007ba8df8dbb7023e6","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"77dd810d73b28fe0450fce5b138999fc4ef677fc98bcebda054afd10026c7ecf","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"37bb66413859c3dbcbfe24678f645c45e34df5a222254712b45b0c6e6b461555","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"2d47d7f2f07a75670ba2e2808c895e002765bdabe4edd27e5c8403970507bc60","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"924d1beb2a895c13dee5f86054d24c5177f2495085044ae1fb193615ce133b59","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"fb954fd45b91f0b21fbd406ae237f45637e22bd401e1ee1cb54ff0c213ee00c8","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"95ed8811666f5130e441b5a4122b35b24b4579c76b7dfa067c16788f9bc08883","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"abef5ea025b59ea53ecea220f12462e61132daaae83fb4f7ce07a1ede8946fb4","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"90279897307ff19b886ac908c5a26a3f50802258a0ead61a89ba990f1e72e8c0","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"adf2f57bdaaa5a479868ac68fa0a016d06e3329ac6de38b505d9f72272c03257","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"facc5ad89c91367b9073e1460afa4dd59204283d286fcbdeb06c1bf079b76e80","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"f88841c2b5cd38cc070778aa22b760c9e5bbabaf29bd32242e350edd5a8e96ab","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"68c0f599345d45a3f72fe7b5a89da23053f17d9c2cd5b2321acabe6e6f7b23b3","affectsGlobalScope":true},{"version":"fd6f0bb5bd5f176b689915806a974cdb12a467bdaa414dc107a62d462eb7ddd5","affectsGlobalScope":true},{"version":"861d9f609588274557802e113bbec01efe7c0bba064c791457690e16bd86a021","affectsGlobalScope":true},{"version":"a1819d8e80fbf3e8d7acb1deafe67401ccad93d59d6a2416bdfc1a1e74ee7c2b","affectsGlobalScope":true},"bc1ba043b19fbfc18be73c0b2b77295b2db5fe94b5eb338441d7d00712c7787e","8ac576b6d6707b07707fd5f7ec7089f768a599a39317ba08c423b8b55e76ca16","15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true}],"root":[[19,1168]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":5,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitThis":true,"outDir":"./","skipDefaultLibCheck":true,"strict":true,"target":7},"fileIdsList":[[1169,1170,1171,1172,1173],[1175],[71,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,240,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,214,215,216,217,218,220,223,230,232,239,240,241,244,248,249,250,251,252,267,268,271,275,284,289,293,300,303,305,306,307,308,309,310,313,314,320,322,323,326,327,328,329,330,331,332,333,334,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[27,33,73,223,232,242,243,244,245,247,248,335],[214,244,254,263,264,289,290,295,296,297,298,300,302,335],[27,239,242,244,245,249],[27,38,71,217,232,239,241,244,245,249,251,302,303,304,335],[56,75,78,85,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,205,207,208,213,214,217,223,232,239,242,244,245,246,249,251,314,318,321,326,329,335,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[27,217,223,232,242,244,245,246,249,275,335],[71,75,223,232,242,244,245,249,303,319],[27,204,217,223,232,242,245,249,303,335],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,207,212,230,232,239,251,284,309,335,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[207,217,232,239,243,245,251,303,321,335],[78,207,214,217,242,245,249,321,322,324,326,335],[23,27,56,71,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,230,232,244,245,263,264,304,308,329,335,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[63,78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,232,239,241,242,243,245,251,252,268,271,275,293,303,308,313,314,318,325,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,137,217,223,232,242,244,245,246,249],[27,31,78,85,108,115,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,232,236,241,251,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[56,58,78,79,85,89,108,114,116,117,118,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,207,208,209,213,214,216,217,230,235,239,241,251,252,268,271,275,284,293,303,308,309,313,314,321,326,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,459,467,472,478,479,482,484,485,486,504,507,511,513,516,518,554,559,560,561,563,570,577,579,584,589,597,600,624,626,631,635,641,644,657,658,681,708,711,726,737,830,847,1022],[55,79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,681,1022],[27,217,232,239,242,243,244,306,335],[217,232],[65,251],[27,52,58,78,79,87,89,90,101,105,108,114,116,117,139,141,143,144,146,183,185,187,189,191,192,202,203,207,212,214,215,217,218,227,230,235,240,251,260,267,275,276,284,289,300,309,310,311,332,334,335,339,340,344,346,350,352,353,354,358,360,365,367,380,387,388,389,396,459,467,478,481,482,485,511,516,554,559,560,561,577,585,589,597,624,641,642,657,658,681,708,711,726,770,830,1022],[79,87,89,90,101,117,146,183,187,192,203,207,215,217,218,227,230,232,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[332],[79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[25,27,37,73,223,232,239,243,244,245,335],[27,37,232,239,244,245,246,247,335],[27,38,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,244,247,252,268,271,275,293,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,73,207,214,217,223,230,232,239,244,335],[27,239,244],[27,33,232,239],[27,232,239],[223],[26,27,74,115,207,217,223,224,232,236],[27,32,72,73,223,224,232,233,239,387,458],[19,22,23,24,26,28,32,49,58,65,75,78,79,87,88,89,108,114,115,116,117,118,128,139,143,144,180,182,183,188,189,191,195,202,203,204,207,210,214,215,217,220,223,224,227,228,229,230,231,232,233,236,239,240,251,275,284,293,309,311,334,343,346,350,352,353,354,355,357,358,360,367,380,389,396,458,459,467,478,481,485,503,511,516,554,559,560,561,585,589,597,624,641,657,658,681,708,711,726,770,830,848],[32,56,78,79,87,89,90,101,108,117,118,122,124,141,146,178,180,182,183,185,187,192,195,203,207,208,213,214,215,217,218,220,227,230,232,239,240,251,267,275,289,300,308,309,310,311,321,329,332,334,337,338,339,340,344,346,348,349,350,352,353,354,355,357,358,360,365,367,370,380,387,388,389,398,455,458,459,472,481,482,504,511,518,554,559,560,561,570,577,585,597,600,624,626,631,644,657,681,770,847,1022],[347],[87,117,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[88,182,183,204,217,343,354,380,389,503,511,560,624,657,830,848],[65,87,117,119,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[87,117,203,207,215,217,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[19,22,26,33,36,39,40,79,87,89,90,101,113,126,141,146,183,187,192,200,204,214,215,217,218,223,230,234,235,240,251,267,270,275,289,297,300,309,310,314,318,332,334,339,340,344,358,360,387,388,389,453,459,475,482,560,561,569,572,577,589,597,777,1022],[230],[32,58,66,78,79,85,87,89,108,114,116,117,118,119,121,139,143,144,178,180,182,183,185,189,191,195,202,203,205,207,208,214,215,217,224,227,230,231,232,251,275,284,308,309,311,314,318,326,334,346,350,351,352,353,354,355,357,358,360,366,367,380,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[32,56,57,58,63,74,78,79,85,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,179,181,182,183,184,185,187,189,191,192,202,204,205,207,208,209,210,213,214,215,216,217,218,220,224,230,232,234,235,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,365,366,367,370,380,387,388,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926,1022],[56,58,74,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,177,182,183,185,189,191,202,205,207,208,213,214,217,230,232,233,235,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[65,183],[87,117,118,141,180,195,203,214,215,217,227,232,233,234,235,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,89,117,141,185,203,215,224,227,234,235,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[19,20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,215,227,230,231,232,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[19,23,24,32,78,85,86,87,88,117,118,127,131,137,141,146,180,182,183,187,189,195,203,204,207,209,214,215,216,217,223,227,230,231,232,235,239,240,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,503,507,511,513,560,563,573,577,579,581,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[118,180,195,203,230,231,232,311,346,350,352,353,354,357,358,380,585],[87,117,118,180,203,204,215,227,230,232,239,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[19,20,47,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,207,214,215,217,227,230,231,232,239,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[21,22,26,71,141,223,228,235],[21,22,26,39,71,223,228],[32,65,71,115,217,223,225,226,227,230,232,236,346,458],[32,87,117,203,215,225,226,228,230,232,251,275,309,311,334,346,350,352,353,354,367,458,481,511,585,770],[23,32,78,79,85,87,89,90,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,214,215,216,217,218,220,222,223,225,226,227,230,231,232,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,345,346,350,352,353,354,355,357,358,360,366,367,380,387,388,389,458,459,479,481,482,484,486,507,511,513,560,561,563,577,579,584,585,589,597,600,626,635,657,681,737,770,1022],[344],[79,87,89,90,101,117,146,183,187,192,203,215,217,218,227,240,251,267,275,289,300,309,310,311,332,334,339,340,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[87,117,118,180,195,203,215,227,230,232,239,251,275,309,310,313,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,117,181,203,215,227,232,251,275,309,311,334,343,344,346,350,352,353,354,367,481,511,585,770],[56,63,75,78,85,87,108,114,117,119,121,122,124,127,131,137,139,141,146,178,180,182,183,185,187,189,195,202,203,204,205,207,208,209,213,214,215,216,217,223,227,230,231,232,241,251,252,268,271,275,293,303,308,309,311,313,314,318,321,326,329,334,335,338,339,341,346,350,352,353,354,355,357,358,365,366,367,370,380,387,389,396,398,455,458,472,475,478,479,480,481,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,585,589,600,624,625,626,631,635,640,644,657,658,681,737,770,830,841,847,926,1022],[22,26,36,55,58,71,78,79,87,89,108,113,114,116,119,126,139,141,143,144,183,189,191,200,202,203,215,223,224,227,230,235,251,270,275,284,297,309,311,314,318,330,334,346,350,352,353,354,360,367,396,453,459,467,475,478,481,485,511,516,554,559,561,569,572,585,589,597,624,641,657,658,681,708,711,726,770,777,830],[22,25,63,71,92,115,117,118,223,230,232,236],[20,23,26,32,71,86,87,115,117,203,215,222,223,227,230,232,236,239,240,251,275,309,311,334,346,350,352,353,354,367,458,481,504,511,560,585,770,848],[32,87,232,239,337,350,458],[240],[52,87,88,105,108,117,118,131,143,176,180,182,183,187,195,203,204,207,212,215,217,227,230,231,232,251,275,309,311,334,343,346,350,352,353,354,355,357,358,365,367,368,375,376,377,378,379,380,387,389,481,486,503,507,511,513,554,560,573,581,585,624,642,657,770,830,848],[87,117,141,203,215,227,235,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[23,26,36,65,87,113,115,126,141,200,222,223,232,235,236,270,297,314,318,377,380,453,475,569,572,589,777],[92,118,119,180,195,203,217,230,231,232,239,311,346,350,352,353,354,355,358,380,585],[78,79,85,87,88,89,90,101,117,118,127,131,137,146,182,183,187,189,192,203,204,207,209,215,216,217,218,220,227,230,231,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,360,366,367,380,387,388,389,459,479,481,482,484,486,503,507,511,513,560,561,563,577,579,584,585,589,597,600,624,626,635,657,681,737,770,830,848,1022],[22,25,26,27,38,49,56,58,62,63,64,66,70,71,75,77,78,79,85,87,88,89,90,101,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,160,164,175,177,178,182,183,185,187,188,189,191,192,202,203,204,205,207,208,209,210,213,214,215,216,217,218,220,222,223,224,227,230,231,232,236,239,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,387,388,389,396,398,455,458,459,467,472,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,573,577,579,581,584,585,589,597,600,624,625,626,631,635,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[58,72,74,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,141,143,144,146,183,187,189,191,192,202,204,207,209,215,216,217,218,220,230,232,233,235,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,337,338,339,340,341,344,346,350,352,353,354,358,360,366,367,386,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,573,577,579,581,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[65,131,187,217,275,387,486,507,513,573,581,657],[78,85,91,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,267,271,275,277,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[22,26,27,30,62,64,66,70,78,79,85,89,90,101,103,114,115,118,121,127,131,137,139,141,146,160,164,175,177,183,187,189,192,202,204,207,209,215,216,217,218,223,224,230,235,236,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,368,372,387,388,389,458,459,473,475,479,482,484,486,507,511,513,517,522,527,531,536,542,546,551,560,561,563,569,577,579,584,589,597,600,626,635,638,640,654,656,657,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[27,65,79,87,89,90,101,117,146,183,187,192,203,215,217,218,220,227,232,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[27,32,78,79,85,89,90,101,103,118,126,127,128,131,136,140,146,183,187,189,192,204,207,209,215,216,217,218,220,222,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,458,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[25,26,27,32,34,62,64,65,66,70,71,73,78,79,85,87,88,89,90,101,108,114,117,118,121,127,128,131,137,139,141,146,160,164,175,177,178,182,183,185,187,189,192,193,202,203,204,205,207,208,209,210,214,215,216,217,218,220,222,223,227,230,232,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,312,313,314,315,317,318,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,366,367,368,372,380,385,387,388,389,396,398,458,459,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,577,579,584,585,589,597,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,688,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[21,141,232,234,235,239],[21,234],[141,233,235],[21],[65,79,89,90,101,146,183,187,189,192,215,217,218,219,232,238,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1015,1022],[58,78,79,87,89,108,114,116,117,131,139,143,144,183,185,187,189,191,202,203,207,215,217,227,230,232,251,275,284,309,311,334,346,350,352,353,354,360,367,387,396,459,467,478,481,485,486,507,511,513,516,554,559,561,573,581,585,589,597,624,641,657,658,681,708,711,726,770,830],[23],[23,32,132,390,391,392,458],[23,32,458],[220,237,238,1015],[24,62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[232,239,272],[214],[25,26,27,28,49,57,58,71,75,76,78,79,85,89,108,114,115,116,117,118,127,131,137,139,143,144,146,183,185,186,187,188,191,202,204,207,209,214,216,217,223,224,230,232,236,239,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[36,113,126,141,183,189,200,217,223,235,270,297,314,318,453,475,569,572,589,777],[22,26,30,33,49,58,71,78,79,90,101,108,114,116,117,128,139,141,143,144,146,183,187,189,191,192,202,210,215,217,218,223,224,230,235,240,251,267,275,284,289,293,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[32,35,56,78,85,88,108,114,115,118,121,122,124,139,141,178,183,184,185,189,202,204,205,207,208,213,214,217,232,236,308,314,318,321,326,329,343,350,352,354,365,366,370,380,389,396,398,455,458,472,475,478,480,485,503,504,511,518,551,554,559,560,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,848,926],[23,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,271,275,293,303,313,314,326,329,335,337,339,341,346,350,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,128,146,183,187,192,209,210,215,217,218,232,239,240,251,267,275,289,293,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[21,26,36,62,64,66,70,85,113,114,121,126,139,160,164,175,177,200,202,217,223,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,27,65,78,79,85,89,90,101,115,118,127,128,131,137,146,183,187,189,192,204,207,208,210,214,215,216,217,218,223,230,232,233,236,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[115,209,214,236],[23,24],[21,22,141,235],[26,37,115,223,232,236,239],[25,26,27,34,38,141,222,223,232,239,289,385,389,688,729],[25],[222,239],[222],[232],[26,115,223,236],[32,458],[26,32,39,141,223,235,458],[115,236,337,350],[32,383,458],[21,22,25,26,27,28,29,30,31,32,75,108,115,141,159,207,222,223,224,232,233,234,235,236,239,252,385,458,484,560,729,772],[32,77,141,224,232,233,235,381,382,384,385,458],[22,25,26,32,36,113,115,126,141,200,222,223,232,235,236,270,297,314,318,453,458,475,569,572,589,777],[21,23,25,26,27,28,30,32,33,34,35,36,38,73,77,92,113,115,126,141,200,220,221,223,224,232,233,236,237,239,270,289,297,314,318,385,389,453,458,475,569,572,589,688,729,777],[23,31,32,34,73,74,75,108,115,141,159,207,222,223,224,232,233,235,236,239,252,289,337,338,350,381,382,384,386,389,458,484,560,688,729,772],[32,35,36,113,115,126,200,232,270,297,314,318,453,458,475,569,572,589,777],[32,35,115,458],[27,38,115,222,223,232,236,239],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[21,22,23,25,31,32,52,55,56,58,65,71,75,76,78,79,85,89,92,105,107,114,115,116,117,118,121,122,124,139,141,143,144,159,178,182,183,185,189,191,202,205,207,208,212,213,214,217,223,224,230,232,236,251,252,284,308,309,314,318,321,326,329,330,350,352,353,360,365,366,370,380,385,389,396,398,455,458,459,467,472,475,478,480,484,485,504,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,729,737,772,830,841,847,926],[21,22,26,30,36,113,115,126,141,200,214,223,224,235,236,270,297,314,318,453,475,569,572,589,777],[48,52,58,78,79,85,89,105,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,217,224,230,232,239,251,284,308,309,314,318,326,352,353,360,365,366,380,389,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[41,48,52,58,66,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,232,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,36,38,48,49,52,56,57,71,75,78,92,105,108,113,115,118,122,124,126,141,143,178,182,183,185,200,207,208,211,212,213,214,217,220,223,224,232,235,236,251,270,297,308,314,318,321,329,350,365,370,380,398,453,455,458,467,472,475,504,518,554,559,569,570,572,589,600,624,626,631,642,644,657,681,777,847],[52,78,85,105,108,114,118,121,139,143,178,182,183,185,202,205,207,208,212,217,251,308,314,318,326,352,365,366,380,389,396,398,458,475,478,480,485,504,551,554,559,563,570,589,600,624,625,626,640,642,657,658,681,737,830,841,926],[36,49,57,113,126,128,141,200,210,211,214,224,235,270,293,297,314,318,453,467,475,569,572,589,777],[52,105,108,143,212,214,251,365,380,554,642],[25,31,32,36,47,48,49,50,51,52,56,57,58,62,63,64,65,66,70,75,78,79,85,89,105,108,113,114,115,116,117,118,119,121,122,124,126,127,128,131,137,139,141,143,144,146,159,160,164,175,177,178,182,183,185,187,188,189,191,200,202,203,204,205,206,207,208,209,210,212,213,214,216,217,220,223,224,230,231,232,235,236,239,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,385,387,389,396,398,453,455,458,459,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,572,577,579,584,589,597,600,624,625,626,631,635,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,758,761,765,770,772,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[56,78,85,108,114,118,121,122,124,139,141,178,182,183,185,202,205,207,208,213,214,217,232,239,308,314,318,321,326,329,337,338,350,352,358,365,366,370,389,396,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[58,65,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[56,57,58,78,79,89,108,114,116,117,118,122,124,139,141,143,144,178,182,183,185,189,191,202,207,208,213,214,217,223,230,251,284,308,309,321,329,350,352,353,360,365,370,396,398,455,459,467,472,478,485,504,516,518,554,559,561,570,589,597,600,624,626,631,641,644,657,658,681,708,711,726,830,847],[26,30,39,49,52,57,105,108,115,141,143,207,212,214,223,224,235,236,251,365,380,467,554,642],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,214,220,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,141,235],[27,217,220,232,239],[19,20,79,89,90,101,146,183,187,192,203,215,217,218,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,353,358,360,387,388,389,459,482,504,560,561,577,597,1022],[23,24,29,56,58,65,71,75,76,77,79,85,89,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[26,30,58,71,78,89,90,101,108,114,116,117,139,141,143,144,146,183,187,189,191,192,202,214,215,217,218,223,224,230,235,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[26,27,33,37,58,78,79,89,108,114,115,116,117,118,139,143,144,183,189,191,202,203,207,217,223,230,231,236,239,240,251,284,309,346,352,353,354,355,357,358,360,380,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[41,232,400,402,410,413,414,417,419,420],[401],[41,43,45,48,232,400,401,409,415,417,419,420,444,446,448,450,452],[43,46,444,446,448,450,452],[41,232,400,403,410,413,415,416,419,420],[48,401],[41,232,239,400,404,410,413,415,417,418,420],[41,232,400,407,408,410,413,415,417,419],[401,407],[41,48,232,402,406,407,409,410,416,418],[41,48,232,406,407,408,410,414,416,418],[41,48,232,403,406,407,409,414,418],[41,48,232,406,407,409,410,414,416],[41,48,232,406,408,409,414,416,418],[48],[41,48,232,405,410,411],[405],[400,402,403,404,415,417,419,420],[41,45,46,47,232],[41,46,48,232],[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441],[421],[48,421],[48,421,423],[41,42,43,45,48,232,413,443,444,446,448,450,452],[43,44,444,446,448,450,452],[41,42,43,44,48,232,444,446,448,450,452],[41,48],[43,444,446,448,450,452],[41,43,45,48,232,444,445,448,450,452],[44],[41,43,45,48,422,423,442,444,446,447,450,452],[41,43,45,48,232,444,446,448,449,452],[41,43,45,48,232,444,446,448,450,451],[25,75,79,89,90,101,118,146,183,187,192,203,209,215,217,218,222,223,224,231,232,240,251,254,255,256,258,260,262,263,264,265,267,275,289,290,293,294,295,296,297,298,299,301,302,309,310,332,334,339,340,344,346,352,353,354,355,357,358,360,380,387,388,389,459,482,487,488,489,490,491,492,493,494,495,496,497,560,561,577,597,1022],[209,217,223,232,263,264,293,300,301],[65,232,257,263,264,301],[33,38,79,89,90,91,101,146,183,187,192,215,217,218,224,240,251,256,257,258,259,260,263,267,275,277,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[207,214,263,302],[115,223,232,236,251,253,260,262,289,300,302],[223,232,251,254,260,261,289,290,295,297,298,300],[38],[25,118,203,223,231,232,251,254,256,258,260,261,263,264,289,295,296,297,298,300,346,352,353,354,355,357,358,380],[223,251,254,260,261,289,290,295,296,297,300],[22,23,25,32,35,36,71,113,115,126,200,222,223,232,236,251,254,260,261,262,263,264,270,289,290,295,296,298,300,302,314,318,453,458,475,569,572,589,777],[22,26,30,32,36,39,55,71,113,126,141,200,223,235,259,263,264,270,297,314,318,330,453,458,475,569,572,589,681,777],[32,34,38,73,79,89,90,101,115,141,146,183,187,192,215,217,218,222,223,232,236,239,240,251,253,254,260,261,267,275,288,290,295,296,297,298,300,309,310,332,334,339,340,344,358,360,385,387,388,389,458,459,482,560,561,577,597,688,729,1022],[223,232,251,254,260,261,289,290,296,297,298,300],[223,232,255,257,258,262,263,302],[23,26,36,113,126,200,223,255,256,261,262,270,297,300,314,318,453,475,569,572,589,777],[25,232,256,258,259,261,263,264,300,302],[256,257,258,263],[23,26,27,33,128,210,223,232,239,254,257,262,289,290,293,295,296,297,298,300,301,302],[23,63,207,230,232,256,258,262,263,264,302],[118,203,231,251,260,346,352,353,354,355,357,358,380],[27,71,78,85,91,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,220,232,239,241,252,266,267,268,271,275,277,287,291,292,293,300,302,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1017,1019,1022],[128,210,232,256,258,263,267,290,291,293,300],[79,89,90,91,101,146,183,187,192,215,217,218,240,251,275,277,289,300,301,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[209,232],[27,217,220,232,239,278,279,285,286,301,302],[27,232,239,287,301,302],[27,209,232,239,287,293,300,301],[27,38,63,207,217,232,239,284,287,301,302],[27,232,239,287,302],[300],[23,128,210,232,251,255,256,257,258,260,261,263,265,290,293,295,296,300,488,489,490,491,492,493,494,495,496,497],[23,232,255,256,258,261,263,264,265,300,301,487,489,490,491,492,493,494,495,496,497],[141,232,235,251,260,265,300,487,488,490,491,492,493,494,495,496,497],[21,32,65,232,256,258,261,263,265,300,458,487,488,489,490,492,493,494,495,496,497],[23,232,255,256,257,263,265,300,487,488,489,490,491,492,494,495,496,497],[23,230,232,263,264,265,300,487,488,489,490,491,493,494,495,496,497],[23,26,32,39,65,71,214,223,230,232,251,255,256,258,260,261,263,265,300,301,302,458,487,488,489,490,491,492,493,495,496,497],[23,232,251,256,258,260,263,264,265,300,487,488,489,490,491,492,493,494,496,497],[23,32,232,255,256,257,258,263,265,300,458,487,488,489,490,491,492,493,494,495,497],[23,232,255,256,257,258,261,263,265,300,487,488,489,491,492,493,494,495,496,497],[232,251,256,258,260,261,263,264,265,300,301,487,488,489,490,491,492,493,494,495,496],[32,36,113,126,200,222,270,297,314,318,458,475,569,572,589,777],[63,73,87,117,203,207,215,217,223,227,230,232,233,239,251,275,309,311,334,346,350,352,353,354,367,478,479,481,498,511,585,770],[476],[25,58,78,79,85,89,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,202,204,207,209,216,217,223,230,232,239,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,465,467,477,478,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,230,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[50,52,58,62,63,64,66,70,78,79,85,89,105,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,214,217,220,230,232,239,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,464,465,467,473,475,476,477,478,479,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[73,223,464],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,459,480],[23,58,78,79,89,108,114,116,117,124,139,143,144,183,189,191,202,207,214,217,230,232,233,239,251,284,309,352,353,360,396,459,460,461,462,463,467,478,480,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[85,232],[460,462],[52,58,63,65,70,73,78,79,85,89,105,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,217,230,232,233,236,239,251,284,308,309,314,318,326,352,353,360,365,366,380,389,396,398,458,459,465,467,475,478,479,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[32,35,114,115,121,207,220,222,223,232,236,239,458],[71,78,79,85,89,90,91,101,115,118,127,131,137,145,146,183,187,189,192,204,207,209,215,216,217,218,223,232,236,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[65,79,89,90,91,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[22,26,52,58,78,79,89,90,105,108,114,116,117,139,143,144,183,189,191,202,212,223,230,237,251,267,277,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[21,22,26,39,65,71,87,117,203,215,223,225,226,227,228,230,232,239,240,251,275,309,311,334,346,350,352,353,354,367,511,585,770],[58,63,78,79,85,87,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,203,204,207,209,214,215,216,217,218,220,227,230,232,239,240,241,251,252,267,268,271,272,273,275,284,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,396,409,459,467,478,479,481,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,585,589,597,600,624,626,635,641,657,658,681,708,711,726,737,770,830,1022],[190,232,500,501],[190,501],[20,71,78,203,207,230,232,239,353,502,503,504],[88,118,182,183,191,203,204,217,230,231,232,343,346,352,353,354,355,357,358,380,389,502,511,560,624,657,830,848],[58,78,79,89,108,114,116,117,139,143,144,183,189,190,202,230,240,251,284,309,352,353,360,396,459,467,478,485,501,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[20,47,52,56,58,62,63,64,66,70,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,160,164,175,177,178,182,183,185,189,190,191,202,203,205,207,208,212,213,214,217,220,230,232,251,280,284,308,309,314,318,321,326,329,350,352,353,360,365,366,368,370,372,380,389,396,398,455,458,459,467,472,473,475,478,480,485,500,501,502,504,516,517,518,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,631,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,220,223,232,238,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,506,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1015,1022],[239,274],[555],[21,26,141,223,235,554],[23,25,32,122,214,223,232,370,376,458,513,518,523,528,532,537,547,552,554],[33,128,210,217,232,293],[23,25,75,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,214,216,217,223,224,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,512,554,555,556,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,32,52,56,58,78,79,85,89,103,105,108,114,115,116,117,118,121,122,124,128,139,141,143,144,178,182,183,185,189,191,202,205,207,208,210,212,213,214,217,223,230,232,236,251,284,293,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,512,513,516,518,551,553,555,556,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[87,115,117,128,203,210,215,223,227,230,232,236,251,275,293,309,311,334,346,350,352,353,354,367,481,508,509,511,585,770],[65,508],[26,39,141,223,235],[78,85,87,88,117,118,127,131,137,146,182,183,187,189,203,204,207,209,215,216,217,220,227,230,232,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,508,510,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[25,31,52,58,62,64,66,70,75,78,79,85,86,87,88,89,90,91,101,105,108,114,115,116,117,118,121,127,131,137,139,140,141,143,144,146,159,160,164,175,177,182,183,187,189,191,192,202,204,207,209,212,214,215,216,217,218,222,223,224,230,232,233,235,236,239,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,343,344,346,352,353,354,358,360,365,366,367,368,372,380,385,387,388,389,396,458,459,467,473,475,478,479,482,484,485,486,503,507,511,513,516,517,522,527,531,536,542,546,551,554,557,558,559,560,561,563,569,577,579,584,589,597,600,624,626,635,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,772,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[65,557],[22,26,62,64,66,70,85,90,91,114,121,139,160,164,175,177,202,223,224,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,56,58,62,64,66,70,75,78,79,85,89,90,101,108,114,115,116,117,118,121,122,124,139,141,143,144,146,160,164,175,177,178,182,183,185,187,189,191,192,202,205,207,208,213,214,215,217,218,223,230,232,236,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,368,370,372,387,388,389,396,398,455,458,459,467,472,473,475,478,480,482,485,504,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,577,589,597,600,624,625,626,631,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[27,37,38,52,58,78,79,85,89,105,108,114,116,117,118,121,127,131,137,139,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,212,216,217,220,230,232,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,365,366,367,380,387,389,396,398,458,459,467,475,478,479,480,482,483,484,485,486,504,507,511,513,516,551,554,559,560,561,562,570,577,579,584,589,597,600,624,625,626,635,640,641,642,657,658,681,708,711,726,737,830,841,926,1022],[561],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,230,240,251,267,275,276,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,577,589,597,624,641,657,658,681,708,711,726,830,1022],[26,27,33,38,62,64,66,70,78,79,85,87,89,90,91,101,114,115,117,118,121,127,131,137,139,146,160,164,175,177,183,187,189,192,202,203,204,207,209,215,216,217,218,220,222,223,224,227,230,232,236,239,240,241,251,252,267,268,269,270,271,273,274,275,276,277,284,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,368,372,387,388,389,458,459,473,475,479,481,482,484,486,507,511,513,517,522,527,531,536,542,546,551,560,561,563,569,573,577,579,581,584,585,589,597,600,626,635,638,640,654,656,657,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[65,91,239,251,267,276,277,561],[21,22,36,79,89,90,101,113,126,146,183,187,192,200,215,217,218,237,240,251,267,270,275,289,297,300,309,310,314,318,332,334,339,340,344,358,360,387,388,389,453,459,475,482,560,561,569,572,577,589,597,777,1022],[32,36,113,126,200,222,297,314,318,453,458,475,569,572,589,777],[38,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[26,223,251,276,561],[65,79,143],[52,55,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,214,224,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[23,52,56,58,75,78,79,85,89,90,101,105,108,114,116,117,118,121,122,124,139,141,143,144,146,178,182,183,185,187,189,191,192,202,205,207,208,212,213,214,215,217,218,220,223,230,232,239,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,370,380,387,388,389,396,398,455,458,459,467,472,475,478,480,482,485,504,516,518,551,554,559,560,561,563,565,571,577,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926,1022],[23,47,52,68,70,75,79,89,90,101,105,108,143,146,183,187,192,207,212,214,215,217,218,223,224,232,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,365,380,387,388,389,459,482,554,560,561,565,569,570,577,597,642,1022],[32,36,113,126,200,222,270,297,314,318,453,458,475,569,589,777],[27,128,210,217,220,230,232,238,291,293,573,1015],[131,187,217,275,387,486,507,513,573,581,657],[65,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,575,577,597,1022],[22,26,115,223,236],[38,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,575,576,577,579,584,589,597,600,626,635,657,681,737,1022],[27,38,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,220,232,239,240,241,251,252,267,268,271,273,274,275,276,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,483,484,486,507,511,513,560,561,563,577,578,584,589,597,600,626,635,657,681,737,1022],[217,251,276,561],[239],[25,31,78,85,108,118,127,131,132,137,146,159,183,187,189,204,207,209,214,216,217,223,232,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[88,111,115,182,183,204,217,223,232,236,340,341,342,346,354,380,389,503,511,560,624,657,830,848],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,241,252,268,271,275,293,303,313,314,326,329,335,338,339,343,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,340],[79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,344,358,360,387,388,389,459,482,560,561,577,597,1022],[87,117,118,180,195,203,215,227,230,232,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,582,584,585,770],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,215,216,217,218,230,232,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,582,583,585,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[87,117,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,581,585,770],[87,117,131,187,203,215,217,227,251,275,309,311,334,346,350,352,353,354,367,387,481,486,507,511,513,573,585,657,770],[71,207,232,239,346,518,584],[21,23,25,27,34,56,65,73,75,78,108,115,118,122,124,140,178,182,183,185,207,208,213,214,217,220,222,223,224,232,235,236,289,308,321,329,350,365,370,385,389,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,688,729,847],[58,78,79,85,87,89,108,114,116,117,118,121,139,141,143,144,178,182,183,185,189,191,202,203,205,207,208,215,217,223,227,230,232,235,239,251,275,284,308,309,311,314,318,326,334,346,350,352,353,354,360,366,367,389,396,398,458,459,467,475,478,480,481,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[25,26,27,32,75,77,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,230,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,25,26,32,35,36,58,64,65,71,75,78,79,85,89,108,113,114,115,116,117,118,121,126,127,131,137,139,143,144,146,178,182,183,185,187,189,191,200,202,204,205,207,208,209,216,217,220,222,223,224,230,232,236,239,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,398,453,458,459,467,475,478,479,480,482,484,485,486,504,507,511,513,516,551,554,559,560,561,563,569,570,572,577,579,584,586,587,588,597,600,624,625,626,635,640,641,657,658,681,708,711,726,737,777,830,841,926,1022],[586],[26,71,207,223],[590],[232,593,594],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,207,214,215,217,218,230,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,590,596,597,624,641,657,658,681,708,711,726,830,1022],[56,78,79,85,89,90,101,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,192,202,204,205,207,208,209,213,214,215,216,217,218,220,232,239,240,241,251,252,267,268,271,275,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,344,346,350,352,354,358,360,365,366,367,370,387,388,389,396,398,455,458,459,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,561,563,570,577,579,584,589,590,591,592,593,596,597,599,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[232,590,591],[214,217,232,483,592,593,594,595],[214,592,593],[71,207,214,217,232,592,593,594,596],[78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,215,216,217,227,230,232,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,346,350,352,353,354,358,366,387,389,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[23,25,31,55,108,115,207,214,223,232,236,239,252,330,385,484,560,681,729,772],[62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,220,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,220,232,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[79,89,90,101,146,183,187,192,215,217,218,220,232,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,220,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,220,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[23,32,115,214,217,223,232,236,239,360,362,366,458],[360],[21,22,39,58,78,79,89,90,101,108,114,116,117,139,141,143,144,146,183,187,189,191,192,202,215,217,218,230,235,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,223,230,232,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,360,362,363,365,367,375,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[23,32,163,214,232,458],[23,52,56,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,220,232,251,308,321,329,350,360,364,366,370,374,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[101,102],[71,78,85,101,102,103,118,127,130,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[25,32,78,85,90,118,125,126,128,131,137,146,183,187,189,204,207,209,210,216,217,220,222,223,232,237,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,90,137],[22,26,79,89,101,146,183,187,192,215,217,218,223,237,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[127,128,137,209,210,232,293],[32,35,36,113,115,126,200,222,270,297,314,318,453,458,475,569,572,589,777],[32,101,458],[23,25,32,101,103,128,129,131,132,133,135,137,139,210,223,224,232,239,293,458],[65,101],[79,89,90,100,103,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[32,93,99,100,101,103,134,232,458],[101],[99,101],[93,101],[93,100,101],[94,95,96,97,98],[99],[616],[617,618,619,620,621,622],[77,119,239,350,358,385,387,398,664,681,773,804],[1024,1028],[63,85,239,343,346,517,522,531,536,551,638,656,657,685,737,784],[38,47,63,64,66,70,71,73,74,75,76,77,78,87,108,114,115,118,119,121,182,189,207,209,214,217,220,222,223,228,230,232,233,239,240,339,353,355,458,484,486,654,668,680,772],[1024,1032],[1024,1037],[239,875],[239,878],[239,881],[239,887],[239,896],[239,893],[239,890],[239,899],[239,902],[239,911],[239,905],[239,908],[239,914],[239,923],[239,917],[239,920],[239,926],[239,284,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[239,284,872,884],[239,929],[239,932],[239,947],[239,950],[239,953],[239,956],[239,959],[239,971],[239,965],[239,962],[239,974],[239,968],[239,935,937,940,943],[239,977],[239,980],[239,986],[239,983],[239,989],[239,992],[239,998],[239,995],[239,1001],[239,1004],[239,1010],[239,1007],[239,1013],[239,242,244,245,249,321,335],[239,487,488,489,490,491,492,493,494,495,496,497,1088],[239,293,300],[239,662],[239,453],[239,480],[239,499],[239,352],[239,527],[183,239],[239,481],[77,239,692],[45,48,239,399,409,410,412,415,417,419,420,442,444,446,448,450,452],[239,273,482],[239,500,501,505],[239,506,507],[239,697],[239,702],[239,510,511],[239,554],[146,239,560],[239,711],[239,483,563],[239,273,275],[239,720],[239,271],[239,726,789],[77,239,733],[204,239,313,319,363,368,388,453,481,1025,1026,1027],[239,473],[239,354],[239,475,1031],[239,742],[239,673,747],[239,750],[239,756],[239,708],[124,127,131,135,136,137,139,239,475,569,717,761,1031],[239,570,572],[239,574],[239,318,1015],[239,640],[239,577],[239,483,579],[164,239],[239,484],[239,584],[239,765],[239,366,453],[141,239],[239,770],[239,778],[239,485],[239,794],[239,799],[160,239],[239,589],[239,658],[239,809],[239,590,591,592,593,596,598,600],[239,367],[239,293,1019,1021,1022],[202,203,204,239,313,319,389,542,546,624,678,1034,1035,1036],[239,814],[146,177,239,820],[159,239],[239,623,825],[239,830],[239,835],[175,239],[239,380],[146,177,239],[239,841],[239,846],[239,852],[239,858],[239,863],[239,868],[239,372],[1024,1039],[239,601],[239,602],[239,603],[239,604],[239,605],[239,606],[239,607],[239,609],[239,608],[239,610],[239,611],[239,612],[239,613],[239,614],[63,115,208,232,236,659,662],[153],[57,62,63,64,66,70,85,114,115,121,139,158,159,160,164,175,177,202,207,222,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,660,661,663,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[660],[52,58,78,79,89,105,108,114,116,117,139,143,144,156,167,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,659,662,681,708,711,726,830],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,454,458,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[52],[32,58,62,63,64,66,70,78,79,85,89,108,114,115,116,117,118,119,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,230,232,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,455,456,457,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[456],[52,58,67,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,454,458,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,63,232,239,338,455,458],[55,330,681],[32,56,63,78,92,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,232,308,321,329,350,365,370,398,455,458,472,504,514,517,554,559,570,600,624,626,631,644,657,681,847],[454],[32,36,52,62,63,64,66,70,85,105,108,113,114,121,126,139,143,160,164,175,177,200,202,212,223,230,232,239,251,270,284,297,314,318,346,365,368,372,380,453,455,458,473,475,515,516,518,522,527,531,536,542,546,551,554,569,572,589,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[516],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,456,459,467,478,485,514,515,516,517,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[60,455,652,654],[59],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,651,653,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,61,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,654,657,658,681,708,711,726,830],[518,649,656],[514],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,650,654,655,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,654,657,658,681,708,711,726,830],[122,666,668],[105],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,667,669,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[116],[653,670,673],[652],[52,62,63,64,66,70,85,105,108,114,121,139,143,160,164,175,177,202,212,232,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,625,638,640,642,654,656,662,668,671,672,674,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[671],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,625,641,642,651,657,658,673,681,708,711,726,830],[21,25,39,122,141,223,234,235,519,522],[105,523],[32,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,239,284,368,372,458,473,475,517,520,521,523,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,520],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,519,522,523,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[79,82,89,90,101,146,183,185,187,189,192,207,214,215,217,218,220,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[65,185],[22,25,26,56,71,78,81,85,89,108,114,115,118,121,122,124,139,141,178,182,183,184,186,189,202,205,207,208,213,214,217,223,232,233,235,236,239,251,308,314,318,321,326,329,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[32,54,63,85,214,232,458],[52,53,105,108,143,212,251,365,380,554,642],[51,57,62,63,64,66,70,78,81,83,84,108,114,115,118,121,127,128,131,137,139,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,210,214,216,217,230,232,233,236,239,241,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,368,372,387,389,396,398,458,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[54,80],[121,223,525,527],[105,141,235,524],[50,62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,524,526,528,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[524],[21,52,79,105,108,116,141,143,212,235,251,365,380,525,554,642],[547,675,678],[141,235,539],[32,57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,676,677,679,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,676],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,675,678,681,708,711,726,830],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,230,232,239,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,56,63,68,70,78,108,118,122,141,178,182,183,185,207,208,213,214,217,223,232,235,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[25,55,63,108,121,214,223,232,239,330,518,681],[56,78,105,108,118,121,124,141,178,182,183,185,207,208,213,214,217,223,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[39,52,108,141,143,212,235,251,365,380,554,642],[25,39,57,58,62,63,64,66,70,75,78,79,85,89,104,108,114,115,116,117,118,119,120,122,128,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,210,217,223,230,232,233,236,239,251,284,293,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,65,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,52,55,58,67,78,79,89,105,108,114,115,116,117,121,139,141,143,144,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[21,25,55,56,58,78,79,85,89,108,114,115,116,117,118,119,121,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,213,214,216,217,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,337,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,531,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[122,682,685],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,683,684,686,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[683],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,682,685,708,711,726,830],[63,232,529,531],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,239,284,346,368,372,458,473,475,517,522,527,530,532,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,531,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[23,32,34,73,115,141,217,222,223,232,236,239,289,337,338,350,383,385,389,458,687,729],[63,232,689,692],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,688,690,691,693,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[690],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,689,692,708,711,726,830],[77,141,233,235],[50,56,58,78,79,85,88,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,204,205,207,208,213,214,217,230,232,251,284,308,309,314,318,321,326,329,343,350,352,353,354,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,503,504,511,516,518,551,554,559,560,561,563,570,589,597,600,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926],[63,92,115,223,232,236,694,697],[62,63,64,66,70,75,85,114,121,139,158,159,160,164,175,177,202,223,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,695,696,698,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[695],[52,55,58,78,79,89,105,108,114,115,116,117,139,143,144,156,167,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,694,697,708,711,726,830],[58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,230,232,239,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,626,640,641,657,658,681,708,711,726,737,830,841,926],[115,122,236,699,702],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,700,701,703,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[700],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,702,708,711,726,830],[58,78,79,89,108,114,116,117,128,139,143,144,183,189,191,202,207,210,214,217,230,232,239,251,284,293,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,647,657,658,681,708,711,726,830],[26,30,115,214,222,223,236],[223,232,518,704,711],[39,141,235,514],[21,58,62,63,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,222,230,232,235,236,239,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,705,708,709,710,712,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,705],[21,52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,704,708,711,726,830],[523,533,536],[519],[62,63,64,66,70,85,104,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,534,535,537,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,534],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,520,533,536,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[26,63,141,196,202,223,232,235],[105,141,235],[58,62,63,64,66,70,76,78,79,85,89,108,114,115,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,196,197,198,199,200,201,205,207,208,217,223,230,232,235,236,239,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,197],[22,26,58,78,79,89,108,114,116,117,139,141,143,144,183,189,191,196,202,223,230,235,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,35,36,77,113,115,126,222,270,297,314,318,453,458,475,569,572,589,777],[23,63,101,103,124,232,714,720],[101,103,141,235,713],[23,32,57,62,63,64,66,70,85,101,103,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,714,717,719,721,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[714,718],[109],[25,107,723,726],[106,722],[25,32,58,62,63,64,66,70,78,79,85,89,92,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,217,230,232,235,239,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,722,724,725,727,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,724],[58,78,79,89,108,110,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,722,723,726,773,830],[31,32,34,73,108,115,141,159,207,217,222,223,232,236,239,252,289,382,383,385,389,458,484,560,688,728,772],[63,232,730,733],[25,105],[25,55,62,63,64,66,70,85,92,114,121,139,160,164,175,177,202,232,239,284,330,338,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,731,732,734,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[731],[52,55,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,730,733,830],[25,77,141,217,223,232,233,234,235,239],[63,217,368,375],[141,235,369,374],[32,62,63,64,66,70,85,87,114,115,121,139,160,164,175,177,202,217,230,232,236,284,361,366,367,372,374,376,380,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[232,374,376],[55,58,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,224,230,235,251,284,309,330,352,353,360,368,373,375,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[57,63,115,223,236,467,735,737],[32,52,62,63,64,65,66,70,78,85,105,108,114,118,121,127,131,137,139,143,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,212,216,217,223,232,239,241,251,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,365,366,367,368,372,380,387,389,396,398,458,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,736,738,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[32,58,67,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,352,353,360,396,458,459,467,478,485,516,544,554,559,561,589,597,624,641,657,658,681,708,711,726,737,830],[51,52,56,63,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,232,251,308,321,329,350,365,370,380,398,455,471,473,504,518,554,559,570,600,624,626,631,642,644,657,681,758,847],[102],[62,63,64,66,70,75,85,114,121,128,136,139,160,164,175,177,202,210,214,223,224,232,239,284,293,368,372,458,470,472,474,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[123],[56,75,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,232,239,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,600,624,625,631,635,640,644,647,657,658,681,737,830,841,847,926,1022],[32,63,124,232,458,466,475],[36,50,57,62,63,64,66,70,78,85,108,113,114,115,118,121,124,126,139,160,164,175,177,178,182,183,185,200,202,205,207,208,214,217,222,223,232,233,236,270,284,297,308,314,318,326,352,366,368,372,389,396,398,453,458,467,468,469,473,474,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,572,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,232,467,468],[52,55,57,58,78,79,80,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,466,467,475,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[63,742],[675],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,230,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,740,741,743,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[740],[52,105,108,143,191,212,251,365,380,554,642,676,739],[122,744,747],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,744,745,746,748,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[745],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,747,830],[63,538,542],[32,57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,540,541,543,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[543],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,538,542,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[63,750],[57,62,63,64,65,66,70,85,114,115,121,139,141,160,164,175,177,202,230,232,235,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,749,751,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[676],[214,232,239,473,475],[63,232,753,756],[52,105,106,108,143,212,251,365,380,554,642],[36,62,63,64,66,70,85,113,114,115,121,126,139,160,164,175,177,200,202,223,232,236,270,284,297,314,318,368,372,391,453,458,473,475,517,522,527,531,536,542,546,551,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,753,754,755,757,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[206,232,754],[52,58,78,79,89,105,108,110,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,753,756,773,830],[25,52,66,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,365,370,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[52,105,108,143,212,251,365,380,554,642],[32,56,58,60,62,63,64,65,67,70,78,79,85,89,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,544,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[55,58,66,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,224,230,235,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[63,223,232,706,708],[39,53,141,235],[58,62,63,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,707,709,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,58,78,79,80,89,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,52,63,101,102,103,105,108,124,128,133,135,139,143,210,212,223,224,232,251,293,365,380,458,554,642],[32,53,55,103,141,235,330,458,681],[26,32,52,57,58,62,63,64,66,70,75,78,79,85,89,101,102,103,105,108,111,114,115,116,117,118,121,122,123,124,136,137,138,139,140,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,217,223,224,230,232,235,236,239,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,123,140,232],[52,55,58,78,79,80,89,102,105,108,114,116,117,139,141,143,144,178,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[51,63,84,232,472],[54],[62,63,64,66,70,85,114,121,128,139,160,164,175,177,202,210,214,232,284,293,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,760,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,81,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,761,830],[140,713,717],[57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,715,716,718,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[718],[52,58,78,79,89,105,108,114,116,117,123,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,713,717,726,830],[63,68,101,130,232,569],[53,101,103],[32,35,36,62,63,64,66,70,85,101,113,114,115,121,126,130,137,139,160,164,175,177,200,202,220,222,232,239,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,566,567,568,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,214,566],[55,58,78,79,80,89,108,114,116,117,130,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,569,589,597,624,641,657,658,681,708,711,726,830],[23,56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,643,647,648,657,681,847],[647,648],[32,52,63,105,108,115,143,208,212,232,236,251,365,380,458,554,640,642,648],[39,52,105,108,141,143,208,212,224,235,251,365,380,554,641,642],[57,62,63,64,66,70,78,85,108,114,115,118,121,139,159,160,164,175,177,178,182,183,185,202,205,207,208,217,223,232,236,239,284,308,314,318,326,352,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,627,628,638,639,641,643,647,648,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,641,643],[39,49,52,55,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,208,212,214,224,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,640,641,642,643,647,657,658,681,708,711,726,830],[214,645],[207,214,217,232,239,626,633,643,644,645,646],[23,214,626,643,647,648],[52,56,57,58,63,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,212,213,214,217,224,230,232,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[63,207,214,539,546],[141,235,538],[32,57,62,63,64,66,67,70,85,114,115,121,139,160,164,175,177,202,207,223,232,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,544,545,547,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[544],[52,58,67,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,539,543,546,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[58,60,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,207,214,230,232,239,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[154,155,165,214],[63,154,161,164,167,232],[21,153,166,167],[25,57,62,63,64,66,70,85,92,114,115,121,139,158,159,160,162,163,165,166,167,175,177,202,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,65,154,165,167,214,223],[21,58,78,79,89,108,114,116,117,139,143,144,156,164,166,167,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[217,626,627,631],[55,214,330,631,681],[239,626,631,633,635],[52,78,85,105,108,118,127,131,137,143,146,183,187,189,204,207,209,212,214,216,217,232,241,251,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,365,366,367,380,387,389,479,482,484,486,507,511,513,554,560,563,577,579,584,589,600,626,631,634,638,642,647,657,681,737,1022],[56,63,78,84,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,630,638,643,644,648,657,681,847],[54,629,642],[54,57,62,63,64,66,70,85,114,115,121,139,159,160,164,175,177,189,202,217,223,230,232,233,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,626,630,631,632,635,636,637,639,640,648,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,232,631,636],[52,58,78,79,81,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,629,630,635,638,641,642,657,658,681,708,711,726,830],[214,762,765],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,763,764,766,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[763],[52,58,67,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,762,765,830],[32,63,122,458,767,769,770],[50,62,63,64,66,70,75,85,87,114,115,117,119,121,139,141,160,164,175,177,202,203,207,215,217,222,227,232,235,236,251,275,284,309,311,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,768,769,771,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,116,458],[223,230,232,768],[31,63,65,76,107,108,109,114,115,159,207,214,223,232,236,239,252,385,484,560,729],[55,108,141,235,330,681],[32,75,106,108,109,114,115,214,223,224,232,236,458],[52,58,78,79,89,105,108,109,114,116,117,139,143,144,183,185,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[58,62,63,64,65,66,70,78,79,85,89,107,108,110,111,112,113,115,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,232,236,239,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,773,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,65,78,79,89,108,114,116,117,139,143,144,183,189,191,202,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[52,58,67,78,79,89,105,106,108,109,114,115,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,63,458,773],[21,63,110,115,207,232,236,239,774],[63,778],[68],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,207,214,222,232,236,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,775,776,777,779,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[775],[52,80,105,108,143,212,251,365,380,554,642],[32,36,77,113,126,200,222,270,297,314,318,453,458,475,569,572,589],[22,25,32,55,56,58,64,66,75,78,79,85,87,88,89,92,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,338,339,341,343,346,350,352,353,354,358,360,365,366,367,370,380,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,573,577,579,581,584,589,597,600,624,625,626,631,635,640,641,644,656,657,658,681,708,711,726,737,830,841,847,848,926,1022],[68,781,784],[53],[32,62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,782,783,785,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[782],[52,58,78,79,80,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,781,784,830],[727,786,789],[723],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,787,788,790,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[787],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,724,726,786,789,830],[734,791,794],[730],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,792,793,795,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[792],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,731,791,794,830],[63,796,799],[52,62,63,64,66,70,85,105,108,114,121,139,141,143,160,164,175,177,202,207,212,224,232,235,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,797,798,800,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[115,797],[52,105,108,141,143,212,235,251,365,380,554,642,676,796],[154,160,232],[55,154,214,330,681],[63,153,160,208,214,232],[105,141,155,208,235],[57,62,63,64,66,70,85,114,115,121,139,153,154,155,156,157,158,159,164,167,175,176,177,202,208,217,223,232,233,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,154,160,183,189,191,202,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[21,52,58,71,78,79,89,105,108,114,116,117,139,141,143,144,153,154,155,160,183,189,191,202,208,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[53,56,70],[62,63,64,66,68,69,80,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,70,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[52,53,58,67,70,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[70,232,801,804],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,338,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,802,803,805,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[802],[79,80,143,801],[47,58,63,78,79,85,89,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,214,217,222,223,230,232,236,239,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,681,708,711,726,737,830,841,926],[75,223,232,638,640],[738,806,809],[735],[32,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,356,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,807,808,810,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[807],[55,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,736,806,809,830],[56,59,64],[32,60,61,62,63,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,64,67,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,544,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[653,811,814],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,812,813,815,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[812],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,651,657,658,681,708,711,726,811,814,830],[111,141,149,176,235,820,821],[63,223,232,816,820,822],[142,821],[23,55,62,63,64,66,70,85,92,111,114,115,121,139,159,160,164,175,176,177,202,223,232,236,239,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,816,817,818,819,821,822,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[821],[21,39,55,58,78,79,89,91,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,816,820,830],[63,232,821,822],[23,62,63,64,66,70,85,103,114,121,136,137,139,160,164,175,177,202,223,224,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,623,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,823,824,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[823],[58,78,79,89,108,114,116,117,123,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,623,624,641,657,658,681,708,711,726,825,830],[32,63,178,232,458,826,830],[141,235,466],[58,62,63,64,66,70,78,79,85,88,89,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,204,205,207,208,217,230,232,239,251,284,308,309,314,318,326,343,352,353,354,360,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,503,504,511,516,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,827,828,829,831,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[827],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,826,830],[25,32,55,63,214,223,232,239,330,458,681,827,830,831],[55,141,214,235,330,681,836],[32,52,63,105,108,143,212,214,223,232,251,365,380,458,554,642,832,835,837],[52,837],[25,26,52,57,58,62,63,64,66,70,78,79,85,89,92,105,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,204,212,223,230,232,236,251,284,309,352,353,360,365,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,832,833,834,836,837,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,214,833,836],[52,58,67,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,832,835,837],[169,175],[21,52,63,105,108,143,167,168,170,175,212,214,232,251,365,380,554,642],[63,170,175],[63,65,168,169,171,172,175,214,223,232],[142,171,172],[26,57,62,63,64,66,70,85,92,114,115,121,139,148,159,160,163,164,169,170,171,172,173,174,176,177,202,222,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,172],[26,36,52,55,79,91,105,108,113,126,141,143,144,170,171,200,212,214,223,235,251,270,297,314,318,330,365,380,453,475,554,569,572,589,642,681,777],[23,149],[25,148,177],[57,63,124,142,147,149,177,232,467],[26,50,55,57,62,63,64,66,70,85,91,92,114,115,121,124,139,141,142,144,146,148,149,150,151,152,160,164,175,176,178,202,207,217,223,232,233,235,236,239,284,330,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[63,65,91,144,148,232],[21,22,39,52,55,58,78,79,80,89,91,105,108,114,116,117,139,141,142,143,144,177,183,189,191,202,212,230,234,235,237,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[52,105,108,141,143,160,175,207,212,214,232,233,235,251,365,380,554,642],[107,838,841],[106],[62,63,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,232,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,839,840,842,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[839],[52,58,78,79,89,105,108,110,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,773,830,838,841],[23,55,86,87,88,182,183,204,217,223,230,232,239,330,343,354,380,389,503,511,560,624,657,681,830,847],[56,63,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,232,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,843,846],[62,63,64,66,70,85,114,118,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,844,845,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[844],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,843,846],[68,849,852],[32,62,63,64,66,70,75,85,114,115,121,139,160,164,175,177,202,232,236,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,850,851,853,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[850],[52,58,78,79,80,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,849,852],[63,232,854,858],[23,32,55,57,58,62,63,64,66,70,75,78,79,85,89,108,114,115,116,117,121,132,139,143,144,147,160,164,175,177,183,189,191,202,223,230,232,233,236,251,284,309,330,352,353,360,368,372,390,392,393,394,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,855,856,857,859,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,856],[21,39,52,55,58,78,79,80,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,854,858],[23,132,232,390,393,854],[25,121,214,232,548,551],[25,32,50,57,62,63,64,66,70,78,85,108,114,115,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,230,232,236,284,308,314,318,326,352,357,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,549,550,552,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,549],[39,52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,548,551,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[121,232,860,863],[32,50,57,62,63,64,66,70,75,85,114,115,121,139,160,164,175,177,201,202,217,232,236,239,284,368,372,458,467,473,475,500,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,861,862,864,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[861],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,860,863],[24,63,232,394,865,868,869],[23,24,57,62,63,64,66,70,85,114,115,121,139,147,160,164,175,177,202,207,223,232,236,239,284,368,372,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,866,867,869,870,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[866],[26,52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,223,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,865,868],[23,204,232,239,394,868,870],[25,29,56,63,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,232,308,321,329,350,365,369,372,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[47,58,62,63,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,233,236,239,251,284,309,352,353,360,368,369,370,371,373,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[232,370,373],[55,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,369,372,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[38,232],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,873,874,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,223,282,872],[283,875],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,876,877,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[282],[283,878],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,239,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,879,880,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,881],[283,881],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,883,884,886,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[882],[885,887],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,891,892,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,143,212,223,251,282,365,380,554,642,872],[283,893],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,894,895,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[891],[892,896],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,888,889,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,890],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,897,898,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[282,872],[283,899],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,900,901,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,902],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,909,910,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,911],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,903,904,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,905],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,906,907,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,908],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,912,913,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,914],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,921,922,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,923],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,915,916,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,917],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,918,919,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,920],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,882,885,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,884],[32,56,58,62,63,64,66,70,78,79,85,89,108,114,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,232,233,235,251,280,281,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,500,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,924,925,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,141,143,212,223,235,251,282,365,380,554,642,924,926],[283,926],[207],[66,280],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,927,928,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,929],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,930,931,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,223,282],[283,932],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,934,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,935],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,936,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[933],[934,937],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,939,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[934,940],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,940,942,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[934,943],[21,62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,223,232,239,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,945,946,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,26,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,223,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,947],[283,947],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,948,949,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,950],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,951,952,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,953],[32,56,63,115,214,232,236,282,283,284,458],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,954,955,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,956],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,957,958,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[52,105,108,143,212,251,282,365,380,554,642],[283,959],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,960,961,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,962],[32,56,63,66,223,232,280,281,458,969,970],[63,283,971],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,963,964,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,965],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,972,973,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,974],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,966,967,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,968],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,975,976,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,977],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,978,979,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,980],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,982,983,985,989,992,995,998,1001,1004,1007,1010,1013],[872,981],[984,986],[58,62,63,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,217,230,232,251,280,281,282,283,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[67,544],[56,284],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,981,984,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,143,191,212,223,251,282,365,380,554,642,872],[283,983],[62,63,64,65,66,70,85,114,121,139,141,160,164,175,177,202,223,232,235,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,987,988,992,995,998,1001,1004,1007,1010,1013],[26,56,66,141,223,235,282,987],[283,989],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,990,991,995,998,1001,1004,1007,1010,1013],[885,992],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,996,997,1001,1004,1007,1010,1013],[283,998],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,993,994,998,1001,1004,1007,1010,1013],[283,995],[26,32,50,58,62,63,64,66,70,75,78,79,85,89,108,114,115,116,117,118,121,139,143,144,160,164,175,177,183,189,191,202,203,217,223,230,231,232,236,239,251,280,281,284,309,346,352,353,354,355,357,358,360,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,999,1000,1004,1007,1010,1013],[55,191,282,330,681,1001],[63,1001],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,217,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1002,1003,1007,1010,1013],[283,1004],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1008,1009,1013],[283,1010],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1005,1006,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,1007],[283,1007],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1011,1012],[283,1013],[36,78,85,108,113,114,118,121,126,127,131,137,139,146,178,182,183,185,187,189,200,202,204,205,207,208,209,216,217,232,239,241,252,268,270,271,275,293,297,303,308,313,318,319,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,453,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,569,570,572,577,579,584,589,600,624,625,626,635,640,657,658,681,737,777,830,841,926,1022],[26,32,62,64,66,70,85,87,114,117,121,128,139,160,164,175,177,195,202,203,207,210,215,217,220,222,223,227,230,232,239,251,275,284,293,309,310,311,313,314,318,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[36,77,78,85,108,113,114,118,121,126,139,178,182,183,185,195,200,202,205,207,208,217,220,230,232,239,270,297,308,314,315,316,317,326,352,366,389,396,398,453,458,475,478,480,485,504,551,554,559,563,569,570,572,589,600,624,625,626,640,657,658,681,737,777,830,841,926],[63,65,233,251,309],[36,58,62,64,66,70,78,79,85,87,89,90,101,108,113,114,116,117,121,126,139,141,143,144,146,160,164,175,177,183,187,189,191,192,200,202,203,204,215,217,218,227,230,232,235,240,251,267,270,275,284,289,297,300,309,310,311,314,318,332,334,339,340,344,346,350,352,353,354,358,360,367,368,372,387,388,389,396,453,458,459,467,473,475,478,481,482,485,511,516,517,522,527,531,536,542,546,551,554,559,560,561,569,572,577,585,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,220,230,232,238,239,240,251,267,275,284,289,300,309,310,319,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1014,1022],[26,27,65,78,85,87,88,117,118,127,131,137,146,182,183,187,189,192,194,203,204,207,209,215,216,217,220,223,227,230,232,237,239,240,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,511,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[193,204,217,220,230,232,239],[65,192,204],[21,22,26,79,89,90,101,146,183,187,191,215,217,218,223,237,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[32,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,220,222,223,230,232,239,241,252,268,271,275,293,303,310,311,312,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,310],[79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[27,38,217,232,1016,1020],[118,203,207,220,231,232,266,291,293,346,352,353,354,355,357,358,380,1017,1018,1020],[27,62,64,65,66,70,85,87,114,117,118,121,128,139,160,164,175,177,202,203,210,215,227,231,232,239,251,266,267,275,284,293,300,301,309,311,334,346,350,352,353,354,355,357,358,367,368,372,380,458,473,475,481,493,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1019,1020,1021],[1016],[27,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,220,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,573,577,579,581,584,589,597,600,626,635,657,681,737,1016,1018,1021,1022],[267],[118,128,196,197,198,203,207,209,210,214,217,220,223,231,232,291,293,300,346,352,353,354,355,357,358,380,1019],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,240,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,214,215,216,217,218,223,230,240,241,248,249,250,251,252,267,268,271,275,284,289,293,300,303,305,306,307,308,309,310,313,314,320,322,323,326,327,328,329,332,334,335,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[27,33,73,223,232,242,243,247,248,335],[254,263,264,289,290,295,296,297,298,302],[27,242,249],[27,38,217,249,303],[56,78,85,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,205,207,208,213,214,217,242,246,249,308,314,318,321,326,329,335,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[217,242,246,249,335],[242,249],[27,204,217,223,242,249,303,335],[52,105,108,143,207,212,251,335,365,380,554,642],[207,243,303,335],[207,214,217,242,249,322,326],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,335,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,241,242,243,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,223,242,246,249],[27,31,78,85,108,115,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,236,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[56,78,85,108,118,122,124,127,131,137,141,146,178,182,183,185,187,189,204,207,208,209,213,214,216,217,235,241,252,268,271,275,293,303,308,313,314,321,326,329,335,338,339,341,346,350,354,358,365,366,367,370,387,389,398,455,472,479,482,484,486,504,507,511,513,518,554,559,560,563,570,577,579,584,589,600,624,626,631,635,644,657,681,737,847,1022],[55,79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,330,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,681,1022],[27,217,242,243,306,335],[217],[251],[79,87,89,90,101,117,146,183,187,192,203,215,217,218,227,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[27,37,73,223,335],[37,246,335],[27,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,73,207,214,217,223,230,335],[27],[27,33,232],[26,27,115,207,217,223,224,236],[27,32,72,73,223,224,387,458],[19,22,23,24,28,32,49,58,78,79,87,88,89,108,114,116,117,118,128,139,143,144,180,182,183,189,191,195,202,203,204,207,210,214,215,217,223,224,227,228,230,231,240,251,275,284,293,309,311,334,343,346,350,352,353,354,355,357,358,360,367,380,389,396,458,459,467,478,481,485,503,511,516,554,559,560,561,585,589,597,624,641,657,658,681,708,711,726,770,830,848],[56,78,79,87,89,90,101,108,117,118,122,124,141,146,178,180,182,183,185,187,192,195,203,207,208,213,214,215,217,218,227,230,240,251,267,275,289,300,308,309,310,311,321,329,332,334,337,339,340,344,346,350,352,353,354,355,357,358,360,365,367,370,380,387,388,389,398,455,459,472,481,482,504,511,518,554,559,560,561,570,577,585,597,600,624,626,631,644,657,681,770,847,1022],[32,58,78,79,85,87,89,108,114,116,117,118,121,139,143,144,178,180,182,183,185,189,191,195,202,203,205,207,208,215,217,227,230,231,251,275,284,308,309,311,314,318,326,334,346,350,351,352,353,354,355,357,358,360,366,367,380,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[32,56,57,58,74,78,79,85,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,181,182,183,184,185,187,189,191,192,202,204,205,207,208,209,210,213,214,215,216,217,218,224,230,234,235,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,365,366,367,370,380,387,388,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926,1022],[56,58,74,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,213,214,217,230,235,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[183],[87,117,118,141,180,195,203,214,215,217,227,234,235,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,215,227,230,231,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[24,32,78,85,86,87,88,117,118,127,131,137,141,146,180,182,183,187,189,195,203,204,207,209,214,215,216,217,223,227,230,231,235,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,503,507,511,513,560,563,573,577,579,581,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[118,180,195,203,230,231,311,346,350,352,353,354,355,357,358,380,585],[118,180,195,203,204,230,311,350,352,353,354,355,357,380,585],[19,20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,207,215,217,227,230,231,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[32,217,223,225,226,227,230,346,458],[32,87,117,203,215,225,226,227,228,230,251,275,309,311,334,346,350,352,353,354,367,458,481,511,585,770],[23,32,78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,214,215,216,217,225,226,227,230,231,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[87,117,118,180,195,203,215,227,230,251,275,309,310,311,313,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,117,181,203,215,227,251,275,309,311,334,343,344,346,350,352,353,354,367,481,511,585,770],[56,78,85,108,114,117,118,119,121,122,124,127,131,137,139,141,146,178,180,182,183,185,187,189,195,202,203,204,205,207,208,209,213,214,216,217,223,230,231,241,252,268,271,275,293,303,308,311,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,365,366,367,370,380,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,585,589,600,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[22,25,92,117,118,223,230],[20,23,32,86,87,117,203,215,222,223,227,230,251,275,309,311,334,346,350,352,353,354,367,458,481,504,511,560,585,770,848],[87],[52,87,88,105,108,117,118,143,180,182,183,195,203,204,207,212,215,217,227,230,231,251,275,309,311,334,343,346,350,352,353,354,355,357,358,365,367,368,377,378,380,389,481,503,511,554,560,585,624,642,657,770,830,848],[87,223,377,380],[92,118,119,180,195,203,217,230,231,311,346,350,352,353,354,355,357,358,380,585],[78,79,85,87,88,89,90,101,117,118,127,131,137,146,182,183,187,189,192,203,204,207,209,215,216,217,218,227,230,231,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,366,367,380,387,388,389,459,479,481,482,484,486,503,507,511,513,560,561,563,577,579,584,585,589,597,600,624,626,635,657,681,737,770,830,848,1022],[22,25,26,27,49,56,58,62,64,66,70,78,79,85,87,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,160,164,175,177,178,182,183,185,187,189,191,192,202,203,204,205,207,208,209,210,213,214,215,216,217,218,222,223,224,227,230,231,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,387,388,389,396,398,455,458,459,467,472,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,573,577,579,581,584,585,589,597,600,624,625,626,631,635,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[72,74,78,79,85,89,90,101,118,127,131,137,141,146,183,187,189,192,204,207,209,215,216,217,218,235,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,337,338,339,340,341,344,346,350,354,358,360,366,367,386,387,388,389,459,479,482,484,486,507,511,513,560,561,563,573,577,579,581,584,589,597,600,626,635,657,681,737,1022],[78,85,91,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,267,268,271,275,277,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[27,32,78,79,85,89,90,101,118,126,127,128,131,136,137,140,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,458,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[25,27,32,34,73,78,79,85,87,88,89,90,101,108,114,117,118,121,127,131,137,139,141,146,178,182,183,185,187,189,192,202,203,204,205,207,208,209,215,216,217,218,222,223,227,230,240,241,251,252,267,268,271,275,289,293,300,303,308,309,310,311,313,314,318,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,366,367,380,385,387,388,389,396,398,458,459,475,478,479,480,481,482,484,485,486,503,504,507,511,513,551,554,559,560,561,563,570,577,579,584,585,589,597,600,624,625,626,635,640,657,658,681,688,729,737,770,830,841,848,926,1022],[21,141,235],[79,89,90,101,146,183,187,192,215,217,218,220,238,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1015,1022],[58,78,79,87,89,108,114,116,117,131,139,143,144,183,185,187,189,191,202,203,207,215,217,227,230,251,275,284,309,311,334,346,350,352,353,354,360,367,387,396,459,467,478,481,485,486,507,511,513,516,554,559,561,573,581,585,589,597,624,641,657,658,681,708,711,726,770,830],[23,390,391,392],[272],[25,26,27,28,49,58,78,79,85,89,108,114,116,117,118,127,131,137,139,143,144,146,183,185,186,187,189,191,202,204,207,209,214,216,217,223,224,230,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[56,78,85,88,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,204,205,207,208,213,214,217,308,314,318,321,326,329,343,350,352,354,365,366,370,380,389,396,398,455,458,472,475,478,480,485,503,504,511,518,551,554,559,560,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,848,926],[23,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,337,338,339,341,346,350,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,128,146,183,187,192,209,210,215,217,218,240,251,267,275,289,293,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[25,27,78,79,85,89,90,101,115,118,127,128,131,137,146,183,187,189,192,204,207,209,210,214,215,216,217,218,223,230,236,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[26,37,115,223,236],[25,26,27,34,73,141,222,223,289,385,389,688,729],[21,22,25,26,27,28,29,30,31,32,108,115,141,159,207,222,223,224,235,236,252,385,458,484,560,729,772],[32,141,223,224,235,382,385,458],[22,25,26,32,36,113,115,126,141,200,222,223,235,236,270,297,314,318,453,458,475,569,572,589,777],[21,23,25,26,27,28,30,32,33,34,35,36,38,73,92,113,115,126,141,200,223,224,236,237,270,289,297,314,318,385,389,453,458,475,569,572,589,688,729,777],[23,31,32,34,73,108,115,141,159,207,222,223,236,252,289,337,350,381,384,385,386,389,458,484,560,688,729,772],[32,35,36,113,115,126,200,270,297,314,318,453,458,475,569,572,589,777],[222,223],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[21,22,23,25,31,32,52,55,56,58,76,78,79,85,89,92,105,107,108,114,115,116,117,118,121,122,124,139,141,143,144,159,178,182,183,185,189,191,202,205,207,208,212,213,214,217,223,224,230,236,251,252,284,308,309,314,318,321,326,329,330,350,352,353,360,365,366,370,380,385,389,396,398,455,458,459,467,472,475,478,480,484,485,504,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,729,737,772,830,841,847,926],[48,58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,224,230,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[41,48,52,58,66,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,49,52,56,57,78,92,105,108,115,118,122,124,141,143,178,182,183,185,207,208,211,212,213,214,217,223,224,232,235,236,251,308,321,329,350,365,370,380,398,455,458,467,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[25,31,32,36,47,49,50,51,52,56,57,58,62,63,64,66,70,78,79,85,89,105,108,113,114,115,116,117,118,121,122,124,126,127,128,131,137,139,141,143,144,146,159,160,164,175,177,178,182,183,185,187,189,191,200,202,203,204,205,207,208,209,210,212,213,214,216,217,223,224,230,231,232,235,236,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,385,387,389,396,398,453,455,458,459,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,572,577,579,584,589,597,600,624,625,626,631,635,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,758,761,765,770,772,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[56,58,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,350,352,353,358,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[19,20,79,89,90,101,146,183,187,192,203,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,353,358,360,387,388,389,459,482,504,560,561,577,597,1022],[23,24,56,58,78,79,85,89,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[26,27,33,37,58,78,79,89,108,114,115,116,117,118,139,143,144,183,189,191,202,203,207,217,223,230,231,236,240,251,284,309,346,352,353,354,355,357,358,360,380,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[41,400,402,410,413,414,415,417,419,420],[41,43,48,400,401,409,415,417,419,420,444,446,448,450,452],[41,400,403,410,413,415,416,417,419,420],[41,400,404,410,413,415,417,418,419,420],[41,400,407,408,410,413,415,417,419,420],[41,48,402,406,407,409,410,414,416,418],[41,48,406,407,408,410,414,416,418],[41,48,403,406,407,409,414,416,418],[41,48,406,407,409,410,414,416,418],[41,48,406,407,408,409,414,416,418],[41,48,405,410],[400,415,417,419,420],[41,45,46,47],[41,46,48],[48,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441],[41,42,43,45,48,443,444,446,448,450,452],[41,43,44,48,444,446,448,450,452],[41,43,45,48,444,445,446,448,450,452],[41,43,45,48,442,444,446,447,448,450,452],[41,43,45,48,444,446,448,449,450,452],[41,43,45,48,444,446,448,450,451,452],[25,79,89,90,101,118,146,183,187,192,203,209,215,217,218,222,223,224,231,240,251,254,255,256,258,260,262,263,264,265,267,275,289,290,293,295,296,297,298,300,301,302,309,310,332,334,339,340,344,346,352,353,354,355,357,358,360,380,387,388,389,459,482,487,488,489,490,491,492,493,494,495,496,497,560,561,577,597,1022],[209,217,223,263,264,293,300,301],[301],[115,223,236,251,253,260,262,289,300,302],[223,251,254,260,261,289,290,295,296,297,298,300],[25,118,203,223,231,251,254,260,261,263,264,289,290,295,296,297,298,300,346,352,353,354,355,357,358,380],[22,23,25,36,113,115,126,200,222,223,236,251,254,260,261,262,263,264,270,289,290,295,296,297,298,300,302,314,318,453,475,569,572,589,777],[32,34,38,73,79,89,90,101,141,146,183,187,192,215,217,218,222,223,240,251,253,254,260,261,267,275,289,290,295,296,297,298,300,309,310,332,334,339,340,344,358,360,385,387,388,389,458,459,482,560,561,577,597,688,729,1022],[223,255,256,257,258,262,263,302],[25,256,258,259,261,263,264,300,302],[23,128,210,223,254,257,262,289,290,293,295,296,297,298,301,302],[23,207,230,256,258,262,263,264,302],[27,78,85,91,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,241,252,266,267,268,271,275,277,287,293,300,302,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1017,1019,1022],[209],[27,217,278,279,285,286,301,302],[287,301,302],[209,293],[217,287,301,302],[287,302],[257,265,300,487,488,489,490,491,492,493,494,495,496,497],[256,258,263,265,300,301,487,488,489,490,491,492,493,494,495,496,497],[141,235,251,260,265,487,488,489,490,491,492,493,494,495,496,497],[21,263,265,487,488,489,490,491,492,493,494,495,496,497],[257,265,487,488,489,490,491,492,493,494,495,496,497],[23,263,264,265,487,488,489,490,491,492,493,494,495,496,497],[26,39,71,223,251,255,256,258,260,263,265,300,301,302,487,488,489,490,491,492,493,494,495,496,497],[23,251,256,258,260,263,264,265,300,487,488,489,490,491,492,493,494,495,496,497],[32,257,265,300,458,487,488,489,490,491,492,493,494,495,496,497],[256,257,258,263,265,487,488,489,490,491,492,493,494,495,496,497],[251,256,258,260,261,263,265,300,301,487,488,489,490,491,492,493,494,495,496,497],[32,36,113,126,200,222,270,297,314,318,453,458,475,569,572,589,777],[63,207,217,230,233],[25,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,465,478,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[52,58,63,78,79,85,89,105,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,214,217,230,251,284,308,309,314,318,326,352,353,360,365,366,380,389,396,398,458,459,465,467,475,478,479,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[207,217,459,461,480],[85],[63,78,85,108,114,118,121,139,178,182,183,185,202,205,207,208,217,308,314,318,326,352,366,389,396,398,458,459,465,475,478,480,485,504,551,554,559,563,570,589,600,624,625,626,640,657,658,681,737,830,841,926],[35,115,207,222,223,236],[78,79,85,89,90,91,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[79,89,90,91,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[21,22,26,39,71,87,117,203,215,223,227,228,230,240,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[78,79,85,87,89,90,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,215,216,217,218,227,230,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,409,459,479,481,482,484,486,507,511,513,560,561,563,577,579,584,585,589,597,600,626,635,657,681,737,770,1022],[47,78,207,230,504],[88,182,183,191,204,217,230,343,354,380,389,503,511,560,624,657,830,848],[20,47,52,56,62,64,66,70,78,85,105,108,114,118,121,122,124,139,141,143,160,164,175,177,178,182,183,185,190,202,203,205,207,208,212,213,214,217,251,284,308,314,318,321,326,329,350,352,353,365,366,368,370,372,380,389,396,398,455,458,472,473,475,478,480,485,501,504,517,518,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,631,638,640,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[554],[25,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,214,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,555,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,32,52,56,58,78,79,85,89,105,108,114,116,117,118,121,122,124,128,139,141,143,144,178,182,183,185,189,191,202,205,207,208,210,212,213,214,217,223,230,251,284,293,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,513,516,518,551,554,555,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[128,210,223,230,293,508],[508],[78,85,87,88,117,118,127,131,137,146,182,183,187,189,203,204,207,209,215,216,217,227,230,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,508,510,511,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[25,31,52,58,62,64,66,70,78,79,85,86,87,88,89,90,101,105,108,114,115,116,117,118,121,127,131,137,139,141,143,144,146,159,160,164,175,177,182,183,187,189,191,192,202,204,207,209,212,214,215,216,217,218,222,223,224,230,235,236,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,343,344,346,352,353,354,358,360,365,366,367,368,372,380,385,387,388,389,396,458,459,467,473,475,478,479,482,484,485,486,503,507,511,513,516,517,522,527,531,536,542,546,551,554,557,559,560,561,563,569,577,579,584,589,597,600,624,626,635,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,772,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[557],[56,58,62,64,66,70,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,368,370,372,389,396,398,455,458,459,467,472,473,475,478,480,485,504,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,631,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[38,78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,216,217,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,33,78,79,85,87,89,90,91,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,215,216,217,218,222,223,224,227,240,241,251,252,267,268,271,275,276,277,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,459,479,481,482,484,486,507,511,513,560,561,563,573,577,579,581,584,585,589,597,600,626,635,657,681,737,770,1022],[91,251,267,276,277,561],[36,113,126,200,222,270,297,314,318,453,475,569,572,589,777],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[79,143],[23,52,56,58,78,79,85,89,90,101,105,108,114,116,117,118,121,122,124,139,141,143,144,146,178,182,183,185,187,189,191,192,202,205,207,208,212,213,214,215,217,218,223,230,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,370,380,387,388,389,396,398,455,458,459,467,472,475,478,480,482,485,504,516,518,551,554,559,560,561,563,570,577,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926,1022],[70,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,575,577,597,1022],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,575,577,579,584,589,597,600,626,635,657,681,737,1022],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,276,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[251,276,561],[25,31,78,85,108,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[88,182,183,204,209,217,223,340,341,343,346,354,380,389,503,511,560,624,657,830,848],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,343,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[340],[87,117,118,180,195,203,215,227,230,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,584,585,770],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,230,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[207,584],[21,25,34,56,73,78,108,115,118,122,124,141,178,182,183,185,207,208,213,214,217,222,223,224,235,236,289,308,321,329,350,365,370,385,389,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,688,729,847],[58,78,79,85,87,89,108,114,116,117,118,121,139,141,143,144,178,182,183,185,189,191,202,203,205,207,208,215,217,223,227,230,235,251,275,284,308,309,311,314,318,326,334,346,350,352,353,354,360,366,367,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[25,27,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,230,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[36,58,78,79,85,89,108,113,114,116,117,118,121,126,127,131,137,139,143,144,146,178,182,183,185,187,189,191,200,202,204,205,207,208,209,216,217,222,223,230,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,398,453,458,459,467,475,478,479,480,482,484,485,486,504,507,511,513,516,551,554,559,560,561,563,569,570,572,577,579,584,586,589,597,600,624,625,626,635,640,641,657,658,681,708,711,726,737,777,830,841,926,1022],[594],[56,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,590,592,593,596,599,600,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[590,591],[214,217,592,593,594],[217,596],[78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,215,216,217,227,230,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,346,350,352,353,354,358,366,367,387,389,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[31,108,159,207,223,252,385,484,560,729,772],[32,115,214,217,223,236,360,362,366,458],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,223,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,360,362,363,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[23,52,56,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,360,365,366,370,374,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[78,85,101,102,103,118,127,130,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[78,85,90,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[90],[127,128,137,209,210,293],[23,25,101,103,135,137,223,224],[32,93,99,100,101,103,458],[804],[517,522,531,536,656,685,737,784],[64,66,70,114,121,458,654,668],[239,284,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[239,284,884],[239,415,417,419,420,444,446,448,450,452],[239,789],[239,1025,1026,1027],[139,239,475,569,717,1031],[239,542,678,1034,1035,1036],[177,239,820],[115,154,208,236,659,662],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,121,139,143,144,158,160,164,175,177,183,189,191,202,207,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,660,662,663,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,284,308,314,318,326,352,366,368,372,389,396,398,455,456,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[458],[32,56,78,92,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,308,321,329,350,365,370,398,455,458,472,504,514,517,518,554,559,570,600,624,626,631,644,657,681,847],[32,36,52,62,64,66,70,85,105,108,113,114,121,126,139,143,160,164,175,177,200,202,212,223,230,251,270,284,297,314,318,346,365,368,372,380,453,458,473,475,516,517,518,522,527,531,536,542,546,551,554,569,572,589,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,651,653,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,650,654,655,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,667,668,669,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[52,62,64,66,70,85,105,108,114,121,139,143,160,164,175,177,202,212,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,625,638,640,642,654,656,662,668,671,673,674,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,520,522,523,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[520],[189,217],[185],[22,25,26,56,71,78,81,85,89,108,114,115,118,121,122,124,139,141,178,182,183,184,185,186,189,202,205,207,208,213,214,217,223,235,236,251,308,314,318,321,326,329,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[32,54,68,85,458],[51,57,62,64,66,70,78,81,84,85,108,114,115,118,121,127,128,131,137,139,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,210,214,216,217,230,236,241,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,368,372,387,389,396,398,458,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[50,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,524,527,528,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,676,678,679,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[39,56,57,68,70,78,108,115,118,122,124,141,178,182,183,185,207,208,213,214,217,235,236,308,321,329,350,365,370,398,455,467,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[121],[25,39,57,58,62,64,66,70,78,79,85,89,104,108,114,115,116,117,118,121,122,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[21,55,56,58,78,79,85,89,108,114,116,117,118,119,121,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,213,214,216,217,223,230,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,337,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,683,685,686,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,518,529,531],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,530,531,532,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,32,34,73,115,141,217,222,223,236,289,383,385,389,458,688,729],[122,689,692],[62,64,66,70,85,114,121,139,160,164,175,177,202,222,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,690,692,693,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[141,235,386],[56,58,78,79,85,88,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,204,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,343,350,352,353,354,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,503,504,511,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926],[92,115,154,223,236,694,697],[62,64,66,70,85,114,121,139,158,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,695,697,698,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,230,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,700,702,703,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,128,139,143,144,183,189,191,202,207,210,214,217,230,251,284,293,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,647,657,658,681,708,711,726,830],[223,518,704,711],[58,62,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,230,235,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,705,708,709,711,712,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[705],[62,64,66,70,85,104,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,534,536,537,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[534],[26,122,141,196,202,223,235],[58,62,64,66,70,78,79,85,89,108,114,115,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,196,197,198,200,201,202,205,207,208,217,230,235,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[197],[23,124,714,715,720],[23,32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,714,717,719,720,721,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,58,62,64,66,70,78,79,85,89,92,108,114,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,217,230,235,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,722,724,726,727,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[724],[31,32,34,73,108,115,141,159,207,222,223,236,252,289,383,385,389,458,484,560,688,729,772],[121,730,733],[55,62,64,66,70,85,92,114,121,139,160,164,175,177,202,222,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,731,733,734,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[217,368,370,375],[62,64,66,70,85,87,114,121,139,160,164,175,177,202,207,217,230,284,368,372,374,376,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[374],[57,115,214,223,236,467,735,737],[52,62,64,66,70,78,85,105,108,114,118,121,127,131,137,139,143,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,212,216,217,223,241,251,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,365,366,367,368,372,380,387,389,396,398,458,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,736,737,738,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[51,52,56,78,105,108,118,122,124,140,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,365,370,380,398,455,471,472,473,504,518,554,559,570,600,624,626,631,642,644,657,681,758,847],[62,64,66,70,85,114,121,128,136,139,160,164,175,177,202,210,214,223,284,293,368,372,458,470,472,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[56,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,600,624,625,626,631,635,640,644,647,657,658,681,737,830,841,847,926,1022],[32,68,124,458,466,475],[36,50,57,62,64,66,70,78,85,108,113,114,115,118,121,124,126,139,160,164,175,177,178,182,183,185,200,202,205,207,208,214,217,223,236,270,284,297,308,314,318,326,352,366,368,372,389,396,398,453,458,467,468,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,572,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[467],[679,742],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,230,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,740,742,743,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,744,745,747,748,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,538,542],[32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,223,236,284,368,372,458,467,473,475,517,522,527,531,536,540,542,543,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[678,750],[57,62,64,66,70,85,114,115,121,139,141,160,164,175,177,202,235,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,749,750,751,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,473,475],[107,214,753,756],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,391,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,754,756,757,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[754],[32,56,58,62,64,66,67,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,544,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,214,223,706,708,712],[58,62,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,707,708,709,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,52,68,101,102,103,105,108,124,128,135,139,143,210,212,223,224,251,293,365,380,458,554,642],[52,57,58,62,64,66,70,78,79,85,89,101,102,103,105,108,111,114,115,116,117,118,121,123,124,137,139,140,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,217,223,224,230,235,236,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[51,84,140,472,758],[62,64,66,70,85,114,121,128,139,160,164,175,177,202,210,214,284,293,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,760,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,715,717,718,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,70,101,130,569],[32,35,36,62,64,66,70,85,101,113,114,115,121,126,130,137,139,160,164,175,177,200,202,220,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,566,567,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[566],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[32,52,105,108,115,143,208,212,214,236,251,365,380,458,554,640,642,648],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,230,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,627,638,640,641,643,647,648,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[641],[207,214,217,626,643,645,646],[626],[52,56,57,58,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,212,213,214,217,224,230,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[207,214,539,542,546],[32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,223,236,284,368,372,458,467,473,475,517,522,527,531,536,542,544,546,547,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[154,161,164,167],[57,58,62,64,66,70,78,79,85,89,92,108,114,115,116,117,121,139,143,144,158,160,164,165,166,167,175,177,183,189,191,202,207,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[167],[52,78,85,105,108,118,127,131,137,143,146,183,187,189,204,207,209,212,214,216,217,241,251,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,365,366,367,380,387,389,479,482,484,486,507,511,513,554,560,563,577,579,584,589,600,626,631,635,638,642,647,657,681,737,1022],[56,78,84,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,630,631,638,643,644,648,657,681,847],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,189,202,217,223,230,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,630,631,632,635,636,638,640,648,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[636],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,763,765,766,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,122,458,767,770],[50,62,64,66,70,85,87,114,115,117,121,139,141,160,164,175,177,202,203,215,227,235,236,251,275,284,309,311,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,768,770,771,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[223,230,768],[31,108,114,159,207,223,252,385,484,560,729,772],[32,106,108,114,115,214,223,224,236,458],[58,62,64,66,70,78,79,85,89,107,108,110,111,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,773,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,107,458,773],[21,110,114,115,207,236,773,774],[68,778],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,214,222,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,775,778,779,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[56,58,64,66,78,79,85,87,88,89,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,223,230,236,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,343,346,350,352,353,354,358,360,365,366,367,370,380,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,573,577,579,581,584,589,597,600,624,625,626,631,635,640,641,644,656,657,658,681,708,711,726,737,830,841,847,848,926,1022],[32,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,782,784,785,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,787,789,790,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,792,794,795,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,796,799],[52,62,64,66,70,85,105,108,114,121,139,141,143,160,164,175,177,202,207,212,224,235,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,797,799,800,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[797],[154,160],[121,153,160,208],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,121,139,143,144,153,154,155,156,158,160,164,167,175,177,183,189,191,202,207,208,217,223,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,160,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[58,62,64,66,68,70,78,79,80,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,801,804],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,802,804,805,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[47,58,78,79,85,89,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,223,230,236,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[223,638,640],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,356,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,807,809,810,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,60,61,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,812,814,815,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[148,214,223,816,820,822],[23,55,62,64,66,70,85,92,111,114,121,139,160,164,175,177,202,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,816,817,818,820,821,822,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[152,821,822],[23,62,64,66,70,85,103,114,121,136,139,160,164,175,177,202,223,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,823,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,178,458,468,826,830],[58,62,64,66,70,78,79,85,88,89,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,204,205,207,208,217,230,251,284,308,309,314,318,326,343,352,353,354,360,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,503,504,511,516,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,827,829,830,831,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,32,55,214,223,330,458,681,827,830,831],[32,52,56,105,108,143,212,214,251,365,380,458,554,642,832,835,837],[25,57,62,64,66,70,85,92,114,115,121,139,160,164,175,177,202,204,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,832,833,835,836,837,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[833],[21,52,105,108,122,143,167,168,170,175,212,251,365,380,554,642],[149,170,175],[57,148,168,169,171,172,175,223,467],[57,62,64,66,70,85,92,114,115,121,139,148,160,164,169,170,171,172,173,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[172],[57,68,107,124,142,147,149,177,467],[50,55,57,62,64,66,70,85,91,92,114,115,121,124,139,141,144,148,149,150,152,160,164,175,176,177,178,202,207,217,223,235,236,284,330,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[91,144],[52,105,108,141,143,160,175,207,212,214,235,251,365,380,554,642],[62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,839,841,842,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,86,87,88,182,183,204,217,230,343,354,380,389,503,511,560,624,657,830,848],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,843,846,847],[62,64,66,70,85,87,114,121,139,160,164,175,177,202,230,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,844,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,850,852,853,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,854,858],[23,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,390,392,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,855,856,858,859,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[856],[23,132,390,393,854],[25,121,548,551],[32,50,57,62,64,66,70,78,85,108,114,115,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,230,236,284,308,314,318,326,352,357,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,549,551,552,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[549],[121,860,863],[32,50,57,62,64,66,70,85,114,115,121,139,160,164,175,177,201,202,217,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,861,863,864,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[24,122,394,865,868,869],[23,24,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,236,284,368,372,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,866,868,869,870,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,394,868,870],[25,29,56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,369,370,372,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[47,62,64,66,70,85,104,114,121,139,160,164,175,177,202,207,230,284,368,369,370,372,373,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[373],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,873,874,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,876,877,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,879,880,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,883,884,886,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,891,892,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,894,895,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,888,889,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,897,898,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,900,901,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,909,910,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,903,904,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,906,907,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,912,913,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,921,922,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,915,916,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,918,919,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,882,884,885,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,56,62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,223,280,281,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,924,925,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,927,928,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,930,931,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,934,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,936,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,939,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,940,942,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,223,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,945,946,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,948,949,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,951,952,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[115,236,282,283,284],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,954,955,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,957,958,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,960,961,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,56,66,280,281,284,458,969,970],[283,971],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,963,964,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,972,973,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,966,967,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,975,976,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,978,979,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,982,983,985,986,989,992,995,998,1001,1004,1007,1010,1013],[58,62,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,217,230,251,280,281,282,283,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,981,983,984,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,987,988,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,990,991,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,996,997,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,993,994,995,998,1001,1004,1007,1010,1013],[26,50,58,62,64,66,70,78,79,85,89,108,114,116,117,118,121,139,143,144,160,164,175,177,183,189,191,202,203,217,223,230,231,251,280,281,284,309,346,352,353,354,355,357,358,360,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,999,1000,1001,1004,1007,1010,1013],[283,1001],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1002,1003,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1008,1009,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1005,1006,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1011,1012,1013],[36,78,85,108,113,114,118,121,126,127,131,137,139,146,178,182,183,185,187,189,200,202,204,205,207,208,209,216,217,241,252,268,270,271,275,293,297,303,308,313,314,318,319,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,453,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,569,570,572,577,579,584,589,600,624,625,626,635,640,657,658,681,737,777,830,841,926,1022],[62,64,66,70,85,114,121,128,139,160,164,175,177,195,202,207,210,217,223,230,251,284,293,309,310,313,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[36,78,85,108,113,114,118,121,126,139,178,182,183,185,200,202,205,207,208,217,230,270,297,308,314,318,326,352,366,389,396,398,453,458,475,478,480,485,504,551,554,559,563,569,570,572,589,600,624,625,626,640,657,658,681,737,777,830,841,926],[251,309],[36,113,126,200,270,297,314,318,453,475,569,572,589,777],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,220,230,238,240,251,267,275,284,289,300,309,310,319,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1015,1022],[27,78,85,88,118,127,131,137,146,182,183,187,189,192,204,207,209,216,217,223,230,240,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,343,346,354,358,366,367,380,387,389,479,482,484,486,503,507,511,513,560,563,577,579,584,589,600,624,626,635,657,681,737,830,848,1022],[204,217,230],[192,204],[32,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,222,223,230,241,252,268,271,275,293,303,310,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[310],[27,217,1016],[118,203,231,266,293,346,352,353,354,355,357,358,380,1017,1019,1020],[266,267,1017,1019],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1016,1021,1022],[118,128,196,203,207,209,210,217,231,293,300,346,352,353,354,355,357,358,380]],"referencedMap":[[1174,1],[1176,2],[241,3],[335,4],[249,5],[304,6],[250,7],[305,8],[308,9],[306,10],[320,11],[323,12],[324,13],[322,14],[327,15],[321,16],[326,17],[328,18],[252,19],[329,20],[330,21],[307,22],[242,23],[331,24],[251,25],[334,26],[333,27],[332,28],[246,29],[248,30],[303,31],[245,32],[247,33],[243,34],[244,35],[224,36],[75,37],[74,38],[230,39],[350,40],[348,41],[347,42],[180,43],[229,44],[88,45],[215,46],[231,47],[352,48],[183,49],[178,50],[179,51],[181,52],[359,53],[353,54],[354,55],[355,56],[195,57],[203,58],[225,59],[226,60],[228,61],[227,62],[346,63],[345,64],[344,65],[311,66],[356,67],[118,68],[117,69],[119,70],[87,71],[349,72],[20,73],[380,74],[377,75],[379,76],[357,77],[358,78],[217,79],[387,80],[219,81],[268,82],[187,83],[388,84],[137,85],[389,86],[233,87],[235,88],[234,89],[65,90],[220,91],[188,92],[390,93],[393,94],[391,93],[132,93],[392,95],[239,96],[238,97],[273,98],[325,99],[189,100],[184,101],[89,102],[182,103],[338,104],[336,105],[218,106],[209,107],[210,108],[25,109],[26,110],[38,111],[73,112],[337,93],[29,113],[77,114],[395,115],[76,116],[30,90],[237,117],[381,118],[236,119],[382,120],[384,121],[223,122],[386,123],[92,124],[383,118],[222,125],[385,126],[113,127],[36,128],[221,129],[339,130],[108,131],[55,132],[396,133],[397,134],[214,135],[213,136],[212,137],[211,138],[207,139],[398,140],[206,141],[205,142],[58,143],[63,144],[62,145],[57,146],[71,147],[240,148],[78,149],[79,150],[232,151],[415,152],[402,153],[410,154],[401,155],[417,156],[403,157],[419,158],[404,153],[420,159],[408,160],[414,161],[409,162],[416,163],[418,164],[407,165],[399,166],[412,167],[411,168],[405,169],[48,170],[47,171],[442,172],[422,173],[423,174],[424,175],[425,175],[426,175],[427,175],[428,175],[429,175],[430,175],[431,175],[432,175],[433,175],[434,175],[435,175],[436,175],[437,175],[438,175],[439,175],[440,175],[441,175],[444,176],[443,177],[45,178],[42,179],[44,180],[446,181],[445,182],[448,183],[447,182],[450,184],[449,182],[452,185],[451,182],[300,186],[302,187],[294,188],[301,189],[264,190],[261,191],[296,192],[288,193],[290,194],[298,195],[297,196],[260,197],[289,198],[295,199],[256,200],[257,201],[262,202],[259,203],[255,204],[263,205],[258,206],[293,207],[292,208],[267,209],[291,210],[287,211],[279,212],[299,213],[285,214],[286,215],[265,216],[487,217],[488,218],[489,219],[491,220],[493,221],[492,222],[494,223],[495,224],[496,225],[490,226],[497,227],[453,228],[499,229],[477,230],[479,231],[459,232],[478,233],[465,234],[498,90],[460,235],[461,236],[464,237],[462,238],[463,239],[480,240],[115,241],[146,242],[145,243],[91,244],[481,245],[482,246],[501,247],[500,248],[505,249],[503,250],[502,235],[191,251],[504,252],[507,253],[483,254],[556,255],[555,256],[553,257],[512,258],[513,259],[554,260],[510,261],[509,262],[508,263],[511,264],[560,265],[558,266],[557,267],[559,268],[563,269],[562,270],[561,271],[275,272],[269,273],[276,274],[270,275],[271,276],[277,277],[565,278],[143,279],[570,280],[571,281],[572,282],[574,283],[573,284],[576,285],[575,286],[577,287],[579,288],[578,289],[580,290],[484,291],[343,292],[341,293],[342,294],[340,295],[585,296],[584,297],[582,298],[581,299],[583,300],[141,301],[485,302],[486,303],[589,304],[587,305],[586,306],[588,305],[591,307],[595,308],[597,309],[600,310],[593,311],[592,116],[596,312],[590,116],[594,313],[599,314],[367,315],[159,316],[601,317],[602,318],[603,319],[604,320],[605,320],[606,318],[607,317],[608,320],[609,319],[610,317],[611,320],[612,321],[613,320],[614,317],[363,322],[364,323],[360,324],[615,23],[366,325],[362,326],[365,327],[378,116],[103,328],[131,329],[127,330],[125,331],[90,332],[128,333],[126,334],[133,335],[136,336],[129,337],[101,338],[135,339],[93,340],[100,341],[95,342],[94,343],[96,342],[97,342],[99,344],[98,342],[616,345],[617,346],[618,346],[619,346],[620,346],[621,346],[623,347],[622,346],[1023,348],[1029,349],[1030,350],[1024,351],[1033,352],[1038,353],[1041,354],[1042,355],[1043,356],[1044,357],[1045,358],[1046,359],[1047,360],[1048,361],[1049,362],[1050,363],[1051,364],[1052,365],[1053,366],[1054,367],[1055,368],[1056,369],[1057,290],[1058,370],[1059,371],[1060,372],[1061,373],[1062,374],[1063,375],[1064,376],[1065,377],[1066,378],[1067,379],[1068,380],[1069,381],[1070,382],[1071,383],[1072,384],[1073,385],[1074,386],[1075,387],[1076,388],[1077,389],[1078,390],[1079,391],[1080,392],[1081,393],[1082,394],[1083,395],[1084,396],[1085,397],[1086,398],[1087,399],[1089,400],[1088,401],[1090,402],[1091,403],[1092,404],[1093,405],[1034,406],[1094,407],[1031,408],[1095,409],[1096,410],[1097,411],[1098,412],[1035,413],[1099,414],[1100,415],[1101,416],[1102,417],[1103,418],[1104,419],[1105,420],[1106,421],[1107,422],[1108,423],[1109,424],[1110,425],[1111,426],[1028,427],[1112,428],[1113,429],[1114,430],[1115,431],[1116,432],[1117,433],[1118,434],[1119,435],[1032,436],[1120,437],[1036,438],[1039,439],[1121,440],[1122,441],[1123,442],[1124,443],[1125,444],[1126,445],[1127,446],[1025,447],[1128,448],[1129,449],[1130,450],[1131,451],[1132,452],[1133,453],[1134,454],[1135,455],[1136,456],[1137,457],[1138,458],[1026,459],[1139,460],[1037,461],[1140,462],[1141,463],[1142,464],[1143,465],[1144,466],[1145,467],[1146,468],[1147,469],[1148,470],[1149,471],[1150,472],[1151,473],[1152,474],[1153,475],[1154,476],[1027,477],[1040,478],[1155,479],[1156,480],[1157,481],[1158,482],[1159,483],[1160,484],[1161,485],[1162,486],[1163,487],[1164,488],[1165,489],[1166,490],[1167,491],[1168,492],[663,493],[659,494],[662,495],[661,496],[660,497],[455,498],[454,499],[458,500],[457,501],[456,502],[664,503],[515,504],[518,505],[514,506],[517,507],[665,508],[516,509],[653,510],[652,511],[654,512],[651,513],[650,514],[649,515],[656,516],[655,517],[669,518],[666,519],[668,520],[667,521],[674,522],[670,523],[673,524],[672,525],[671,526],[523,527],[519,528],[522,529],[521,530],[520,531],[83,532],[82,533],[185,534],[84,535],[54,536],[85,537],[81,538],[528,539],[525,540],[527,541],[526,542],[524,543],[679,544],[675,545],[678,546],[677,547],[676,548],[111,549],[124,550],[680,551],[122,552],[105,553],[121,554],[120,555],[116,556],[681,557],[686,558],[682,519],[685,559],[684,560],[683,561],[532,562],[529,515],[531,563],[530,564],[688,565],[693,566],[689,519],[692,567],[691,568],[690,569],[687,570],[624,571],[698,572],[694,494],[697,573],[696,574],[695,575],[625,576],[703,577],[699,519],[702,578],[701,579],[700,580],[648,581],[147,582],[712,583],[704,584],[711,585],[710,586],[705,587],[537,588],[533,589],[536,590],[535,591],[534,592],[198,593],[196,594],[202,595],[199,596],[197,597],[200,598],[721,599],[714,600],[720,601],[719,602],[722,603],[727,604],[723,605],[726,606],[725,607],[724,608],[729,609],[734,610],[730,611],[733,612],[732,613],[731,614],[728,615],[376,616],[375,617],[368,618],[361,619],[374,620],[738,621],[735,499],[737,622],[736,623],[472,624],[471,625],[473,626],[470,627],[626,628],[468,629],[466,536],[475,630],[469,631],[467,632],[743,633],[739,634],[742,635],[741,636],[740,637],[748,638],[744,519],[747,639],[746,640],[745,641],[540,642],[538,519],[542,643],[541,644],[543,645],[751,646],[752,634],[750,647],[749,648],[474,649],[757,650],[753,651],[756,652],[755,653],[754,654],[56,655],[52,656],[66,657],[67,658],[709,659],[706,660],[708,661],[707,662],[140,663],[102,664],[139,665],[138,666],[123,667],[758,668],[759,669],[761,670],[760,671],[715,672],[713,625],[717,673],[716,674],[718,675],[567,676],[130,677],[569,678],[568,679],[566,680],[644,681],[627,682],[643,683],[642,684],[640,685],[628,686],[641,687],[646,688],[645,99],[647,689],[633,690],[208,691],[547,692],[539,693],[546,694],[545,695],[544,696],[201,697],[166,698],[165,699],[161,700],[164,701],[162,702],[167,703],[632,704],[629,705],[634,706],[635,707],[631,708],[630,709],[638,710],[637,711],[636,712],[766,713],[762,499],[765,714],[764,715],[763,716],[163,118],[771,717],[767,519],[770,718],[768,719],[769,720],[772,721],[109,722],[107,723],[106,724],[114,725],[112,726],[110,727],[774,728],[773,729],[779,730],[780,731],[778,732],[776,733],[775,734],[777,735],[657,736],[785,737],[781,738],[784,739],[783,740],[782,741],[790,742],[786,743],[789,744],[788,745],[787,746],[795,747],[791,748],[794,749],[793,750],[792,751],[800,752],[796,519],[799,753],[798,754],[797,755],[158,756],[155,757],[154,758],[153,759],[160,760],[157,761],[156,762],[68,763],[53,499],[70,764],[69,765],[80,766],[805,767],[801,738],[804,768],[803,769],[802,770],[658,771],[639,772],[810,773],[806,774],[809,775],[808,776],[807,777],[60,778],[59,499],[64,779],[61,780],[815,781],[811,523],[814,782],[813,783],[812,784],[822,785],[817,786],[816,787],[820,788],[819,789],[821,790],[818,791],[825,792],[824,793],[823,794],[831,795],[826,796],[830,797],[828,798],[827,799],[829,800],[837,801],[836,802],[832,803],[835,804],[834,805],[833,806],[173,807],[171,808],[169,809],[170,810],[168,811],[175,812],[174,813],[172,814],[150,815],[149,816],[148,817],[142,738],[177,818],[151,819],[144,820],[176,821],[842,822],[838,823],[841,824],[840,825],[839,826],[848,827],[847,828],[843,519],[846,829],[845,830],[844,831],[853,832],[849,738],[852,833],[851,834],[850,835],[859,836],[854,738],[858,837],[857,838],[856,839],[855,840],[552,841],[548,519],[551,842],[550,843],[549,844],[864,845],[860,519],[863,846],[862,847],[861,848],[870,849],[865,519],[868,850],[867,851],[866,852],[869,853],[370,854],[369,594],[372,855],[371,856],[373,857],[278,858],[875,859],[873,860],[874,861],[878,862],[876,863],[877,864],[881,865],[879,866],[880,867],[887,868],[883,869],[886,870],[893,871],[891,872],[892,873],[896,874],[894,875],[895,876],[890,877],[888,863],[889,878],[899,879],[897,880],[898,881],[902,882],[900,863],[901,883],[911,884],[909,869],[910,885],[905,886],[903,863],[904,887],[908,888],[906,863],[907,889],[914,890],[912,869],[913,891],[923,892],[921,863],[922,893],[917,894],[915,860],[916,895],[920,896],[918,863],[919,897],[884,898],[882,863],[885,899],[926,900],[925,901],[924,902],[280,903],[281,904],[929,905],[927,863],[928,906],[932,907],[930,908],[931,909],[935,910],[933,863],[934,911],[937,912],[938,913],[936,914],[940,915],[941,913],[939,916],[943,917],[944,913],[942,918],[947,919],[945,920],[946,921],[950,922],[948,863],[949,923],[953,924],[951,863],[952,925],[872,926],[956,927],[954,863],[955,928],[959,929],[957,930],[958,931],[962,932],[960,860],[961,933],[971,934],[969,863],[970,935],[965,936],[963,869],[964,937],[974,938],[972,908],[973,939],[968,940],[966,863],[967,941],[977,942],[975,863],[976,943],[980,944],[978,863],[979,945],[986,946],[982,947],[985,948],[284,949],[282,950],[283,951],[983,952],[981,953],[984,954],[989,955],[988,956],[987,957],[992,958],[990,869],[991,959],[998,960],[996,863],[997,961],[995,962],[993,863],[994,963],[1001,964],[999,965],[1000,966],[1004,967],[1002,863],[1003,968],[1010,969],[1008,863],[1009,970],[1007,971],[1005,972],[1006,973],[1013,974],[1011,863],[1012,975],[314,976],[319,977],[318,978],[315,979],[309,980],[316,127],[1015,981],[1014,28],[204,982],[194,983],[193,984],[192,985],[313,986],[312,987],[310,988],[1021,989],[1019,990],[1017,991],[1018,992],[1022,993],[1016,994],[1020,995],[317,23]],"exportedModulesMap":[[1174,1],[1176,2],[241,996],[335,997],[249,998],[304,999],[250,1000],[305,1001],[308,1002],[306,1003],[320,1004],[323,1005],[324,1006],[322,1007],[327,1008],[321,1009],[326,1010],[328,1011],[252,1012],[329,1013],[330,1014],[307,1015],[242,1016],[331,1017],[251,25],[334,1018],[333,27],[332,28],[246,1019],[248,1020],[303,1021],[245,1022],[247,1023],[243,1024],[244,1023],[224,36],[75,1025],[74,1026],[230,1027],[350,1028],[348,41],[347,42],[180,43],[229,42],[88,45],[215,46],[231,47],[352,1029],[183,1030],[178,1031],[179,1032],[181,1033],[359,53],[353,1034],[354,1035],[355,1036],[195,1037],[203,1038],[225,59],[226,60],[228,1039],[227,1040],[346,1041],[345,64],[344,65],[311,1042],[356,1043],[118,1044],[117,69],[119,1045],[87,1046],[349,1047],[20,73],[380,1048],[377,75],[379,1049],[357,1050],[358,1051],[217,1052],[387,1053],[219,284],[268,1054],[187,83],[388,1055],[137,1056],[389,1057],[233,1058],[235,88],[234,89],[220,1059],[188,1060],[390,93],[393,1061],[391,93],[132,93],[392,95],[239,96],[238,97],[273,1062],[325,99],[189,1063],[184,101],[89,102],[182,1064],[338,1065],[336,1066],[218,106],[209,1067],[210,108],[25,109],[26,110],[38,1068],[73,1069],[337,93],[29,113],[77,115],[395,115],[30,90],[237,117],[381,118],[236,119],[382,120],[384,121],[223,1070],[386,1071],[92,1072],[383,118],[222,1073],[385,1074],[113,1075],[36,128],[221,1076],[339,1077],[108,1078],[55,132],[396,1079],[397,1080],[214,1081],[213,136],[212,137],[211,138],[207,1082],[398,1083],[206,145],[205,142],[58,143],[63,1084],[62,145],[57,146],[71,1016],[240,1085],[78,1086],[79,150],[232,1087],[415,1088],[402,153],[410,1089],[401,155],[417,1090],[403,157],[419,1091],[404,153],[420,1092],[408,160],[414,1093],[409,1094],[416,1095],[418,1096],[407,1097],[399,166],[412,1098],[411,168],[405,1099],[48,1100],[47,1101],[442,1102],[422,173],[423,174],[424,174],[425,174],[426,174],[427,174],[428,174],[429,174],[430,174],[431,174],[432,174],[433,174],[434,174],[435,174],[436,174],[437,174],[438,174],[439,174],[440,174],[441,174],[444,1103],[443,177],[45,1104],[42,179],[44,180],[446,1105],[445,182],[448,1106],[447,182],[450,1107],[449,182],[452,1108],[451,182],[300,1109],[302,1110],[294,1111],[301,189],[264,190],[261,1112],[296,1113],[288,193],[290,1114],[298,1113],[297,1115],[260,197],[289,1116],[295,1113],[256,1117],[257,201],[262,1118],[259,203],[255,1119],[263,1120],[258,206],[293,1121],[292,994],[267,209],[291,1122],[287,1123],[279,1124],[299,1125],[285,1126],[286,1127],[265,216],[487,1128],[488,1129],[489,1130],[491,1131],[493,1132],[492,1133],[494,1134],[495,1135],[496,1136],[490,1137],[497,1138],[453,1139],[499,1140],[479,1141],[459,232],[478,1142],[465,234],[460,235],[461,236],[464,1143],[462,1144],[463,239],[480,1145],[115,1146],[146,1147],[145,1148],[91,244],[481,1149],[482,1150],[501,248],[500,248],[505,1151],[503,1152],[502,235],[191,251],[504,1153],[507,1154],[556,255],[555,256],[553,1155],[512,258],[513,1156],[554,1157],[510,1158],[509,1159],[508,263],[511,1160],[560,1161],[558,1162],[557,267],[559,1163],[563,1164],[562,270],[561,271],[275,1165],[269,1166],[276,274],[270,1167],[271,1168],[277,277],[565,1169],[143,279],[570,1170],[571,1171],[572,1167],[574,1016],[573,284],[576,1172],[575,286],[577,1173],[579,1174],[578,1175],[580,290],[484,1176],[343,1177],[341,1178],[342,1179],[340,295],[585,1180],[584,1181],[582,298],[581,299],[583,1182],[141,1183],[485,1184],[486,1185],[589,1186],[587,305],[586,306],[588,305],[591,307],[595,1187],[597,309],[600,1188],[593,1189],[596,1190],[594,313],[599,1191],[367,1192],[159,1193],[601,28],[602,28],[603,28],[604,28],[605,28],[606,28],[607,28],[608,28],[609,28],[610,28],[611,28],[612,28],[613,28],[614,28],[363,1194],[364,323],[360,324],[615,1016],[366,1195],[362,95],[365,1196],[103,328],[131,1197],[127,1198],[125,1199],[90,332],[128,1200],[126,334],[133,335],[136,1201],[129,340],[101,338],[135,1202],[93,340],[100,341],[95,342],[94,343],[96,342],[97,342],[99,344],[98,342],[616,345],[617,346],[618,346],[619,346],[620,346],[621,346],[623,347],[622,346],[1023,1203],[1029,349],[1030,1204],[1024,1205],[1033,352],[1038,353],[1041,354],[1042,355],[1043,356],[1044,357],[1045,358],[1046,359],[1047,360],[1048,361],[1049,362],[1050,363],[1051,364],[1052,365],[1053,366],[1054,367],[1055,368],[1056,369],[1057,290],[1058,370],[1059,1206],[1060,1207],[1061,373],[1062,374],[1063,375],[1064,376],[1065,377],[1066,378],[1067,379],[1068,380],[1069,381],[1070,382],[1071,383],[1072,384],[1073,385],[1074,386],[1075,387],[1076,388],[1077,389],[1078,390],[1079,391],[1080,392],[1081,393],[1082,394],[1083,395],[1084,396],[1085,397],[1086,398],[1087,290],[1089,400],[1088,290],[1090,402],[1091,290],[1092,290],[1093,290],[1034,290],[1094,407],[1031,290],[1095,290],[1096,290],[1097,1208],[1098,290],[1035,290],[1099,290],[1100,415],[1101,416],[1102,290],[1103,290],[1104,290],[1105,420],[1106,290],[1107,290],[1108,423],[1109,290],[1110,1209],[1111,290],[1028,1210],[1112,428],[1113,290],[1114,430],[1115,290],[1116,432],[1117,433],[1118,434],[1119,435],[1032,1211],[1120,290],[1036,290],[1039,290],[1121,290],[1122,290],[1123,290],[1124,443],[1125,290],[1126,290],[1127,446],[1025,290],[1128,290],[1129,449],[1130,290],[1131,290],[1132,452],[1133,453],[1134,454],[1135,290],[1136,290],[1137,457],[1138,290],[1026,290],[1139,290],[1037,1212],[1140,462],[1141,1213],[1142,290],[1143,290],[1144,290],[1145,467],[1146,468],[1147,290],[1148,290],[1149,471],[1150,290],[1151,473],[1152,474],[1153,475],[1154,476],[1027,290],[1040,478],[1155,290],[1156,290],[1157,290],[1158,290],[1159,290],[1160,290],[1161,290],[1162,290],[1163,290],[1164,290],[1165,290],[1166,290],[1167,290],[1168,290],[663,1214],[659,494],[662,1215],[661,496],[660,497],[455,498],[454,499],[458,1216],[457,501],[456,502],[664,1217],[515,504],[518,1218],[514,506],[517,1219],[665,508],[516,509],[653,510],[652,511],[654,1220],[651,513],[650,514],[649,515],[656,1221],[655,517],[669,518],[666,519],[668,1222],[667,521],[674,522],[670,523],[673,1223],[672,525],[671,526],[523,527],[519,528],[522,1224],[521,1225],[520,531],[83,1226],[82,1227],[185,1228],[84,1229],[54,536],[85,1230],[81,538],[528,539],[525,540],[527,1231],[526,542],[524,543],[679,544],[675,545],[678,1232],[677,648],[676,548],[111,145],[124,1233],[680,1234],[122,552],[105,553],[121,1235],[120,1236],[116,556],[681,1237],[686,558],[682,519],[685,1238],[684,560],[683,561],[532,1239],[529,515],[531,1240],[530,564],[688,1241],[693,1242],[689,519],[692,1243],[691,568],[690,569],[687,1244],[624,1245],[698,1246],[694,494],[697,1247],[696,574],[695,575],[625,1248],[703,577],[699,519],[702,1249],[701,579],[700,580],[648,1250],[147,582],[712,1251],[704,584],[711,1252],[710,1253],[705,587],[537,588],[533,589],[536,1254],[535,1255],[534,592],[198,1256],[196,594],[202,1257],[199,1258],[197,597],[200,1167],[721,1259],[714,600],[720,1260],[719,602],[722,603],[727,604],[723,605],[726,1261],[725,1262],[724,608],[729,1263],[734,1264],[730,611],[733,1265],[732,613],[731,614],[728,1244],[376,1266],[375,617],[368,1267],[361,1268],[374,620],[738,1269],[735,499],[737,1270],[736,623],[472,1271],[471,625],[473,1272],[470,627],[626,1273],[468,1274],[466,536],[475,1275],[469,1276],[467,632],[743,1277],[739,634],[742,1278],[741,636],[740,637],[748,638],[744,519],[747,1279],[746,640],[745,641],[540,1280],[538,519],[542,1281],[541,644],[543,645],[751,1282],[752,634],[750,1283],[749,648],[474,1284],[757,1285],[753,651],[756,1286],[755,1287],[754,654],[56,655],[52,656],[66,1288],[67,658],[709,1289],[706,660],[708,1290],[707,662],[140,1291],[102,664],[139,1292],[138,627],[123,667],[758,1293],[759,669],[761,1294],[760,671],[715,672],[713,625],[717,1295],[716,674],[718,675],[567,1296],[130,677],[569,1297],[568,1298],[566,680],[644,1299],[627,682],[643,1300],[642,684],[640,1301],[628,1302],[641,687],[646,688],[645,99],[647,1303],[633,1304],[208,1305],[547,1306],[539,693],[546,1307],[545,695],[544,696],[201,1308],[166,698],[165,1309],[161,700],[164,1310],[162,1311],[167,703],[632,704],[629,705],[634,1304],[635,1312],[631,1313],[630,709],[638,1314],[637,1315],[636,712],[766,713],[762,499],[765,1316],[764,715],[763,716],[163,118],[771,1317],[767,519],[770,1318],[768,719],[769,1319],[772,1320],[109,722],[107,1321],[106,724],[114,1322],[112,1323],[110,727],[774,1324],[773,1325],[779,1326],[780,731],[778,1327],[776,733],[775,734],[777,1167],[657,1328],[785,737],[781,738],[784,1329],[783,740],[782,741],[790,742],[786,743],[789,1330],[788,745],[787,746],[795,747],[791,748],[794,1331],[793,750],[792,751],[800,1332],[796,519],[799,1333],[798,1334],[797,755],[158,1335],[155,757],[154,1336],[153,759],[160,1337],[157,1338],[156,762],[68,763],[53,499],[70,1339],[69,765],[80,766],[805,1340],[801,738],[804,1341],[803,769],[802,770],[658,1342],[639,1343],[810,773],[806,774],[809,1344],[808,776],[807,777],[60,778],[59,499],[64,1345],[61,780],[815,781],[811,523],[814,1346],[813,783],[812,784],[822,785],[817,1347],[816,787],[820,1348],[819,789],[821,790],[818,1349],[825,1350],[824,793],[823,794],[831,1351],[826,796],[830,1352],[828,798],[827,799],[829,1353],[837,801],[836,1354],[832,803],[835,1355],[834,1356],[833,806],[173,807],[171,1357],[169,1358],[170,1359],[168,811],[175,1360],[174,1361],[172,814],[150,815],[149,816],[148,1362],[142,738],[177,1363],[151,1364],[144,820],[176,1365],[842,822],[838,823],[841,1366],[840,825],[839,826],[848,1367],[847,1368],[843,519],[846,1369],[845,830],[844,831],[853,832],[849,738],[852,1370],[851,834],[850,835],[859,1371],[854,738],[858,1372],[857,1373],[856,839],[855,1374],[552,1375],[548,519],[551,1376],[550,1377],[549,844],[864,1378],[860,519],[863,1379],[862,847],[861,848],[870,1380],[865,519],[868,1381],[867,851],[866,852],[869,1382],[370,1383],[369,594],[372,1384],[371,1385],[373,857],[875,1386],[873,860],[874,861],[878,1387],[876,863],[877,864],[881,1388],[879,866],[880,867],[887,1389],[883,869],[886,870],[893,1390],[891,872],[892,873],[896,1391],[894,875],[895,876],[890,1392],[888,863],[889,878],[899,1393],[897,880],[898,881],[902,1394],[900,863],[901,883],[911,1395],[909,869],[910,885],[905,1396],[903,863],[904,887],[908,1397],[906,863],[907,889],[914,1398],[912,869],[913,891],[923,1399],[921,863],[922,893],[917,1400],[915,860],[916,895],[920,1401],[918,863],[919,897],[884,1402],[882,863],[885,899],[926,1403],[925,901],[924,902],[280,903],[281,904],[929,1404],[927,863],[928,906],[932,1405],[930,908],[931,909],[935,1406],[933,863],[934,911],[937,1407],[938,913],[936,914],[940,1408],[941,913],[939,916],[943,1409],[944,913],[942,918],[947,1410],[945,920],[946,921],[950,1411],[948,863],[949,923],[953,1412],[951,863],[952,925],[872,1413],[956,1414],[954,863],[955,928],[959,1415],[957,930],[958,931],[962,1416],[960,860],[961,933],[971,1417],[969,863],[970,1418],[965,1419],[963,869],[964,937],[974,1420],[972,908],[973,939],[968,1421],[966,863],[967,941],[977,1422],[975,863],[976,943],[980,1423],[978,863],[979,945],[986,1424],[982,947],[985,948],[284,1425],[282,950],[283,951],[983,1426],[981,953],[984,954],[989,1427],[988,956],[987,957],[992,1428],[990,869],[991,959],[998,1429],[996,863],[997,961],[995,1430],[993,863],[994,963],[1001,1431],[999,965],[1000,1432],[1004,1433],[1002,863],[1003,968],[1010,1434],[1008,863],[1009,970],[1007,1435],[1005,972],[1006,973],[1013,1436],[1011,863],[1012,975],[314,1437],[319,1438],[318,1439],[315,1440],[309,980],[316,1441],[1015,1442],[1014,28],[204,1443],[194,1444],[193,1445],[192,985],[313,1446],[312,1447],[310,988],[1021,1448],[1019,1449],[1017,1450],[1018,992],[1022,1451],[1016,994],[1020,1452],[317,1016]],"semanticDiagnosticsPerFile":[1174,1170,1169,1172,1171,1173,1176,1175,17,18,4,6,5,2,7,8,9,10,11,12,13,14,3,15,16,1,241,335,249,304,250,305,308,306,320,323,324,322,327,321,326,328,252,329,330,307,242,331,251,334,333,332,246,248,303,245,247,243,244,224,75,74,72,230,350,348,347,180,229,88,215,231,351,352,183,178,179,181,359,353,354,355,195,203,225,226,228,227,346,345,344,311,356,118,117,119,87,349,86,19,20,380,377,379,357,358,49,217,387,219,216,268,187,388,137,389,233,21,235,234,65,220,33,40,188,390,393,391,132,392,134,239,238,273,272,325,189,184,186,89,182,338,336,218,209,210,22,25,26,39,27,28,38,37,73,394,337,23,29,77,395,76,30,24,237,381,236,382,384,223,386,31,92,32,383,222,385,34,35,113,36,221,339,50,108,55,396,397,51,214,213,212,211,207,398,206,205,58,63,62,57,71,240,78,79,232,415,402,410,401,400,417,403,419,404,420,408,414,409,406,416,418,407,399,41,412,411,405,48,47,46,442,422,423,421,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,444,443,45,42,44,43,446,445,448,447,450,449,452,451,300,302,294,301,264,261,296,288,290,298,297,253,260,289,295,254,256,257,262,259,255,263,258,293,292,266,267,291,287,279,299,285,286,265,487,488,489,491,493,492,494,495,496,490,497,453,499,477,476,479,459,478,465,498,460,461,464,462,463,480,115,146,145,91,481,482,501,500,190,505,503,502,191,504,507,506,483,556,555,553,512,513,554,510,509,508,511,560,558,557,559,563,562,561,275,269,276,270,271,277,564,565,143,570,571,572,574,573,576,575,577,579,578,580,484,343,341,342,340,585,584,582,581,583,141,485,274,486,589,587,586,588,591,595,597,598,600,593,592,596,590,594,599,367,159,601,602,603,604,605,606,607,608,609,610,611,612,613,614,363,364,360,615,366,362,365,378,103,131,127,125,90,128,126,133,136,129,101,135,93,100,95,94,96,97,99,98,616,617,618,619,620,621,623,622,1023,1029,1030,1024,1033,1038,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1089,1088,1090,1091,1092,1093,1034,1094,1031,1095,1096,1097,1098,1035,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1028,1112,1113,1114,1115,1116,1117,1118,1119,1032,1120,1036,1039,1121,1122,1123,1124,1125,1126,1127,1025,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1026,1139,1037,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1027,1040,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,663,659,662,661,660,455,454,458,457,456,664,515,518,514,517,665,516,653,652,654,651,650,649,656,655,669,666,668,667,674,670,673,672,671,523,519,522,521,520,83,82,185,84,54,85,81,528,525,527,526,524,679,675,678,677,676,111,124,680,104,122,105,121,120,116,681,686,682,685,684,683,532,529,531,530,688,693,689,692,691,690,687,624,698,694,697,696,695,625,703,699,702,701,700,648,147,712,704,711,710,705,537,533,536,535,534,198,196,202,199,197,200,721,714,720,719,722,727,723,726,725,724,729,734,730,733,732,731,728,376,375,368,361,374,738,735,737,736,472,471,473,470,626,468,466,475,469,467,743,739,742,741,740,748,744,747,746,745,540,538,542,541,543,751,752,750,749,474,757,753,756,755,754,56,52,66,67,709,706,708,707,140,102,139,138,123,758,759,761,760,715,713,717,716,718,567,130,569,568,566,644,627,643,642,640,628,641,646,645,647,633,208,547,539,546,545,544,201,166,165,161,164,162,167,632,629,634,635,631,630,638,637,636,766,762,765,764,763,163,771,767,770,768,769,772,109,107,106,114,112,110,774,773,779,780,778,776,775,777,657,785,781,784,783,782,790,786,789,788,787,795,791,794,793,792,800,796,799,798,797,158,155,154,153,160,157,156,68,53,70,69,80,805,801,804,803,802,658,639,810,806,809,808,807,60,59,64,61,815,811,814,813,812,822,817,816,820,819,821,818,825,824,823,831,826,830,828,827,829,837,836,832,835,834,833,173,171,169,170,168,175,174,172,150,149,148,142,177,151,144,152,176,842,838,841,840,839,848,847,843,846,845,844,853,849,852,851,850,859,854,858,857,856,855,552,548,551,550,549,864,860,863,862,861,870,865,868,867,866,869,370,369,372,371,373,278,413,875,873,874,878,876,877,881,879,880,887,883,886,893,891,892,896,894,895,871,890,888,889,899,897,898,902,900,901,911,909,910,905,903,904,908,906,907,914,912,913,923,921,922,917,915,916,920,918,919,884,882,885,926,925,924,280,281,929,927,928,932,930,931,935,933,934,937,938,936,940,941,939,943,944,942,947,945,946,950,948,949,953,951,952,872,956,954,955,959,957,958,962,960,961,971,969,970,965,963,964,974,972,973,968,966,967,977,975,976,980,978,979,986,982,985,284,282,283,983,981,984,989,988,987,992,990,991,998,996,997,995,993,994,1001,999,1000,1004,1002,1003,1010,1008,1009,1007,1005,1006,1013,1011,1012,314,319,318,315,309,316,1015,1014,204,194,193,192,313,312,310,1021,1019,1017,1018,1022,1016,1020,317],"latestChangedDtsFile":"./masters/themes/sunset.src.d.ts"},"version":"5.4.5"} \ No newline at end of file +{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../ts/core/axis/tickpositionsarray.d.ts","../../ts/core/axis/timeticksinfoobject.d.ts","../../ts/core/color/colorstring.d.ts","../../ts/core/renderer/alignobject.d.ts","../../ts/core/renderer/positionobject.d.ts","../../ts/core/renderer/sizeobject.d.ts","../../ts/core/renderer/bboxobject.d.ts","../../ts/core/renderer/cssobject.d.ts","../../ts/core/renderer/domelementtype.d.ts","../../ts/core/renderer/fontmetricsobject.d.ts","../../ts/core/renderer/rectangleobject.d.ts","../../ts/core/renderer/shadowoptionsobject.d.ts","../../ts/core/renderer/svg/svgelementlike.d.ts","../../ts/core/renderer/svg/svgpath.d.ts","../../ts/core/eventcallback.d.ts","../../ts/core/renderer/svg/svgrendererlike.d.ts","../../ts/core/renderer/svg/symboloptions.d.ts","../../ts/core/renderer/svg/symboltype.d.ts","../../ts/core/renderer/html/htmlattributes.d.ts","../../ts/core/renderer/html/ast.ts","../../ts/core/renderer/dashstylevalue.d.ts","../../ts/core/formattercallback.d.ts","../../ts/data/dataevent.ts","../../ts/data/modifiers/datamodifierevent.ts","../../ts/data/modifiers/datamodifiertype.d.ts","../../ts/data/modifiers/datamodifieroptions.ts","../../ts/data/modifiers/datamodifier.ts","../../ts/data/datatableoptions.ts","../../ts/data/datatablecore.ts","../../ts/data/datatable.ts","../../ts/core/callback.d.ts","../../ts/core/series/dataextremesobject.d.ts","../../ts/core/series/kdpointsearchobjectlike.d.ts","../../ts/series/line/linepointoptions.d.ts","../../ts/series/scatter/scatterpointoptions.d.ts","../../ts/series/bubble/bubblepointoptions.d.ts","../../ts/core/series/datalabeloptions.d.ts","../../ts/series/line/linepoint.d.ts","../../ts/core/series/statesoptions.d.ts","../../ts/core/series/seriesoptions.d.ts","../../ts/series/spline/splinepointoptions.d.ts","../../ts/series/spline/splinepoint.d.ts","../../ts/series/spline/splineseriesoptions.d.ts","../../ts/core/series/seriestype.d.ts","../../ts/core/series/seriesregistry.ts","../../ts/series/spline/splineseries.ts","../../ts/core/color/palettes.ts","../../ts/series/line/lineseries.ts","../../ts/series/line/lineseriesoptions.d.ts","../../ts/series/scatter/scatterpoint.d.ts","../../ts/series/scatter/scatterseriesdefaults.ts","../../ts/series/scatter/scatterseries.ts","../../ts/core/templating.ts","../../ts/core/animation/fxlike.d.ts","../../ts/core/renderer/html/htmlelement.ts","../../ts/core/animation/fx.ts","../../ts/core/animation/animationutilities.ts","../../ts/core/renderer/rendererutilities.ts","../../ts/core/renderer/rendererregistry.ts","../../ts/core/tooltip.ts","../../ts/core/tooltipoptions.d.ts","../../ts/series/scatter/scatterseriesoptions.d.ts","../../ts/series/bubble/bubbleseriesoptions.d.ts","../../ts/series/bubble/bubblelegenddefaults.ts","../../ts/series/bubble/bubblelegendcomposition.ts","../../ts/series/bubble/bubblepoint.ts","../../ts/series/bubble/bubbleseries.ts","../../ts/core/axis/ticklike.d.ts","../../ts/core/axis/tick.ts","../../ts/core/axis/axislike.d.ts","../../ts/core/legend/legendoptions.d.ts","../../ts/maps/mapnavigationoptions.d.ts","../../ts/extensions/breadcrumbs/breadcrumbsoptions.d.ts","../../ts/core/renderer/svg/svglabel.ts","../../ts/maps/projectiondefinition.d.ts","../../ts/maps/projections/lambertconformalconic.ts","../../ts/maps/projections/equalearth.ts","../../ts/maps/projections/miller.ts","../../ts/maps/projections/orthographic.ts","../../ts/maps/projections/webmercator.ts","../../ts/maps/projections/projectionregistry.ts","../../ts/maps/projectionoptions.d.ts","../../ts/maps/mapviewoptions.d.ts","../../ts/series/map/mappointoptions.d.ts","../../ts/maps/geojson.d.ts","../../ts/series/column/columnmetricsobject.d.ts","../../ts/series/column/columnpointoptions.d.ts","../../ts/series/pie/piepointoptions.d.ts","../../ts/series/pie/piepoint.ts","../../ts/core/series/datalabel.ts","../../ts/series/pie/piedatalabeloptions.d.ts","../../ts/series/pie/pieseriesoptions.d.ts","../../ts/series/centeredutilities.ts","../../ts/series/pie/pieseriesdefaults.ts","../../ts/core/renderer/svg/symbols.ts","../../ts/series/pie/pieseries.ts","../../ts/extensions/borderradius.ts","../../ts/series/column/columnseriesoptions.d.ts","../../ts/core/axis/stacking/stackingoptions.d.ts","../../ts/core/axis/stacking/stackingaxis.ts","../../ts/core/axis/stacking/stackitem.ts","../../ts/series/column/columnseriesdefaults.ts","../../ts/series/column/columnseries.ts","../../ts/series/column/columnpoint.d.ts","../../ts/series/map/mapseriesoptions.d.ts","../../ts/series/colormapcomposition.ts","../../ts/maps/mapnavigationdefaults.ts","../../ts/maps/mapsymbols.ts","../../ts/maps/mapnavigation.ts","../../ts/maps/mappointer.ts","../../ts/maps/mapviewdefaults.ts","../../ts/series/mappoint/mappointpointoptions.d.ts","../../ts/maps/geojsoncomposition.ts","../../ts/core/geometry/geometryutilities.ts","../../ts/maps/maputilities.ts","../../ts/core/geometry/polygonclip.ts","../../ts/maps/projection.ts","../../ts/maps/mapview.ts","../../ts/core/chart/mapchart.ts","../../ts/series/map/mapseriesdefaults.ts","../../ts/series/map/mapseries.ts","../../ts/series/map/mappoint.ts","../../ts/extensions/patternfill.ts","../../ts/series/treemap/treemappointoptions.d.ts","../../ts/extensions/markerclusters/markerclusteroptions.d.ts","../../ts/series/treemap/treemapseriesoptions.d.ts","../../ts/extensions/breadcrumbs/breadcrumbsdefaults.ts","../../ts/extensions/breadcrumbs/breadcrumbs.ts","../../ts/series/drawpointutilities.ts","../../ts/series/treemap/treemappoint.ts","../../ts/series/treemap/treemapnode.ts","../../ts/series/treemap/treemapalgorithmgroup.ts","../../ts/series/treemap/treemapseriesdefaults.ts","../../ts/series/treemap/treemaputilities.ts","../../ts/series/sankey/sankeypointoptions.d.ts","../../ts/series/sankey/sankeypoint.ts","../../ts/series/sankey/sankeydatalabeloptions.d.ts","../../ts/series/sankey/sankeyseriesoptions.d.ts","../../ts/series/sankey/sankeyseriesdefaults.ts","../../ts/series/sankey/sankeycolumncomposition.ts","../../ts/extensions/textpath.ts","../../ts/series/sankey/sankeyseries.ts","../../ts/series/organization/organizationpointoptions.d.ts","../../ts/series/organization/organizationseriesdefaults.ts","../../ts/series/pathutilities.ts","../../ts/series/organization/organizationseries.ts","../../ts/series/organization/organizationpoint.ts","../../ts/series/organization/organizationdatalabeloptions.d.ts","../../ts/series/organization/organizationseriesoptions.d.ts","../../ts/series/treegraph/treegraphpointoptions.d.ts","../../ts/series/treegraph/treegraphnode.ts","../../ts/series/treegraph/treegraphpoint.ts","../../ts/series/treegraph/treegraphlink.ts","../../ts/series/treegraph/treegraphseriesoptions.d.ts","../../ts/series/treegraph/treegraphlayout.ts","../../ts/series/treegraph/treegraphseriesdefaults.ts","../../ts/series/treegraph/treegraphseries.ts","../../ts/series/treeutilities.ts","../../ts/series/treemap/treemapseries.ts","../../ts/core/axis/color/coloraxiscomposition.ts","../../ts/core/axis/color/coloraxisdefaults.ts","../../ts/core/axis/axiscomposition.d.ts","../../ts/core/axis/color/coloraxislike.ts","../../ts/core/legend/legendsymbol.ts","../../ts/core/axis/color/coloraxis.ts","../../ts/core/legend/legenditem.d.ts","../../ts/series/bubble/bubblelegenditem.ts","../../ts/core/legend/legendlike.d.ts","../../ts/core/chart/chartoptions.d.ts","../../ts/core/foundation.ts","../../ts/core/legend/legend.ts","../../ts/extensions/datagrouping/approximationtype.d.ts","../../ts/extensions/datagrouping/datagroupingoptions.d.ts","../../ts/stock/rangeselector/rangeselectoroptions.d.ts","../../ts/stock/rangeselector/rangeselectordefaults.ts","../../ts/stock/rangeselector/rangeselectorcomposition.ts","../../ts/core/axis/navigatoraxiscomposition.ts","../../ts/series/flags/flagspointoptions.d.ts","../../ts/series/flags/flagsseriesoptions.d.ts","../../ts/series/flags/flagspoint.ts","../../ts/series/flags/flagsseriesdefaults.ts","../../ts/series/flags/flagssymbols.ts","../../ts/series/onseriescomposition.ts","../../ts/series/flags/flagsseries.ts","../../ts/core/axis/ordinalaxis.ts","../../ts/stock/rangeselector/rangeselector.ts","../../ts/core/series/serieslike.d.ts","../../ts/core/series/seriesdefaults.ts","../../ts/core/series/series.ts","../../ts/series/nodescomposition.ts","../../ts/core/pointer.ts","../../ts/core/pointerevent.d.ts","../../ts/core/series/pointtype.d.ts","../../ts/core/series/pointoptions.d.ts","../../ts/core/series/pointlike.d.ts","../../ts/core/series/point.ts","../../ts/core/axis/axisoptions.d.ts","../../ts/core/chart/chartlike.d.ts","../../ts/core/chart/chart.ts","../../ts/core/options.d.ts","../../ts/core/chart/chartdefaults.ts","../../ts/core/defaults.ts","../../ts/core/renderer/svg/textbuilder.ts","../../ts/core/renderer/svg/svgrenderer.ts","../../ts/core/renderer/svg/svgelement.ts","../../ts/core/animation/animationoptions.d.ts","../../ts/core/axis/plotlineorband/plotbandoptions.d.ts","../../ts/core/axis/plotlineorband/plotlineoptions.d.ts","../../ts/core/axis/plotlineorband/plotlineorbandaxis.ts","../../ts/core/axis/plotlineorband/plotlineorband.ts","../../ts/core/axis/axisdefaults.ts","../../ts/core/axis/axis.ts","../../ts/core/axis/axistype.d.ts","../../ts/core/utilities.ts","../../ts/core/color/color.ts","../../ts/core/color/gradientcolor.d.ts","../../ts/core/color/colortype.d.ts","../../ts/core/renderer/svg/svgattributes.d.ts","../../ts/core/renderer/svg/buttonthemeobject.d.ts","../../ts/core/globalslike.d.ts","../../ts/core/globals.ts","../../ts/core/time.ts","../../ts/accessibility/a11yi18n.ts","../../ts/accessibility/keyboardnavigationhandler.ts","../../ts/accessibility/utils/eventprovider.ts","../../ts/accessibility/utils/htmlutilities.ts","../../ts/accessibility/utils/chartutilities.ts","../../ts/accessibility/proxyelement.ts","../../ts/accessibility/utils/domelementprovider.ts","../../ts/accessibility/proxyprovider.ts","../../ts/accessibility/accessibilitycomponent.ts","../../ts/accessibility/components/containercomponent.ts","../../ts/accessibility/options/a11yoptions.d.ts","../../ts/accessibility/focusborder.ts","../../ts/extensions/annotations/controllables/controllablelike.d.ts","../../ts/extensions/annotations/controllables/controllabletype.d.ts","../../ts/extensions/annotations/eventemitter.ts","../../ts/extensions/annotations/controlpoint.ts","../../ts/extensions/annotations/controlpointoptions.d.ts","../../ts/extensions/annotations/mockpointoptions.d.ts","../../ts/extensions/annotations/controltargetoptions.d.ts","../../ts/extensions/annotations/controllables/controllableoptions.d.ts","../../ts/extensions/annotations/controllables/controllable.ts","../../ts/extensions/annotations/controltarget.ts","../../ts/extensions/annotations/mockpoint.ts","../../ts/extensions/annotations/annotationseries.d.ts","../../ts/extensions/annotations/types/annotationtype.d.ts","../../ts/extensions/annotations/navigationbindingslike.d.ts","../../ts/extensions/annotations/navigationbindingsoptions.d.ts","../../ts/core/chart/chartnavigationcomposition.ts","../../ts/extensions/exporting/exportingdefaults.ts","../../ts/extensions/exporting/exportingsymbols.ts","../../ts/extensions/exporting/fullscreen.ts","../../ts/core/json.d.ts","../../ts/core/httputilities.ts","../../ts/extensions/regexlimits.ts","../../ts/extensions/exporting/exporting.ts","../../ts/extensions/exporting/exportingoptions.d.ts","../../ts/extensions/exporting/navigationoptions.d.ts","../../ts/shared/baseform.ts","../../ts/extensions/annotations/popup/popupannotations.ts","../../ts/stock/indicators/indicatorlike.d.ts","../../ts/stock/indicators/indicatorvaluesobject.d.ts","../../ts/stock/indicators/sma/smaoptions.d.ts","../../ts/stock/indicators/sma/smapoint.d.ts","../../ts/stock/indicators/sma/smaindicator.ts","../../ts/extensions/annotations/popup/popupindicators.ts","../../ts/extensions/annotations/popup/popuptabs.ts","../../ts/extensions/annotations/popup/popup.ts","../../ts/extensions/annotations/controllables/controllabledefaults.ts","../../ts/extensions/annotations/controllables/controllablepath.ts","../../ts/extensions/annotations/controllables/controllableellipse.ts","../../ts/extensions/annotations/navigationbindingsutilities.ts","../../ts/extensions/annotations/navigationbindingsdefaults.ts","../../ts/extensions/annotations/navigationbindings.ts","../../ts/extensions/annotations/annotationdefaults.ts","../../ts/extensions/annotations/controllables/controllablerect.ts","../../ts/extensions/annotations/controllables/controllablecircle.ts","../../ts/extensions/annotations/controllables/controllablelabel.ts","../../ts/extensions/annotations/controllables/controllableimage.ts","../../ts/extensions/annotations/popup/popupcomposition.ts","../../ts/extensions/annotations/annotation.ts","../../ts/extensions/annotations/annotationoptions.d.ts","../../ts/extensions/annotations/annotationchart.ts","../../ts/accessibility/utils/announcer.ts","../../ts/accessibility/components/annotationsa11y.ts","../../ts/accessibility/components/inforegionscomponent.ts","../../ts/accessibility/components/menucomponent.ts","../../ts/accessibility/keyboardnavigation.ts","../../ts/accessibility/components/legendcomponent.ts","../../ts/stock/navigator/navigatoroptions.d.ts","../../ts/stock/scrollbar/scrollbaroptions.d.ts","../../ts/core/axis/scrollbaraxis.ts","../../ts/stock/scrollbar/scrollbardefaults.ts","../../ts/stock/scrollbar/scrollbar.ts","../../ts/stock/navigator/chartnavigatorcomposition.ts","../../ts/stock/navigator/navigatordefaults.ts","../../ts/stock/navigator/navigatorsymbols.ts","../../ts/stock/utilities/stockutilities.ts","../../ts/stock/navigator/navigatorcomposition.ts","../../ts/stock/navigator/navigator.ts","../../ts/accessibility/components/navigatorcomponent.ts","../../ts/accessibility/components/seriescomponent/seriesdescriber.ts","../../ts/accessibility/components/seriescomponent/newdataannouncer.ts","../../ts/accessibility/components/rangeselectorcomponent.ts","../../ts/accessibility/components/seriescomponent/forcedmarkers.ts","../../ts/core/keyboardevent.d.ts","../../ts/accessibility/components/seriescomponent/serieskeyboardnavigation.ts","../../ts/accessibility/components/seriescomponent/seriescomponent.ts","../../ts/accessibility/components/zoomcomponent.ts","../../ts/accessibility/highcontrastmode.ts","../../ts/accessibility/highcontrasttheme.ts","../../ts/accessibility/options/a11ydefaults.ts","../../ts/accessibility/options/langoptions.d.ts","../../ts/accessibility/options/langdefaults.ts","../../ts/accessibility/options/deprecatedoptions.ts","../../ts/accessibility/accessibility.ts","../../ts/core/mspointer.ts","../../ts/core/renderer/position3dobject.d.ts","../../ts/core/math3d.ts","../../ts/core/responsive.ts","../../ts/extensions/pane/paneoptions.d.ts","../../ts/extensions/pane/panecomposition.ts","../../ts/extensions/pane/panedefaults.ts","../../ts/extensions/pane/pane.ts","../../ts/core/axis/radialaxisoptions.d.ts","../../ts/core/axis/radialaxisdefaults.ts","../../ts/core/axis/radialaxis.ts","../../ts/core/axis/axis3doptions.d.ts","../../ts/core/axis/axis3ddefaults.ts","../../ts/core/axis/tick3dcomposition.ts","../../ts/core/axis/axis3dcomposition.ts","../../ts/core/axis/breakobject.d.ts","../../ts/core/axis/brokenaxis.ts","../../ts/core/axis/datetimeaxis.ts","../../ts/core/axis/gridaxis.ts","../../ts/core/axis/logarithmicaxis.ts","../../ts/core/axis/solidgaugeaxis.ts","../../ts/core/axis/waterfallaxis.ts","../../ts/core/axis/zaxis.ts","../../ts/core/axis/color/coloraxisoptions.d.ts","../../ts/gantt/connectorsoptions.d.ts","../../ts/series/gantt/ganttseriesdefaults.ts","../../ts/gantt/pathfinderalgorithms.ts","../../ts/gantt/connection.ts","../../ts/gantt/connectorsdefaults.ts","../../ts/gantt/pathfindercomposition.ts","../../ts/gantt/pathfinder.ts","../../ts/extensions/staticscale.ts","../../ts/series/gantt/ganttseries.ts","../../ts/series/xrange/xrangepointoptions.d.ts","../../ts/series/xrange/xrangepoint.ts","../../ts/series/xrange/xrangeseriesdefaults.ts","../../ts/series/xrange/xrangeseries.ts","../../ts/series/xrange/xrangeseriesoptions.d.ts","../../ts/series/gantt/ganttseriesoptions.d.ts","../../ts/series/gantt/ganttpointoptions.d.ts","../../ts/series/gantt/ganttpoint.ts","../../ts/core/axis/treegrid/treegridoptions.d.ts","../../ts/gantt/tree.ts","../../ts/core/axis/treegrid/treegridtick.ts","../../ts/core/axis/treegrid/treegridaxis.ts","../../ts/core/renderer/svg/svgarc3d.d.ts","../../ts/core/renderer/svg/svgattributes3d.d.ts","../../ts/core/renderer/svg/svgpath3d.d.ts","../../ts/core/renderer/svg/svgcuboid.d.ts","../../ts/core/renderer/svg/svgrenderer3d.ts","../../ts/core/renderer/svg/svgelement3d.ts","../../ts/core/chart/chart3d.ts","../../ts/core/chart/ganttchart.ts","../../ts/core/chart/stockchart.ts","../../ts/core/geometry/circleobject.d.ts","../../ts/core/geometry/geometryobject.d.ts","../../ts/core/geometry/intersectionobject.d.ts","../../ts/core/geometry/circleutilities.ts","../../ts/core/renderer/polygonboxobject.d.ts","../../ts/core/renderer/renderertype.d.ts","../../ts/core/series/dataseriescomposition.ts","../../ts/core/series/dataseriesconverter.ts","../../ts/core/series/series3d.ts","../../ts/data/datacursor.ts","../../ts/data/connectors/dataconnectortype.d.ts","../../ts/data/connectors/dataconnectoroptions.d.ts","../../ts/data/connectors/csvconnectoroptions.d.ts","../../ts/data/connectors/googlesheetsconnectoroptions.d.ts","../../ts/data/connectors/htmltableconnectoroptions.d.ts","../../ts/data/datapooloptions.ts","../../ts/data/converters/dataconvertertype.d.ts","../../ts/data/converters/jsonconverter.ts","../../ts/data/connectors/jsonconnectoroptions.d.ts","../../ts/data/converters/dataconverter.ts","../../ts/data/connectors/dataconnector.ts","../../ts/data/datapooldefaults.ts","../../ts/data/datapool.ts","../../ts/shared/types.ts","../../ts/data/converters/csvconverter.ts","../../ts/data/connectors/csvconnector.ts","../../ts/data/converters/googlesheetsconverter.ts","../../ts/data/connectors/googlesheetsconnector.ts","../../ts/data/converters/htmltableconverter.ts","../../ts/data/connectors/htmltableconnector.ts","../../ts/data/connectors/jsonconnector.ts","../../ts/data/formula/formulatypes.ts","../../ts/data/formula/formulaparser.ts","../../ts/data/formula/formulaprocessor.ts","../../ts/data/formula/functions/abs.ts","../../ts/data/formula/functions/and.ts","../../ts/data/formula/functions/average.ts","../../ts/data/formula/functions/averagea.ts","../../ts/data/formula/functions/count.ts","../../ts/data/formula/functions/counta.ts","../../ts/data/formula/functions/if.ts","../../ts/data/formula/functions/isna.ts","../../ts/data/formula/functions/max.ts","../../ts/data/formula/functions/median.ts","../../ts/data/formula/functions/min.ts","../../ts/data/formula/functions/mod.ts","../../ts/data/formula/functions/mode.ts","../../ts/data/formula/functions/not.ts","../../ts/data/formula/functions/or.ts","../../ts/data/formula/functions/product.ts","../../ts/data/formula/functions/sum.ts","../../ts/data/formula/functions/xor.ts","../../ts/data/formula/formula.ts","../../ts/data/modifiers/chainmodifieroptions.ts","../../ts/data/modifiers/chainmodifier.ts","../../ts/data/modifiers/invertmodifieroptions.ts","../../ts/data/modifiers/invertmodifier.ts","../../ts/data/modifiers/mathmodifieroptions.ts","../../ts/data/modifiers/mathmodifier.ts","../../ts/data/modifiers/rangemodifieroptions.ts","../../ts/data/modifiers/rangemodifier.ts","../../ts/data/modifiers/sortmodifieroptions.ts","../../ts/data/modifiers/sortmodifier.ts","../../ts/extensions/arrowsymbols.ts","../../ts/series/area/areapointoptions.d.ts","../../ts/series/area/areapoint.d.ts","../../ts/series/area/areaseriesoptions.d.ts","../../ts/series/area/areaseriesdefaults.ts","../../ts/series/area/areaseries.ts","../../ts/extensions/boost/boostoptions.d.ts","../../ts/extensions/boost/wgldrawmode.ts","../../ts/extensions/boost/wgloptions.d.ts","../../ts/extensions/boost/wglshader.ts","../../ts/extensions/boost/wglvertexbuffer.ts","../../ts/extensions/boost/wglrenderer.ts","../../ts/extensions/boost/boosttargetobject.d.ts","../../ts/series/heatmap/heatmappointoptions.d.ts","../../ts/series/heatmap/heatmapseriesoptions.d.ts","../../ts/series/heatmap/heatmappoint.ts","../../ts/series/heatmap/heatmapseriesdefaults.ts","../../ts/series/geoheatmap/geoheatmapseriesoptions.ts","../../ts/series/geoheatmap/geoheatmappointoptions.ts","../../ts/series/geoheatmap/geoheatmappoint.ts","../../ts/series/geoheatmap/geoheatmapseries.ts","../../ts/series/interpolationutilities.ts","../../ts/series/heatmap/heatmapseries.ts","../../ts/extensions/boost/boostables.ts","../../ts/extensions/boost/boostablemap.ts","../../ts/extensions/boost/boostseries.ts","../../ts/extensions/boost/boostchart.ts","../../ts/extensions/boostcanvas.ts","../../ts/extensions/currentdateindication.ts","../../ts/extensions/data.ts","../../ts/extensions/downloadurl.ts","../../ts/extensions/overlappingdatalabels.ts","../../ts/extensions/priceindication.ts","../../ts/extensions/scrollableplotarea.ts","../../ts/extensions/annotations/types/basicannotation.ts","../../ts/extensions/annotations/types/crookedline.ts","../../ts/extensions/annotations/types/elliottwave.ts","../../ts/extensions/annotations/types/tunnel.ts","../../ts/extensions/annotations/types/fibonacci.ts","../../ts/extensions/annotations/types/infinityline.ts","../../ts/extensions/annotations/types/fibonaccitimezones.ts","../../ts/extensions/annotations/types/measure.ts","../../ts/extensions/annotations/types/pitchfork.ts","../../ts/extensions/annotations/types/timecycles.ts","../../ts/extensions/annotations/types/verticalline.ts","../../ts/extensions/boost/namedcolors.ts","../../ts/extensions/boost/boost.ts","../../ts/extensions/datagrouping/approximationregistry.ts","../../ts/extensions/datagrouping/approximationdefaults.ts","../../ts/extensions/datagrouping/datagroupingdefaults.ts","../../ts/extensions/datagrouping/datagroupingaxiscomposition.ts","../../ts/extensions/datagrouping/datagroupingseriescomposition.ts","../../ts/extensions/datagrouping/datagrouping.ts","../../ts/extensions/debugger/errormessages.ts","../../ts/extensions/debugger/debugger.ts","../../ts/extensions/dragpanes/axisresizeroptions.d.ts","../../ts/extensions/dragpanes/axisresizerdefaults.ts","../../ts/extensions/dragpanes/axisresizer.ts","../../ts/extensions/dragpanes/dragpanes.ts","../../ts/extensions/draggablepoints/dragdroputilities.ts","../../ts/extensions/draggablepoints/draggablechart.ts","../../ts/series/arearange/arearangepointoptions.d.ts","../../ts/series/arearange/arearangedatalabeloptions.d.ts","../../ts/series/arearange/arearangeseriesoptions.d.ts","../../ts/series/arearange/arearangeseries.ts","../../ts/series/arearange/arearangepoint.ts","../../ts/series/boxplot/boxplotpointoptions.d.ts","../../ts/series/boxplot/boxplotseriesoptions.d.ts","../../ts/series/boxplot/boxplotseriesdefaults.ts","../../ts/series/boxplot/boxplotseries.ts","../../ts/series/boxplot/boxplotpoint.d.ts","../../ts/series/bullet/bulletseriesoptions.d.ts","../../ts/series/bullet/bulletpointoptions.d.ts","../../ts/series/bullet/bulletseriesdefaults.ts","../../ts/series/bullet/bulletseries.ts","../../ts/series/bullet/bulletpoint.ts","../../ts/series/columnrange/columnrangepointoptions.d.ts","../../ts/series/columnrange/columnrangeseriesoptions.d.ts","../../ts/series/columnrange/columnrangeseries.ts","../../ts/series/columnrange/columnrangepoint.ts","../../ts/series/errorbar/errorbarpointoptions.d.ts","../../ts/series/errorbar/errorbarseriesoptions.d.ts","../../ts/series/errorbar/errorbarseriesdefaults.ts","../../ts/series/errorbar/errorbarseries.ts","../../ts/series/errorbar/errorbarpoint.d.ts","../../ts/series/hlc/hlcpointoptions.d.ts","../../ts/series/ohlc/ohlcpointoptions.d.ts","../../ts/series/hlc/hlcpoint.ts","../../ts/series/hlc/hlcseriesdefaults.ts","../../ts/series/hlc/hlcseries.ts","../../ts/series/hlc/hlcseriesoptions.d.ts","../../ts/series/ohlc/ohlcseriesoptions.d.ts","../../ts/series/ohlc/ohlcseriesdefaults.ts","../../ts/series/ohlc/ohlcseries.ts","../../ts/series/ohlc/ohlcpoint.ts","../../ts/series/waterfall/waterfallpointoptions.d.ts","../../ts/series/waterfall/waterfallseriesoptions.d.ts","../../ts/series/waterfall/waterfallseriesdefaults.ts","../../ts/series/waterfall/waterfallseries.ts","../../ts/series/waterfall/waterfallpoint.ts","../../ts/extensions/draggablepoints/dragdropprops.ts","../../ts/extensions/draggablepoints/draggablepoints.ts","../../ts/extensions/draggablepoints/dragdropoptions.d.ts","../../ts/extensions/draggablepoints/dragdropdefaults.ts","../../ts/extensions/drilldown/drilldownoptions.d.ts","../../ts/extensions/drilldown/drilldowndefaults.ts","../../ts/extensions/drilldown/drilldownseries.ts","../../ts/extensions/drilldown/drilldown.ts","../../ts/extensions/exportdata/exportdataoptions.d.ts","../../ts/extensions/exportdata/exportdatadefaults.ts","../../ts/extensions/exportdata/exportdata.ts","../../ts/extensions/markerclusters/markerclusterdebugging.ts","../../ts/extensions/markerclusters/markerclusterdefaults.ts","../../ts/series/mappoint/mappointseriesoptions.d.ts","../../ts/series/mappoint/mappointpoint.ts","../../ts/series/mappoint/mappointseriesdefaults.ts","../../ts/series/mappoint/mappointseries.ts","../../ts/extensions/markerclusters/markerclusters.ts","../../ts/extensions/markerclusters/markerclusterscatter.ts","../../ts/extensions/markerclusters/markerclustersymbols.ts","../../ts/extensions/mousewheelzoom/mousewheelzoomoptions.d.ts","../../ts/extensions/mousewheelzoom/mousewheelzoom.ts","../../ts/extensions/nodatatodisplay/nodataoptions.d.ts","../../ts/extensions/nodatatodisplay/nodatadefaults.ts","../../ts/extensions/nodatatodisplay/nodatatodisplay.ts","../../ts/extensions/offlineexporting/offlineexportingdefaults.ts","../../ts/extensions/offlineexporting/offlineexporting.ts","../../ts/extensions/offlineexporting/offlineexportingvendor.d.ts","../../ts/extensions/parallelcoordinates/parallelcoordinatesoptions.d.ts","../../ts/extensions/parallelcoordinates/parallelcoordinatesdefaults.ts","../../ts/extensions/parallelcoordinates/parallelseries.ts","../../ts/extensions/parallelcoordinates/parallelcoordinates.ts","../../ts/extensions/parallelcoordinates/parallelaxis.ts","../../ts/extensions/serieslabel/serieslabeloptions.d.ts","../../ts/extensions/serieslabel/serieslabeldefaults.ts","../../ts/extensions/serieslabel/serieslabelutilities.ts","../../ts/extensions/serieslabel/serieslabel.ts","../../ts/extensions/sonification/synthpatch.ts","../../ts/extensions/sonification/instrumentpresets.ts","../../ts/extensions/sonification/sonificationspeaker.ts","../../ts/extensions/sonification/sonificationinstrument.ts","../../ts/extensions/sonification/timelinechannel.ts","../../ts/extensions/sonification/midi.ts","../../ts/extensions/sonification/sonificationtimeline.ts","../../ts/extensions/sonification/options.ts","../../ts/extensions/sonification/scales.ts","../../ts/extensions/sonification/timelinefromchart.ts","../../ts/extensions/sonification/sonification.ts","../../ts/extensions/themes/avocado.ts","../../ts/extensions/themes/branddark.ts","../../ts/extensions/themes/brandlight.ts","../../ts/extensions/themes/darkblue.ts","../../ts/extensions/themes/darkgreen.ts","../../ts/extensions/themes/darkunica.ts","../../ts/extensions/themes/gray.ts","../../ts/extensions/themes/grid.ts","../../ts/extensions/themes/gridlight.ts","../../ts/extensions/themes/highcontrastdark.ts","../../ts/extensions/themes/highcontrastlight.ts","../../ts/extensions/themes/sandsignika.ts","../../ts/extensions/themes/skies.ts","../../ts/extensions/themes/sunset.ts","../../ts/gantt/legacy.ts","../../ts/maps/providerdefinition.d.ts","../../ts/maps/tilesproviders/esri.ts","../../ts/maps/tilesproviders/limalabs.ts","../../ts/maps/tilesproviders/openstreetmap.ts","../../ts/maps/tilesproviders/stamen.ts","../../ts/maps/tilesproviders/thunderforest.ts","../../ts/maps/tilesproviders/usgs.ts","../../ts/maps/tilesproviders/tilesproviderregistry.ts","../../ts/series/datamodifycomposition.ts","../../ts/series/derivedcomposition.ts","../../ts/series/graphlayoutcomposition.ts","../../ts/series/networkgraph/networkgraphchart.d.ts","../../ts/series/networkgraph/networkgraphseriesdefaults.ts","../../ts/series/packedbubble/packedbubbledatalabeloptions.d.ts","../../ts/series/packedbubble/packedbubblepointoptions.d.ts","../../ts/series/packedbubble/packedbubblepoint.ts","../../ts/series/packedbubble/packedbubblechart.d.ts","../../ts/series/networkgraph/verletintegration.ts","../../ts/series/packedbubble/packedbubbleintegration.ts","../../ts/series/packedbubble/packedbubblelayout.ts","../../ts/series/packedbubble/packedbubbleseriesoptions.d.ts","../../ts/series/packedbubble/packedbubbleseriesdefaults.ts","../../ts/series/packedbubble/packedbubbleseries.ts","../../ts/series/simulationseriesutilities.ts","../../ts/series/networkgraph/networkgraphseries.ts","../../ts/series/networkgraph/networkgraphseriesoptions.d.ts","../../ts/series/networkgraph/networkgraphpointoptions.d.ts","../../ts/series/networkgraph/networkgraphpoint.ts","../../ts/series/networkgraph/eulerintegration.ts","../../ts/series/networkgraph/quadtreenode.ts","../../ts/series/networkgraph/quadtree.ts","../../ts/series/networkgraph/reingoldfruchtermanlayout.ts","../../ts/series/dragnodescomposition.ts","../../ts/series/areasplinerange/areasplinerangepointoptions.d.ts","../../ts/series/areasplinerange/areasplinerangepoint.d.ts","../../ts/series/areaspline/areasplineseriesoptions.d.ts","../../ts/series/areaspline/areasplinepointoptions.d.ts","../../ts/series/areaspline/areasplinepoint.d.ts","../../ts/series/areaspline/areasplineseries.ts","../../ts/series/areasplinerange/areasplinerangeseriesoptions.d.ts","../../ts/series/areasplinerange/areasplinerangeseries.ts","../../ts/series/polarcomposition.ts","../../ts/series/seriesonpointcomposition.ts","../../ts/series/arcdiagram/arcdiagrampointoptions.d.ts","../../ts/series/arcdiagram/arcdiagramseriesoptions.d.ts","../../ts/series/arcdiagram/arcdiagramseriesdefaults.ts","../../ts/series/arcdiagram/arcdiagramseries.ts","../../ts/series/arcdiagram/arcdiagrampoint.ts","../../ts/series/area3d/area3dseries.ts","../../ts/series/arearange/arearangeseriesdefaults.ts","../../ts/series/bar/barpointoptions.d.ts","../../ts/series/bar/barseriesoptions.d.ts","../../ts/series/bar/barseries.ts","../../ts/series/bar/barpoint.d.ts","../../ts/series/bellcurve/bellcurvepointoptions.d.ts","../../ts/series/bellcurve/bellcurveseriesoptions.d.ts","../../ts/series/bellcurve/bellcurveseriesdefaults.ts","../../ts/series/bellcurve/bellcurveseries.ts","../../ts/series/bellcurve/bellcurvepoint.d.ts","../../ts/series/candlestick/candlestickpointoptions.d.ts","../../ts/series/candlestick/candlestickseriesoptions.d.ts","../../ts/series/candlestick/candlestickseriesdefaults.ts","../../ts/series/candlestick/candlestickseries.ts","../../ts/series/candlestick/candlestickpoint.d.ts","../../ts/series/column/columndatalabel.ts","../../ts/series/column3d/column3dcomposition.ts","../../ts/series/columnpyramid/columnpyramidpointoptions.d.ts","../../ts/series/columnpyramid/columnpyramidseriesoptions.d.ts","../../ts/series/columnpyramid/columnpyramidseriesdefaults.ts","../../ts/series/columnpyramid/columnpyramidseries.ts","../../ts/series/columnpyramid/columnpyramidpoint.d.ts","../../ts/series/cylinder/svgelement3dcylinder.ts","../../ts/series/cylinder/cylindercomposition.ts","../../ts/series/cylinder/cylinderpointoptions.d.ts","../../ts/series/cylinder/cylinderseriesoptions.d.ts","../../ts/series/cylinder/cylinderseriesdefaults.ts","../../ts/series/cylinder/cylinderseries.ts","../../ts/series/cylinder/cylinderpoint.ts","../../ts/series/dependencywheel/dependencywheelpointoptions.d.ts","../../ts/series/dependencywheel/dependencywheelseriesoptions.d.ts","../../ts/series/dependencywheel/dependencywheelseriesdefaults.ts","../../ts/series/dependencywheel/dependencywheelseries.ts","../../ts/series/dependencywheel/dependencywheelpoint.ts","../../ts/series/dotplot/dotplotpointoptions.d.ts","../../ts/series/dotplot/dotplotseriesoptions.d.ts","../../ts/series/dotplot/dotplotseriesdefaults.ts","../../ts/series/dotplot/dotplotseries.ts","../../ts/series/dotplot/dotplotpoint.d.ts","../../ts/series/dumbbell/dumbbellpointoptions.d.ts","../../ts/series/dumbbell/dumbbellseriesoptions.d.ts","../../ts/series/lollipop/lollipoppointoptions.d.ts","../../ts/series/lollipop/lollipopseriesoptions.d.ts","../../ts/series/lollipop/lollipopseries.ts","../../ts/series/lollipop/lollipoppoint.ts","../../ts/series/dumbbell/dumbbellseriesdefaults.ts","../../ts/series/dumbbell/dumbbellseries.ts","../../ts/series/dumbbell/dumbbellpoint.ts","../../ts/series/mapline/maplinepointoptions.d.ts","../../ts/series/flowmap/flowmappointoptions.d.ts","../../ts/series/mapline/maplinepoint.d.ts","../../ts/series/mapline/maplineseriesdefaults.ts","../../ts/series/mapline/maplineseries.ts","../../ts/series/mapline/maplineseriesoptions.d.ts","../../ts/series/flowmap/flowmapseriesoptions.d.ts","../../ts/series/flowmap/flowmapseries.ts","../../ts/series/flowmap/flowmappoint.ts","../../ts/series/funnel/funneldatalabeloptions.d.ts","../../ts/series/funnel/funnelpointoptions.d.ts","../../ts/series/funnel/funnelseriesoptions.d.ts","../../ts/series/funnel/funnelseriesdefaults.ts","../../ts/series/funnel/funnelseries.ts","../../ts/series/funnel/funnelpoint.d.ts","../../ts/series/funnel3d/svgelement3dfunnel.ts","../../ts/series/funnel3d/funnel3dcomposition.ts","../../ts/series/funnel3d/funnel3dpointoptions.d.ts","../../ts/series/funnel3d/funnel3dseriesoptions.d.ts","../../ts/series/funnel3d/funnel3dseriesdefaults.ts","../../ts/series/funnel3d/funnel3dseries.ts","../../ts/series/funnel3d/funnel3dpoint.ts","../../ts/series/gauge/gaugepointoptions.d.ts","../../ts/series/gauge/gaugeseriesoptions.d.ts","../../ts/series/gauge/gaugeseries.ts","../../ts/series/gauge/gaugepoint.ts","../../ts/series/heikinashi/heikinashipointoptions.d.ts","../../ts/series/heikinashi/heikinashiseriesoptions.d.ts","../../ts/series/heikinashi/heikinashiseriesdefaults.ts","../../ts/series/heikinashi/heikinashiseries.ts","../../ts/series/heikinashi/heikinashipoint.ts","../../ts/series/histogram/histogrampointoptions.d.ts","../../ts/series/histogram/histogramseriesoptions.d.ts","../../ts/series/histogram/histogramseriesdefaults.ts","../../ts/series/histogram/histogramseries.ts","../../ts/series/histogram/histogrampoint.d.ts","../../ts/series/hollowcandlestick/hollowcandlestickseriesoptions.d.ts","../../ts/series/hollowcandlestick/hollowcandlestickseries.ts","../../ts/series/hollowcandlestick/hollowcandlestickpoint.ts","../../ts/series/hollowcandlestick/hollowcandlestickpointoptions.d.ts","../../ts/series/item/itempointoptions.d.ts","../../ts/series/item/itemseriesoptions.d.ts","../../ts/series/item/itemseriesdefaults.ts","../../ts/series/item/itemseries.ts","../../ts/series/item/itempoint.ts","../../ts/series/mapbubble/mapbubblepoint.ts","../../ts/series/mapbubble/mapbubblepointoptions.d.ts","../../ts/series/mapbubble/mapbubbleseriesoptions.d.ts","../../ts/series/mapbubble/mapbubbleseries.ts","../../ts/series/paretoseries/paretopointoptions.d.ts","../../ts/series/paretoseries/paretoseriesoptions.d.ts","../../ts/series/paretoseries/paretoseriesdefaults.ts","../../ts/series/paretoseries/paretoseries.ts","../../ts/series/paretoseries/paretopoint.d.ts","../../ts/series/pictorial/pictorialpointoptions.d.ts","../../ts/series/pictorial/pictorialseriesoptions.d.ts","../../ts/series/pictorial/pictorialutilities.ts","../../ts/series/pictorial/pictorialseries.ts","../../ts/series/pictorial/pictorialpoint.ts","../../ts/series/pie/piedatalabel.ts","../../ts/series/pie3d/pie3dseries.ts","../../ts/series/pie3d/pie3dpoint.ts","../../ts/series/pointandfigure/pointandfigureseriesoptions.d.ts","../../ts/series/pointandfigure/pointandfigureseriesdefaults.ts","../../ts/series/pointandfigure/pointandfiguresymbols.ts","../../ts/series/pointandfigure/pointandfigureseries.ts","../../ts/series/pointandfigure/pointandfigurepoint.ts","../../ts/series/pointandfigure/pointandfigurepointoptions.d.ts","../../ts/series/polygon/polygonpointoptions.d.ts","../../ts/series/polygon/polygonseriesoptions.d.ts","../../ts/series/polygon/polygonseriesdefaults.ts","../../ts/series/polygon/polygonseries.ts","../../ts/series/polygon/polygonpoint.d.ts","../../ts/series/pyramid/pyramidpointoptions.d.ts","../../ts/series/pyramid/pyramidseriesoptions.d.ts","../../ts/series/pyramid/pyramidseriesdefaults.ts","../../ts/series/pyramid/pyramidseries.ts","../../ts/series/pyramid/pyramidpoint.d.ts","../../ts/series/pyramid3d/pyramid3dpointoptions.d.ts","../../ts/series/pyramid3d/pyramid3dseriesoptions.d.ts","../../ts/series/pyramid3d/pyramid3dseriesdefaults.ts","../../ts/series/pyramid3d/pyramid3dseries.ts","../../ts/series/pyramid3d/pyramid3dpoint.d.ts","../../ts/series/renko/renkopointoptions.d.ts","../../ts/series/renko/renkoseriesoptions.d.ts","../../ts/series/renko/renkoseriesdefaults.ts","../../ts/series/renko/renkoseries.ts","../../ts/series/renko/renkopoint.ts","../../ts/series/scatter3d/scatter3dpointoptions.d.ts","../../ts/series/scatter3d/scatter3dseriesoptions.d.ts","../../ts/series/scatter3d/scatter3dseriesdefaults.ts","../../ts/series/scatter3d/scatter3dseries.ts","../../ts/series/scatter3d/scatter3dpoint.ts","../../ts/series/solidgauge/solidgaugepointoptions.d.ts","../../ts/series/solidgauge/solidgaugeseriesoptions.d.ts","../../ts/series/solidgauge/solidgaugeseriesdefaults.ts","../../ts/series/solidgauge/solidgaugeseries.ts","../../ts/series/solidgauge/solidgaugepoint.d.ts","../../ts/series/streamgraph/streamgraphpointoptions.d.ts","../../ts/series/streamgraph/streamgraphseriesoptions.d.ts","../../ts/series/streamgraph/streamgraphseriesdefaults.ts","../../ts/series/streamgraph/streamgraphseries.ts","../../ts/series/streamgraph/streamgraphpoint.d.ts","../../ts/series/sunburst/sunburstpointoptions.d.ts","../../ts/series/sunburst/sunburstpoint.ts","../../ts/series/sunburst/sunburstutilities.ts","../../ts/series/sunburst/sunburstseriesdefaults.ts","../../ts/series/sunburst/sunburstseries.ts","../../ts/series/sunburst/sunburstseriesoptions.d.ts","../../ts/series/sunburst/sunburstnode.ts","../../ts/series/tiledwebmap/tiledwebmapseriesoptions.d.ts","../../ts/series/tiledwebmap/tiledwebmapseriesdefaults.ts","../../ts/series/tiledwebmap/tiledwebmapseries.ts","../../ts/series/tilemap/tilemappointoptions.d.ts","../../ts/series/tilemap/tilemapseriesoptions.d.ts","../../ts/series/tilemap/tilemapseriesdefaults.ts","../../ts/series/tilemap/tilemapshapes.ts","../../ts/series/tilemap/tilemapseries.ts","../../ts/series/tilemap/tilemappoint.ts","../../ts/series/timeline/timelinepointoptions.d.ts","../../ts/series/timeline/timelineseriesoptions.d.ts","../../ts/series/timeline/timelineseriesdefaults.ts","../../ts/series/timeline/timelineseries.ts","../../ts/series/timeline/timelinepoint.ts","../../ts/series/timeline/timelinedatalabeloptions.d.ts","../../ts/series/variablepie/variablepiepointoptions.d.ts","../../ts/series/variablepie/variablepieseriesoptions.d.ts","../../ts/series/variablepie/variablepieseriesdefaults.ts","../../ts/series/variablepie/variablepieseries.ts","../../ts/series/variablepie/variablepiepoint.d.ts","../../ts/series/variwide/variwidepointoptions.d.ts","../../ts/series/variwide/variwideseriesoptions.d.ts","../../ts/series/variwide/variwideseriesdefaults.ts","../../ts/series/variwide/variwideseries.ts","../../ts/series/variwide/variwidepoint.ts","../../ts/series/variwide/variwidecomposition.ts","../../ts/series/vector/vectorpointoptions.d.ts","../../ts/series/vector/vectorseriesoptions.d.ts","../../ts/series/vector/vectorseriesdefaults.ts","../../ts/series/vector/vectorseries.ts","../../ts/series/vector/vectorpoint.d.ts","../../ts/series/venn/vennpointoptions.d.ts","../../ts/series/venn/vennutils.ts","../../ts/series/venn/vennseriesoptions.d.ts","../../ts/series/venn/vennseriesdefaults.ts","../../ts/series/venn/vennseries.ts","../../ts/series/venn/vennpoint.ts","../../ts/series/windbarb/windbarbpointoptions.d.ts","../../ts/series/windbarb/windbarbseriesoptions.d.ts","../../ts/series/windbarb/windbarbseriesdefaults.ts","../../ts/series/windbarb/windbarbseries.ts","../../ts/series/windbarb/windbarbpoint.ts","../../ts/series/wordcloud/wordcloudpointoptions.d.ts","../../ts/series/wordcloud/wordcloudseriesoptions.d.ts","../../ts/series/wordcloud/wordcloudseriesdefaults.ts","../../ts/series/wordcloud/wordcloudseries.ts","../../ts/series/wordcloud/wordcloudutils.ts","../../ts/series/wordcloud/wordcloudpoint.ts","../../ts/stock/indicators/arrayutilities.ts","../../ts/stock/indicators/multiplelinescomposition.ts","../../ts/stock/indicators/abands/abandsoptions.d.ts","../../ts/stock/indicators/abands/abandspoint.d.ts","../../ts/stock/indicators/abands/abandsindicator.ts","../../ts/stock/indicators/ad/adoptions.d.ts","../../ts/stock/indicators/ad/adpoint.d.ts","../../ts/stock/indicators/ad/adindicator.ts","../../ts/stock/indicators/ao/aooptions.d.ts","../../ts/stock/indicators/ao/aopoint.d.ts","../../ts/stock/indicators/ao/aoindicator.ts","../../ts/stock/indicators/ema/emaoptions.d.ts","../../ts/stock/indicators/apo/apooptions.d.ts","../../ts/stock/indicators/ema/emaindicator.ts","../../ts/stock/indicators/ema/emapoint.d.ts","../../ts/stock/indicators/apo/apopoint.d.ts","../../ts/stock/indicators/apo/apoindicator.ts","../../ts/stock/indicators/atr/atroptions.d.ts","../../ts/stock/indicators/atr/atrpoint.d.ts","../../ts/stock/indicators/atr/atrindicator.ts","../../ts/stock/indicators/aroon/aroonoptions.d.ts","../../ts/stock/indicators/aroon/aroonpoint.d.ts","../../ts/stock/indicators/aroon/aroonindicator.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatoroptions.d.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatorpoint.d.ts","../../ts/stock/indicators/aroonoscillator/aroonoscillatorindicator.ts","../../ts/stock/indicators/bb/bboptions.d.ts","../../ts/stock/indicators/bb/bbpoint.d.ts","../../ts/stock/indicators/bb/bbindicator.ts","../../ts/stock/indicators/cci/ccioptions.d.ts","../../ts/stock/indicators/cci/ccipoint.d.ts","../../ts/stock/indicators/cci/cciindicator.ts","../../ts/stock/indicators/cmf/cmfoptions.d.ts","../../ts/stock/indicators/cmf/cmfpoint.d.ts","../../ts/stock/indicators/cmf/cmfindicator.ts","../../ts/stock/indicators/cmo/cmooptions.d.ts","../../ts/stock/indicators/cmo/cmopoint.d.ts","../../ts/stock/indicators/cmo/cmoindicator.ts","../../ts/stock/indicators/chaikin/chaikinoptions.d.ts","../../ts/stock/indicators/chaikin/chaikinpoint.d.ts","../../ts/stock/indicators/chaikin/chaikinindicator.ts","../../ts/stock/indicators/dema/demaoptions.d.ts","../../ts/stock/indicators/dema/demapoint.d.ts","../../ts/stock/indicators/dema/demaindicator.ts","../../ts/stock/indicators/dmi/dmioptions.d.ts","../../ts/stock/indicators/dmi/dmipoint.d.ts","../../ts/stock/indicators/dmi/dmiindicator.ts","../../ts/stock/indicators/dpo/dpooptions.d.ts","../../ts/stock/indicators/dpo/dpopoint.d.ts","../../ts/stock/indicators/dpo/dpoindicator.ts","../../ts/stock/indicators/disparityindex/disparityindexoptions.d.ts","../../ts/stock/indicators/disparityindex/disparityindexpoint.d.ts","../../ts/stock/indicators/disparityindex/disparityindexindicator.ts","../../ts/stock/indicators/ikh/ikhpoint.d.ts","../../ts/stock/indicators/ikh/ikhoptions.d.ts","../../ts/stock/indicators/ikh/ikhindicator.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelsoptions.d.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelspoint.d.ts","../../ts/stock/indicators/keltnerchannels/keltnerchannelsindicator.ts","../../ts/stock/indicators/klinger/klingeroptions.d.ts","../../ts/stock/indicators/klinger/klingerpoint.d.ts","../../ts/stock/indicators/klinger/klingerindicator.ts","../../ts/stock/indicators/linearregression/linearregressionoptions.d.ts","../../ts/stock/indicators/linearregression/linearregressionpoint.d.ts","../../ts/stock/indicators/linearregression/linearregressionindicator.ts","../../ts/stock/indicators/linearregressionangle/linearregressionanglepoint.d.ts","../../ts/stock/indicators/linearregressionangle/linearregressionangleindicator.ts","../../ts/stock/indicators/linearregressionangle/linearregressionangleoptions.d.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptpoint.d.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptindicator.ts","../../ts/stock/indicators/linearregressionintercept/linearregressioninterceptoptions.d.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopespoint.d.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopesindicator.ts","../../ts/stock/indicators/linearregressionslopes/linearregressionslopesoptions.d.ts","../../ts/stock/indicators/macd/macdoptions.d.ts","../../ts/stock/indicators/macd/macdpoint.d.ts","../../ts/stock/indicators/macd/macdindicator.ts","../../ts/stock/indicators/mfi/mfioptions.d.ts","../../ts/stock/indicators/mfi/mfipoint.d.ts","../../ts/stock/indicators/mfi/mfiindicator.ts","../../ts/stock/indicators/momentum/momentumoptions.d.ts","../../ts/stock/indicators/momentum/momentumpoint.d.ts","../../ts/stock/indicators/momentum/momentumindicator.ts","../../ts/stock/indicators/natr/natroptions.d.ts","../../ts/stock/indicators/natr/natrpoint.d.ts","../../ts/stock/indicators/natr/natrindicator.ts","../../ts/stock/indicators/obv/obvoptions.d.ts","../../ts/stock/indicators/obv/obvpoint.d.ts","../../ts/stock/indicators/obv/obvindicator.ts","../../ts/stock/indicators/pc/pcoptions.d.ts","../../ts/stock/indicators/pc/pcpoint.d.ts","../../ts/stock/indicators/pc/pcindicator.ts","../../ts/stock/indicators/ppo/ppooptions.d.ts","../../ts/stock/indicators/ppo/ppopoint.d.ts","../../ts/stock/indicators/ppo/ppoindicator.ts","../../ts/stock/indicators/psar/psaroptions.d.ts","../../ts/stock/indicators/psar/psarpoint.d.ts","../../ts/stock/indicators/psar/psarindicator.ts","../../ts/stock/indicators/pivotpoints/pivotpointsoptions.d.ts","../../ts/stock/indicators/pivotpoints/pivotpointspoint.ts","../../ts/stock/indicators/pivotpoints/pivotpointsindicator.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopesoptions.d.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopespoint.d.ts","../../ts/stock/indicators/priceenvelopes/priceenvelopesindicator.ts","../../ts/stock/indicators/roc/rocoptions.d.ts","../../ts/stock/indicators/roc/rocpoint.d.ts","../../ts/stock/indicators/roc/rocindicator.ts","../../ts/stock/indicators/rsi/rsioptions.d.ts","../../ts/stock/indicators/rsi/rsipoint.d.ts","../../ts/stock/indicators/rsi/rsiindicator.ts","../../ts/stock/indicators/stochastic/stochasticoptions.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticoptions.d.ts","../../ts/stock/indicators/stochastic/stochasticindicator.ts","../../ts/stock/indicators/stochastic/stochasticpoint.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticpoint.d.ts","../../ts/stock/indicators/slowstochastic/slowstochasticindicator.ts","../../ts/stock/indicators/supertrend/supertrendpoint.d.ts","../../ts/stock/indicators/supertrend/supertrendoptions.d.ts","../../ts/stock/indicators/supertrend/supertrendindicator.ts","../../ts/stock/indicators/tema/temaoptions.d.ts","../../ts/stock/indicators/tema/temapoint.d.ts","../../ts/stock/indicators/tema/temaindicator.ts","../../ts/stock/indicators/trix/trixoptions.d.ts","../../ts/stock/indicators/trix/trixpoint.d.ts","../../ts/stock/indicators/trix/trixindicator.ts","../../ts/stock/indicators/trendline/trendlineoptions.d.ts","../../ts/stock/indicators/trendline/trendlinepoint.d.ts","../../ts/stock/indicators/trendline/trendlineindicator.ts","../../ts/stock/indicators/vbp/vbpoptions.d.ts","../../ts/stock/indicators/vbp/vbppoint.ts","../../ts/stock/indicators/vbp/vbpindicator.ts","../../ts/stock/indicators/vwap/vwapoptions.d.ts","../../ts/stock/indicators/vwap/vwappoint.d.ts","../../ts/stock/indicators/vwap/vwapindicator.ts","../../ts/stock/indicators/wma/wmaoptions.d.ts","../../ts/stock/indicators/wma/wmapoint.d.ts","../../ts/stock/indicators/wma/wmaindicator.ts","../../ts/stock/indicators/williamsr/williamsroptions.d.ts","../../ts/stock/indicators/williamsr/williamsrpoint.d.ts","../../ts/stock/indicators/williamsr/williamsrindicator.ts","../../ts/stock/indicators/zigzag/zigzagoptions.d.ts","../../ts/stock/indicators/zigzag/zigzagpoint.d.ts","../../ts/stock/indicators/zigzag/zigzagindicator.ts","../../ts/stock/navigator/standalonenavigatordefaults.ts","../../ts/stock/navigator/standalonenavigator.ts","../../ts/stock/stocktools/stocktoolsoptions.d.ts","../../ts/stock/stocktools/stocktoolsbindings.ts","../../ts/stock/stocktools/stocktoolsdefaults.ts","../../ts/stock/stocktools/stocktools.ts","../../ts/stock/stocktools/stocktoolsutilities.ts","../../ts/stock/stocktools/stocktoolbar.ts","../../ts/stock/stocktools/stocktoolsgui.ts","../../ts/masters/highcharts-3d.src.ts","../../ts/masters/highcharts.src.ts","../../ts/masters/modules/pathfinder.src.ts","../../ts/masters/modules/static-scale.src.ts","../../ts/masters/modules/xrange.src.ts","../../ts/masters/modules/gantt.src.ts","../../ts/masters/highcharts-gantt.src.ts","../../ts/masters/highcharts-more.src.ts","../../ts/masters/modules/coloraxis.src.ts","../../ts/masters/modules/map.src.ts","../../ts/masters/highmaps.src.ts","../../ts/masters/modules/broken-axis.src.ts","../../ts/masters/modules/datagrouping.src.ts","../../ts/masters/modules/mouse-wheel-zoom.src.ts","../../ts/masters/modules/stock.src.ts","../../ts/masters/highstock.src.ts","../../ts/masters/modules/navigator.src.ts","../../ts/masters/standalone-navigator.src.ts","../../ts/masters/indicators/acceleration-bands.src.ts","../../ts/masters/indicators/accumulation-distribution.src.ts","../../ts/masters/indicators/ao.src.ts","../../ts/masters/indicators/apo.src.ts","../../ts/masters/indicators/aroon-oscillator.src.ts","../../ts/masters/indicators/aroon.src.ts","../../ts/masters/indicators/atr.src.ts","../../ts/masters/indicators/bollinger-bands.src.ts","../../ts/masters/indicators/cci.src.ts","../../ts/masters/indicators/chaikin.src.ts","../../ts/masters/indicators/cmf.src.ts","../../ts/masters/indicators/cmo.src.ts","../../ts/masters/indicators/dema.src.ts","../../ts/masters/indicators/disparity-index.src.ts","../../ts/masters/indicators/dmi.src.ts","../../ts/masters/indicators/dpo.src.ts","../../ts/masters/indicators/ema.src.ts","../../ts/masters/indicators/ichimoku-kinko-hyo.src.ts","../../ts/masters/indicators/indicators-all.src.ts","../../ts/masters/indicators/indicators.src.ts","../../ts/masters/indicators/keltner-channels.src.ts","../../ts/masters/indicators/klinger.src.ts","../../ts/masters/indicators/macd.src.ts","../../ts/masters/indicators/mfi.src.ts","../../ts/masters/indicators/momentum.src.ts","../../ts/masters/indicators/natr.src.ts","../../ts/masters/indicators/obv.src.ts","../../ts/masters/indicators/pivot-points.src.ts","../../ts/masters/indicators/ppo.src.ts","../../ts/masters/indicators/price-channel.src.ts","../../ts/masters/indicators/price-envelopes.src.ts","../../ts/masters/indicators/psar.src.ts","../../ts/masters/indicators/regressions.src.ts","../../ts/masters/indicators/roc.src.ts","../../ts/masters/indicators/rsi.src.ts","../../ts/masters/indicators/slow-stochastic.src.ts","../../ts/masters/indicators/stochastic.src.ts","../../ts/masters/indicators/supertrend.src.ts","../../ts/masters/indicators/tema.src.ts","../../ts/masters/indicators/trendline.src.ts","../../ts/masters/indicators/trix.src.ts","../../ts/masters/indicators/volume-by-price.src.ts","../../ts/masters/indicators/vwap.src.ts","../../ts/masters/indicators/williams-r.src.ts","../../ts/masters/indicators/wma.src.ts","../../ts/masters/indicators/zigzag.src.ts","../../ts/masters/modules/accessibility.src.ts","../../ts/masters/modules/annotations.src.ts","../../ts/masters/modules/annotations-advanced.src.ts","../../ts/masters/modules/arc-diagram.src.ts","../../ts/masters/modules/arrow-symbols.src.ts","../../ts/masters/modules/boost-canvas.src.ts","../../ts/masters/modules/boost.src.ts","../../ts/masters/modules/bullet.src.ts","../../ts/masters/modules/current-date-indicator.src.ts","../../ts/masters/modules/cylinder.src.ts","../../ts/masters/modules/data-tools.src.ts","../../ts/masters/modules/data.src.ts","../../ts/masters/modules/debugger.src.ts","../../ts/masters/modules/dependency-wheel.src.ts","../../ts/masters/modules/dotplot.src.ts","../../ts/masters/modules/drag-panes.src.ts","../../ts/masters/modules/draggable-points.src.ts","../../ts/masters/modules/drilldown.src.ts","../../ts/masters/modules/dumbbell.src.ts","../../ts/masters/modules/export-data.src.ts","../../ts/masters/modules/exporting.src.ts","../../ts/masters/modules/flowmap.src.ts","../../ts/masters/modules/full-screen.src.ts","../../ts/masters/modules/funnel.src.ts","../../ts/masters/modules/funnel3d.src.ts","../../ts/masters/modules/geoheatmap.src.ts","../../ts/masters/modules/grid-axis.src.ts","../../ts/masters/modules/heatmap.src.ts","../../ts/masters/modules/heikinashi.src.ts","../../ts/masters/modules/histogram-bellcurve.src.ts","../../ts/masters/modules/hollowcandlestick.src.ts","../../ts/masters/modules/item-series.src.ts","../../ts/masters/modules/lollipop.src.ts","../../ts/masters/modules/marker-clusters.src.ts","../../ts/masters/modules/networkgraph.src.ts","../../ts/masters/modules/no-data-to-display.src.ts","../../ts/masters/modules/offline-exporting.src.ts","../../ts/masters/modules/organization.src.ts","../../ts/masters/modules/overlapping-datalabels.src.ts","../../ts/masters/modules/parallel-coordinates.src.ts","../../ts/masters/modules/pareto.src.ts","../../ts/masters/modules/pattern-fill.src.ts","../../ts/masters/modules/pictorial.src.ts","../../ts/masters/modules/pointandfigure.src.ts","../../ts/masters/modules/price-indicator.src.ts","../../ts/masters/modules/pyramid3d.src.ts","../../ts/masters/modules/renko.src.ts","../../ts/masters/modules/sankey.src.ts","../../ts/masters/modules/series-label.src.ts","../../ts/masters/modules/series-on-point.src.ts","../../ts/masters/modules/solid-gauge.src.ts","../../ts/masters/modules/sonification.src.ts","../../ts/masters/modules/stock-tools.src.ts","../../ts/masters/modules/streamgraph.src.ts","../../ts/masters/modules/sunburst.src.ts","../../ts/masters/modules/textpath.src.ts","../../ts/masters/modules/tiledwebmap.src.ts","../../ts/masters/modules/tilemap.src.ts","../../ts/masters/modules/timeline.src.ts","../../ts/masters/modules/treegraph.src.ts","../../ts/masters/modules/treegrid.src.ts","../../ts/masters/modules/treemap.src.ts","../../ts/masters/modules/variable-pie.src.ts","../../ts/masters/modules/variwide.src.ts","../../ts/masters/modules/vector.src.ts","../../ts/masters/modules/venn.src.ts","../../ts/masters/modules/windbarb.src.ts","../../ts/masters/modules/wordcloud.src.ts","../../ts/masters/themes/avocado.src.ts","../../ts/masters/themes/brand-dark.src.ts","../../ts/masters/themes/brand-light.src.ts","../../ts/masters/themes/dark-blue.src.ts","../../ts/masters/themes/dark-green.src.ts","../../ts/masters/themes/dark-unica.src.ts","../../ts/masters/themes/gray.src.ts","../../ts/masters/themes/grid-light.src.ts","../../ts/masters/themes/grid.src.ts","../../ts/masters/themes/high-contrast-dark.src.ts","../../ts/masters/themes/high-contrast-light.src.ts","../../ts/masters/themes/sand-signika.src.ts","../../ts/masters/themes/skies.src.ts","../../ts/masters/themes/sunset.src.ts","../../node_modules/@types/jquery/jquerystatic.d.ts","../../node_modules/@types/jquery/jquery.d.ts","../../node_modules/@types/jquery/misc.d.ts","../../node_modules/@types/jquery/legacy.d.ts","../../node_modules/@types/sizzle/index.d.ts","../../node_modules/@types/jquery/index.d.ts","../../node_modules/@types/trusted-types/lib/index.d.ts","../../node_modules/@types/trusted-types/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"8c8eb6b9ec6e689817b1b4d11ef2a6207e14324299caf5a5bc58827cb068070a","1782ca9bc8d8d592e8ad1d2d48b8ad9af28ebc03770ddd2ae4124773d559bf36","2a0edb9382fc9f18ea74f0013bebf8c30ac34047baab1e0dd76f5ad117de255d","8379dfd4645c3b845290feba7f5a37ff42a8ed43a580dc3f3f51e4a61ebadfc3","047f0c9be9d0119d2456a269230a435dd52a4954ee78c95989d139366b4f4844","275744cbc46ec0f347298dd5f680a9709cef99cee3e737b491bb0a4a45db3485","b4a91203e9f24f34a6de22bea6670ff59bdb30dd9ce0dbe642023d2df4a13f33","c30102514db1804e1691596c9c3c8f65b9addfa396a6998287c05b2dd2d15419","7cad41ed3d2e5e583931494ead31cf5990460a5abaeca67583c46e9086afe753","7c5b8b2496c190736c70d4ec53b1b3345537a40fd1196674d3624fdee54809ff","e2db83cb0ebaf09d2220c96f381e9f583810b34c29b7a457532c4b55efb26908","07aebe2036f91a21d3c018606200c1d86f1c8fbd2e8d919eb9cdba8cb363cba1","07c66c443cc5ab3f76e8d21f063cfd191f5edc122ba85c1560a43983c2ee1f07","4226d2a50a341079b7c8015446a633917156d0232755ed25a8ee48006b00e293","d07c6257a338167d4382f4c9c668f74acc9dabc4fe0986ddbf31abfea5c0510a","3c2c4f7870bef21dbfb428f8c4ec2f72b290ff7ec3b647ffcf4f68481e69ff8e","aa6f43b3ba0c007606fbe22f93b585c33d016c1cebb24fca762fe688914e138d","8505c7c17103244a4d4e5040ce8005311d4d57d13ff76acaf49e58fe62d93da1","e06b6c2f8f9294f4bf3bbc44dc269253fa4a0eb78c6f62ac2edadf2ac66791a1",{"version":"e7e96f71acdba9583cecf008254bdb9df25d90d2159ea50f297a5907554992a2","signature":"4f021368e0783dcb1253ea77847d0f81dbb04c59867ebd0aed103f44cd282b9d"},"a65021ae3e5f537ffc349730bebc6e79e6cd0d4a73554dec12fb612e0f8b04fa","d8d5559022ef06ba73a75fb1ff24fffe99fae086a00905076a8a0e321d23cb85",{"version":"05447186314b3b27a8afe8f22935d336f610b03b69e3a70a4a8adc1abd041c10","signature":"82f3f8de37e7d153ceafda565cf4357492d3a049591b18cc675b1fd8c5c57bb6"},{"version":"4427123cf6f1b533112ee6379084ee092ce5b42a14edf865b71b690adc7900c4","signature":"e1b42ceb3d9c1f72b3ef91af117eb5d8679cf8a484c75a6d070c796225f09adf"},"4d82fd2e1295b5a3c1d2d82dfd2c45ad730774688d44748cf7d0305d49739bae",{"version":"d4f0cd891ba6c1948261437899d854d0ad1b4009e94ed633caf2aba89c65134d","signature":"ca03d0ad8f300832d16f273fbc9cf73d96a2982025259add413d96506d39a956"},{"version":"1a44402b14123287d51bdb6bb6f9e9950ad3403af0df78563906110d16fa9c17","signature":"8659790ea32312ae2c6f1f1c32381dcc537d3ac8be40f09fab56f11071e47c2f"},{"version":"4e77c79140c7272e6f84d3a3002522df4a3268fb1dafb994465649d2eda0fbb5","signature":"e8457239962363c7f4137fa39bd723897cde43836733359d2ec5adeff74d91ae"},{"version":"a0f67c0a1f602f7862b46f8b89f3784a15c51e196878f33009a8bfc20c1a1ae6","signature":"e8c9db54602d6d94f9f41f0234150e7ec7c6a8086f143758e7b333cc0b653d5a"},{"version":"de4c8adc12abe86b6446f725096efbf80bb77ab99883b8a948c34c7cbf122e9c","signature":"ce9462027e8f4dc890b1b1a513e2ffde6d4a5382390bcc64461a7bfcccc96b5c"},"e4dd8b1959ba7d7dae412c63de0e1ba47b219d8597cdc77da611d6cb4d6196ff","bad5ce74e44191cebc14b59c726c732e4a7b861ca820ccf625baba7ea75c5b4e","c208de3339361690273cfc96d21b2b33c956997526b3d85487c2075ab43f6185","8bad1fbe72628e9e2899e6e7a17c4b815fab8690d97607cabdae41b24b00a8cf","4279b64dbb79e1b10f20b92feb6e19b31d58d9e8af5728cae28ae4bd30ca98a5","a05040244da8ca975bc138e0729cc78ed3fe3e15dff2c4fc62d5ec8d327e3401","898e710e87cfd721cf0fb92b8b11a0add06d2660a19f0bb4a5089773cfbccac3","f81e53b756cdfde4e3e00516251b60a615bb0f5870b4cfb784140a4506c117c5","88e166abdc9ac3147e01e936c5a63632807eb54b7cf675401fcaa5201618ad4f","b6d055bf21f4b9eb2276c980662bc0e0ee47d089054cc54b2577538824381226","9cfe56cac66ddb37d4faf163d1240cff14b3e3744796bf54e9ba3a83514e765f","f13984d140b299145b8dd41c1052853257a2a57b1ea2ed99da752fee3450b6bc","1732829973987130e92a267c059b05629d9653c978a50abc830cbae4dc7a8fe7","bdd197d7f2e6910582ac1659f610b617d2bdb2f30d3cd8601ad99349d4bf0b6b",{"version":"c8d37c2dc74adbd8bbdd0f5c1d96b89cc71925597330bdf451ef20cdd7c8a682","signature":"8821fa5ddf0c6d5dde8a5727473ba2d4c9c0861fdd83b7110e6559ae0d5e560f"},{"version":"1d7ea4832d6b91d8ab75ffb78693ba42a6d24f4f777b743ec23866e07ca1ce15","signature":"d936d07544206913ac896d4927c818e0e75aebe65f95a8249dd408bfeda91d4b"},{"version":"87838fdd2d55e6cee8f84a7da95425e8d90f02d276089f72f60086b42eb532ef","signature":"a916e5bfb0cd20756630c96806033d3b5ac142afab534878235ca6157ae4dbbc"},{"version":"1fd5d10294c90647178068d53007fc7c7c85d161e93c38dde2df741b88e557cd","signature":"19d6d550ab5050db9a135b076f5b595b39b75d76602f1d8ab0ea8f7926ebbcf6"},"203a8633f1d31b4f1a121a2049c95d2ebc12419852c2e8f458ad79eaebf87a4d","da5356dc260bdd5670eda00d91337f4a13156873835d7e03cfaf590086f78ef4",{"version":"801784f717df50a7673120c7ce6a735342f8eaecfbb184f86030074262844b84","signature":"0f60b65cbf100f1822b34a2917b181855a321941c169d557c75e39c983bcc693"},{"version":"e612950225298745301e65c97a2d2056e545220d4a0168f2c10bf074cabf0b09","signature":"9a995d406fed01c3a904df307776e7ced6fa6cbf066f768e0e5c0cae02c14d04"},{"version":"38f8bad4813e5bfcb47f1e6380731c171f86b846186621b5f5be4bba211b885f","signature":"e97316df7031f0939d6f948ded3ae91449d661d4721f5db7b4406123de978759"},"6c7949093d7ca216318aa93a7601e4a3ea97e31c72ce37cacb3366992ab9244b",{"version":"5cfb054eea3fa511069969428919ec849e5678a69d0fa91195c6c4259f300e39","signature":"70003591ad2924d3874a65f56ad1cf912adfccf2771403efbb4abb83aa6293e5"},{"version":"a3844626a8ff3d1bc372d590b8c57d55ca41dbd947c9211d56f33d02e7954f1a","signature":"8e52d428ba6b8e6d3960781a98c0ba7ea94d494f2749f60438f63c065ca5d062"},{"version":"bbfc4c384a27a91d8edcc6aa9bb2dc0018ddae8eec87c7b745af2daeef177d29","signature":"7b3e22c0348cc00f07def64e16840a247cf363f2fcac12fb3bbbbf210acc83a2"},{"version":"aaeb7d5d43367aa8c1c5a10af6e781044b5abc7dac61974f42a49609bde23906","signature":"3bb2fab08855c13585c4fabb4dc1b7107af667d498fb828838b30bde1fd2192f"},{"version":"3526045f46f5aa48f9e48ad1f3386aa23d6f508e6324379bcacef02114d7d642","signature":"3421cd1022226d27b5a65b195741059c2f2abc8ca52b2c237f056c0b8489422a"},{"version":"c5c725b4ec436fd1a8846c849fd93dbf7590e32ed10f46d0828dee35a47281c9","signature":"141c8afd3b078cd578824ac2e51b64a02f960a4ff5d7cec27ee744940efea779"},"2ce0728e4a35934288334673efbf2eb784071ac951d791580c50d0eaadfa7e29","96aa32be43ab3bba55da1996f7e2ce2bb1797e22af8e5a941f280197ce4ba729","bc671f5b7c079b9b2ce675c0b2b76a792e60b019fd0f8215cc121e5b4517e61c",{"version":"b3ff97b1540a5d78eeee73c6d1400a1fe75f603a1157603f1321a4088eb25c8f","signature":"e57a0994ff4e685207bdd9a6852f84058c0b228e8d67eb6f2ef875ee216a41d2"},{"version":"490bb827fc8d336aaab273d10e28abadd3b9933479a2b414c64f6b66e5ad7809","signature":"48209df4888e03aa5400bd3400af43c71f1e191ecf8c993ca560c37ce1736906"},{"version":"c520f887a332e1bfdf109696e195c622c734cdd35cf649c3cbce35a98de60b7f","signature":"9a34a0ab398b306e854ecea1994c9b1c946454db7239a3dea82d9a2695812524"},{"version":"bac96227a9a3047de4abbea77f8ad4c7a5e9a470c53149899bab0a54e4897a25","signature":"82293b3bd95371a68f354e4913038f4e3e35fa0a7aa062077d1fdeaec2378ab9"},"1c5a9250223da0bc360be5cb25d340d819a3d1e95dab6b866b8ab5bcd38ca427",{"version":"ab208b424a36ed8070dcf057a335e0b9fc530446c221476391301b995e70907b","signature":"3fb04b058cc2c00cf7572eee9b4b0c9adf21d14d0708e0a8caf3ede9e21b2f03"},"2021c615a5ffc4276c257343c6d189d5501b957103fc02a133295ab4f1182e63","4267ffcfc35276453c56d0ee01e2ff5103f31adb24ddc510b1cc0fe36716c8ed","8703fc120f80dfca97d62c5fbd9420bfb5b55cf56ce7dc18d49237916a2a83d4","3b02660ec214ffcff7d984ae8da633a6f9bf5b3991f3e3d82852d73305c39782",{"version":"f83d2d9fe013070e61ec3cb9148a2ccaa694fa839e0f1ee939ab131f70c72a95","signature":"e835c7320e211b2ad8ae386acc727f16db465afa355c602a76ea118b09da7636"},"32c27ef6ca6785c5dbd72de0af606cda1cbfdc17461b95d8f1f1311c7e6f9949",{"version":"029bbffaa00390a3e0a5f749501f0cb661ae4d23a8f02ce50443c9a36d545b9f","signature":"848c6faf6dc52684100443a1b7a8cc067edba05e5f6e76b6b561b804f498e3e8"},{"version":"d6a4003ea2535a7c33c7458e9f147ae4c2e002dba3215fcf647d7f5ac09cb88a","signature":"9b2b464a0821ddc44de8bd0a23ff0c7a5bcb84013697624a91df239f7f41a365"},{"version":"951c19f7fd389a78608d4854aaa36e0c5bcc96bcda69a2ef20f2fe34ae1e49d3","signature":"1bded6a6874abeda63032450ecc79c4c8725b4df28b8ff889e5143cd26ba92d5"},{"version":"92b722b7706b2831a6b93aef6784a6fe13569f2a9a36c78c9b599c53877b32f6","signature":"a97984c354bc4a826ffc4328c0de7cb989093ba03269f560ed05286572e0d200"},{"version":"d77a05ad05772e7925ea4ea35f40b128119d5de27a1a15fa0e5605dc58c36ac7","signature":"527b76d95309796c14506085eceff3cf979e677c2726cca422aaa2cabdc968b6"},{"version":"4059f9f83b7ae08f85ea00ca1894c1d9b14ff1c49d16915856aefa351d7d7f1d","signature":"4a8f17810ed101e1ab6a88279fb5b653df79effd0c2e0686b4a6c03359ae0b6f"},"5bb88b0bde75b3c28d243ce724bfa92f4e8282023908087717d18be048e75645","f58f212ddbf3d280aec7cbcbc0d0447f5c4078e1310bf554975e7a381ef278c4","64927c68bb99dfe78bd4dcac7ec9f744a86b9d59fc9bd76244d7d506f028d0f1","7927df3f8c1136494af296b1f855c0ee6929556c03cda45158305f4e3fe64846","e2417833137fe91974a81e2753a65fbefbbb6bc82c3668a70e4e2025f5886a3d","2c6b2af767f9ac54e38b2a73be406715e695554e65e68268fee29809c9dd46fb","897b57473879caad4f5be506ff8d45b5f12daa1c1a8b9d47e75ac556c61c2e34",{"version":"49420ebca6ecc727cf8813643b7549767378f2006dadc0ee46fcb9ff74ba5209","signature":"99d7edf9fb121832a8416ffaf306a43b65d0d1d0f1316e8391f747ccb0dd5748"},{"version":"732b647bfa452d3d767da9c18c33ac49f128313efaa3dc46c3cc8782eea6374c","signature":"88ce48a697b7469d2cbd275870e38a3d8a2028b62da500111c5a578b111f8956"},"c059dc7999d0a9256068edf99f0440116c7f4851b32c132facee970d30b0bf64","5170324b0055a2b07e05cd70e0ee5bb2967fa49f9a4b5f0a3e5a6e6c287e47c0",{"version":"3e093303516b2105b4bae56e3f374e8d36eff9c6c94481d0894a953ed62b0b9b","signature":"956afd504b5c4951e1b85f1a1bcedf008cc150da849c7fc9a488105b4dd59353"},{"version":"f6a5b7c2257cb85dbee18c2e4b6e78f98099c712f337b40efb0b4dc05ada4c34","signature":"e3103288cced9e418d5190d51212bd809a575d6101b35cf7c590b43c32d28270"},{"version":"3a146fe385c4dd2b5f986093f7d95c9cc927ba393e338476bf20c55182f76b46","signature":"84d054ae3d4bf5e0d9adbe6a43bf0c546e78a307afef591eb7ba8aae813f7729"},{"version":"9474b42f9b4474229f788e4bc242feb31ba5d15b4c48b23aca57acdcde72dbeb","signature":"6e44ca35c46a7b4945254a0629a8fc7e01bcbe9c113c19fd8c15bb7b3d4c1574"},{"version":"16ff6ed5f4d616c79b6d031c018bd0d0d77abac74fdca7829c1b0625e053e0f1","signature":"be8f1dabb21a5ce462ef07913c5439c28487de12d3e705b315fddf2528bf44ed"},"f1fb00f30b749d8d840d816dbb35d81b351230cc1d18f62a6e585268f5469d98","a92626501295217bf4565aa2d4aefa444a5929d4292960d1706e9d66fcf0871b",{"version":"5c595e77858867e8e2306e1df1a81b9858c97562dc1b49b7b2285640c9167567","signature":"d2fc7b4b330b91dc065d994846a01def7d6f730f18f310acf7973ea3e62ca8bd"},{"version":"5bbc68a96a5d24ae244f80e7af97e1180c19b525ba9ce2b2bbcf2f83221e7f8e","signature":"1f5b729d56abeb17b3c403e3fcb59bd3616c0039093a750c91e8617875462d6f"},{"version":"ccd85716113b91fb814b16e29d132ef0cdc1f449c06eb73a23a1c544774b8f3b","signature":"8fe3069a3d1f421787b801921cdf8ebcaff2d4b4060d624f680668f8ab2f4a31"},{"version":"4a7d9d67a133bca0f442b9a40d32bb1f09c0755c112c07eb20d9573485881842","signature":"8821a67b2e81788724658b8113c8413359cc273a9a7791c22cd45d4ead31934f"},"638f97dead2be284ea8baabd3bc0b4689f7367e77ca13f9eb6a85dd3bbbfaeaa","f00a5535f2665d7e92fe87924c039fe4a4b0363fa1c791c67331726a05148efd",{"version":"5a9756c8414f035c32cb4c802d1526b78a19805ede542a593188fe0011434dff","signature":"d1c6535e8140f9d9c1b758a3d98846f2895da2ff1bd8743be8a535b22b9fa49a"},{"version":"b69a7fb5bc75bb8387de942e9623ba221d7ee15e738f9890484160c5b4457ad1","signature":"e566fe4037bcd3299a264b6b4358c53010d97219f5dab19f08fc1f5c1a3dc48a"},{"version":"77e1def4d29d6fd1994141c0c6755259a7a6e64db87387c06536424c39ac84e6","signature":"1cb91e873bc7a62116face345326e6ee7e9a38fd559694096e37d82957ac484f"},{"version":"01bbd164f099c6a664ce772acaabd3a340b15c2b0863040a888c0d6591e602cf","signature":"da21d47008d3105bcbec286eb58f391527982152cb7725d923cb40d90066b361"},{"version":"87c73ce03f65d7cf2c2ce273c85cd0982a01fee16c5d64458cb3d8d9d49df63c","signature":"de12e5127a08c491ab1e08fb1589126b91978cb5fb5b9ac1c6056ac42cb51763"},{"version":"2ac8e4e4249d67ab1664702e35722fbdcfd4f68d465dd470a936bfc8fce733f7","signature":"07f6028484660252cd6e9f9deea96c8a48c2599a46270dd327a47701ea7e2e07"},"a7d97502d5655b34a5322dfd4eb8b3876472afe4d025b1c2856d1fee618da49f",{"version":"ca8995a040be856aeeba54d714a566c76c8a270fd795e5ecb492b724d051bddc","signature":"0a0bab0aeaf82cfdcc95c27e79acf4b3f91822fc7d00467563140909827b7238"},{"version":"c6a8a9ecaed5f9b896a6ea560ecc458923420f60cd844993eeebf50a65f2119e","signature":"68dc7ccc850d458f7dd3b5f727a6ec7960e0ca12ee311078c6f4e1a0c4e9ce13"},{"version":"029a5368c84842c2cd92ae478580ac03e7e11d6b54c2778e9c233c2d373dae33","signature":"eefdeb0fd378c90d92469ef5cfda87859cf1a4aff7f82d11ff41efbd13810894"},{"version":"61fea123bf278e4ced226c427a28c5ee7c42915f409bb78561ac3e3845afd712","signature":"d2fd4fbadec0a3f02d0135a42e0678357634cd566f78c6b2cca33ae4dcfddce3"},{"version":"f471e1ab693edce0dde2214431c1da371622e3ae7f4bbcd89de8a93a805b814f","signature":"6c80fb4ff2f179bd0377225412fa3c4c009f7e8650bce555a16bd9cd666a2508"},{"version":"6f54f8a42fe263fce61760ebe1f138449d6e6426aff3b1138ebb64f2910dc8a2","signature":"c4387f5db2139e7698117207c7e53f0b6d791ae331240061e3de26afbd603a49"},{"version":"e066384415874c3a5b72a96a472ca793b0ad11578b3ae2d3e78e93a609993d25","signature":"73f8b34446a36f3414e1b99905bb58813793cb3a86a5a471f858c9f650e61640"},{"version":"7e4d3fd5e0e2c681369b55d82abeee29824aa95c8faeda8c476cc90ca49b3e61","signature":"88e9519d62c5163406afa10e9641ca597afae85fe200d15dc5bea970bca20643"},{"version":"c915489c5335e0ff8023dcfed38a14bcbeb99a5b93a38cfe684ecc5c45312b4e","signature":"b34ae889d00fe8014d497b209181492f47312d534ad127ae0381bda81a236374"},{"version":"0615cdcd3f9fdd6b2f3cff1ac83b5ffa0f39a7b9519e1eb6b9247b0654559a94","signature":"3b40f1a7bf929fd91566ce4525304df07676d77e6c4cd9754b839d3127835233"},{"version":"0ac7347d035f5c1c5e7d0c1c20a052f3871ab116b52a78f01fc7e014384e9405","signature":"abc44776efb7399cfe04a896cba4ae5d5e00507ead2d7275a82bf687d4dde949"},"ca920351489d32acade5d89fc483a48f9d2f7cabbd8558e50d69f39fdc8c8d26","bb1a711c8342f91ffed4f3b38e17bd69f563820a7b6faeff7d9a790b724d83ad","56fb7439a7f2d9e6d583407efb6d81b71312cb357fe949af19cb86e08e107515",{"version":"9fd4f0c3aedd4487f448133dad72e3a61cf12c7c9959c7ac78b142f61ff3cf2e","signature":"f74818b803a47ed0843bcdd6e7777c993c1ffc2090af47a5788d268ecccbe355"},{"version":"f917083a202d5f54a6af37f8f37af7ae1d184e645cf8c79405509061c9420a72","signature":"a14dfc846430d1ca3ef0aa18a966247ab944a6c8a2d2fb0cd11264c94adbce33"},{"version":"69a4e1469191ebc40fd153eebae9af742776124cb827b63eddfa38d913364ae0","signature":"52dda5af74542b1894df28c8f15760666ac5574df2fdae47ae1a424f946e89f1"},{"version":"b86732ec95e09720c304fa8fa1f15d352e1bb793dc774a9468ab35b94d004950","signature":"458173e0a8df315681c9819ee72598ef663f48e008da52c669235f3f681890cc"},{"version":"096b6bab063ac84c9a2400d8bfeadebe75a8235018b3226cb5b19fa029714c81","signature":"4f7197daa0f0391ba10bc0d62330543210de817af6c7c8c20eb1962b7e5cd996"},{"version":"66c52b2c18fcde306dc63dd137525c58fc2815794a678c314f369bb5a9d53032","signature":"70cc3e279756eeb0fa82a850fd3043025a413b207b1b276243ad6470c9118b40"},{"version":"6603141d1de2e16da37ca8a25075c7bfc3be4a13ca0fa5dd469cfceb4245ea5b","signature":"b9db26fb94d8d53bfc9e9d6cca910c9ba8640381c8a1108ea26dc6bed6535325"},{"version":"fc1d14d9a313ff43a15c348a47d17341cb194726fc43b9b497d7a76110df13b9","signature":"ed0059042f93d25159943da5d2ec5aed7a4431461d551faaea1124cd0978caa4"},"58b74c21a9540fd9a26de2cffb967750d338120312cf07bd18b7d63ac5f3fbe8",{"version":"fd337a5dc834521a51d3384875fe8c5bd66149d29e917c7e6d0e5da5907fb6c9","signature":"099c47f517eb81016883ae5aae4ebbd9d0bf1b44656202aa35edfee2f398896c"},"509abd28b2b2c6a0ad8d79ab0b91605619c6525f64cb375ba17f8720f89b5184","427c343aa6264b5d82920e0b001e0a9d62ac021a1d4f82be428801a44a85ca95",{"version":"1184e911f5fe7e72645f6449d310b3623aa86facd4cebbb65c2d05100efa1df9","signature":"27463e5c321ee74ee7e415a3ac245704e66f30738e944ce70949023267de9377"},{"version":"6cffbee45abda7bcab0428bdcfdb2b504c1329db94976b7191aa96831a73f2ca","signature":"71f19bd8529fc1eac2e7a5c616eb6e9bd9afe3d3a785a0483d8d8040a539294f"},{"version":"861a9d31892c0ad737ddaba297d2da8065aa06b39145e51128f385e6e40534e4","signature":"280817b28618841002d2b8e5fd1f8bd9b0a24cfffe8b62966fbaf40798df7fc1"},{"version":"8f7671f1e1b716675a19c113f78f44bf73ac828acd64678fa9216c48990e911d","signature":"5a494a61302de807a3ccf7bf57e192baf6374cba5cacc7a3f50c486295f7b535"},"7447cccd400bae27dcbaa0b36766e8e7a4fb661b4e71b9b16549adf91cf2a187",{"version":"7c420e71e62248d4c1642b5bff702554aa62ab472fca8226cafb1a4532dd8c9d","signature":"6f7ca2af2d52c05878ed3398a259fc2dd77e734200aba66b23b1edc1646c1632"},{"version":"6688986a5a23a5469a8f48e95032ea91fde38abe63e4735622c6603b8d46e354","signature":"400f2364cdb5bff663f0e6df85104938c071020cf608610ba4822de4e9c71220"},{"version":"5d863123a2a909928162c958a42f30200ccf7510e73522b3fabd1114d46c8067","signature":"f45542ebc327051cdd7ccdd2afca268874f3125f5053f3dffbfcb7f3f6f53293"},{"version":"15413117399055f0f959c1d9e2f0c9a81f1d812da6172b6bd0156a1c86f28289","signature":"9d00a60e074ff9075c56e6d4c0035ff84e3c2616d8a68d7e177c1e3ce8a784cb"},"6bd6cd601d952c4d659fd1ce9e04b3e26b53990723380b2e6c9e09e41c32262d","fb140a4234babdaa9c76c215f89efacc39c0f0eb07b90884e396459b644a93b9","07e305cdf1070f722871d0585dc15b0cdf9b5b9639f15ae3cb5c7aea22c63888",{"version":"b7162bd522d042799428274f6508e03b4d0f46cdcc7aca4c7ba4d2c53a5304f2","signature":"714fe049f09d0bf2f58fc33c7de9efec6a555196c5f5ea2e590ff0c1ba68ae8f"},{"version":"5dc30992f63f0141d95d85c1a6198185443328bd864ccf821c3e0f0dde375d10","signature":"434368bfd2d96f25381533b7964aa2ad5b700a73145f9f97b490da31d0d7b68d"},{"version":"6637bae5cbde8a1e6b8a01d843782d663bec20f9981a7c296d8f3d536297ef67","signature":"9d4e29298592a5db8d0b2af977915ed0bf1a3cab49b272c2fd225248f8b57b23"},"edab4a12580c4fa278c2a2c4e6b67cd1251aa678ce57d4523b1fa24a0d862b7d",{"version":"74750b347410ee72a2e6477d08f191495c56aa7562d5a97341ddace5288288fa","signature":"be0bd6fcac2dac0b464aafe90a99cb9dadc47c6862b5ddeb4f622f3ba86df072"},{"version":"3b0ab269b0ebbbc58d173ae09054eeaff2b1a645c0ca94ae530f9f9d84c34cb0","signature":"51b5db62d83a5555b98706593b419fd67263bfb852ba1a0432ba5f7389227645"},{"version":"fe6664fd0e2e7bea56b43ab01b57af64b7cee319807b017eea24b73193f376b2","signature":"c28456776c9890f6a7a8f59dada23f79bed5d866cc601ea9a2430dfbe2f9cd26"},{"version":"ae10546be8ffec5db357e0ac7578308ffc46e4db20ca63eb2fd40c9f2657a92f","signature":"142db8812ba1ac9108561fcc4cc886cdb921f739e4b3f163e3d346f9b013c345"},{"version":"35e151d4efae58e8a7733dbbda5fc82c1b8f238f299d0e5ad2b39be0af4b1ab1","signature":"ce7a6f246566c03574e5d620120b1cf191851c9bdc8fdc5dc74f575d9c6a7d30"},{"version":"b06581cb2fdc9bff55f21f97a8587d0e2efce9ad16c3f57e55f6c839165636c1","signature":"89e4b25b152357f1dfbf027b6814bec8fccdce154b34d190cea03e5054574749"},{"version":"b4ddbc6907fe9cd0b5bcb2bf42b7eff73568ef62246f5136f9027a39a570c855","signature":"fa6663a2866b5b4b3a84d9377e9bfc879f69751d462735e94d4a8a9c2df809fe"},"a42c2cc731f3fb2c37b987a8c1138d4596bdd200e47a23dc837abca60bc51ce8",{"version":"76a56c3d75703b32b1ce04594154517a4e1c8bd224d0a842473c86eede63dc89","signature":"80d1171656b808a02baf63e2e77035675456ec3e3cf3f5331df0981fba83e5ae"},{"version":"d89a10707fee6e2114068487b259f1e943744c440922a5dabca069c88f572142","signature":"2dab64760beb587b2338946a5815ce22060720d76b224a82a710934ee9c0b4bb"},{"version":"9091b8dd88f4e7e9088a9d055af3768a602b67ad062169d8232eed89f0e90bad","signature":"b30f1386b9b965f908bac6e022b4cfc6cf66116c8f4581c01ae77393899c56e8"},"40763b6c0af11f3e0f71e4401d3dbcee0050325bbad642cecf8d8d0e160ad1ae",{"version":"222774b63d35204c91eb024596c01e147d20279c04abf58a5bc1d3d7ae5cc2e7","signature":"a5099e2e418e8e08d5ae174f080af485426215feb4d23c41eaaec7ba90e02913"},"1f5883d8088c47e84f07ce34d8522e0d03154daee06da13e12aa22acf3fd39c2","fcdb32bfe0ab6adad3c2a4de7de4770e74894b6ab0a5b0e719f914be033d0fc4",{"version":"a7c70443f6ccd11f1fa5ab90134fc4f94acbd08cae7e7088fe6f9d26bc87348f","signature":"a0a8eaaf8bd050f9802801162d545450ceb564723675f08b7cc1445a23c00d56"},{"version":"185483d0ec75f289d933d34cfe3b4228873e2998f3a980166427c772f91294f8","signature":"d01665e7fafa0a39846cb376f28e93d465af53acd8eb7d1a904aa58fd4e4c64f"},"8f42870cffb537499183d01a175618f732be9ac4e584231a172ff035189d054b","ab8977a391d9fb707e969e754ea460cec6897522b759cfd192fc4086d13320ac","6defb5ff6c3d3b54861c70775715aaa0e7ad243b6029ef71010e09ef14241fcb",{"version":"dc21cb622d24a66caf20842bca99654621cce87ad689596c79b894df52887a6c","signature":"8e57a9041e6fcc888742d47c226ff27b56e7444bfb6344ea6e64066b5dde5aa0"},{"version":"971f6961f5098efeea05379a4f5615e02e864ed146baccaa77b91940e9aa3dd5","signature":"aa132ccbaa398fc7b031f4a3325a98b256d573ffb85fe72311ad9f4d1aa3f359"},{"version":"e4d52e44ccba6abd0909fe9f590a2ffb5ec29012ebe5b942ab7f7ac9729e6576","signature":"878570e16cbf3c9b04c22fb91179e6902297384e9bef7de45ab074b42d384e05"},"c89f3e7864f3a4adab80f8204884ca9440a38dfd1ebf6b2506352320ccf0eb8f","622370c36ff8f9393b310e5ce678363b96a8c896a9aeb9bb3defc96e779421bd",{"version":"765b8ae6b55023dffbb0ba2d52dd516378720ad3bde8b58b9f57105a7a7fe190","signature":"58d37a90fa475edcb4a3ff3a68d72574e94f51f832605be8ec859e75742b187e"},{"version":"cc16bf289c260a07b5d8612f0c6050d9ddbc70155af326c56608ab47b47fb059","signature":"5c40926ad27f93aa9a91d71f28c7d92d65bb885ba73876f27e3dab12d6c6c577"},{"version":"28cc901ad55be1098bab39254bb0dc76888099ff1a0a852d6cbc57d0b0c1b6c0","signature":"e3610f65e368054a8dcaceadca28b1431c2959f5d64a22926a9edd84a7381ef8"},{"version":"68b592a11700f81f80ef4ccff46d7a154eb29fbc01f547b7ce0f3f352d9bfad1","signature":"c00e080474a51865f96c5fef6c709be3cdbc9af0caa4451063f63dc041d8a7ac"},{"version":"f57c5941b5f9931bb215a6338012c5365ee1e40d04081b3d998c667ea9fde3e8","signature":"c319cab21b9b9a1d055399b6265e0e6bdd5da11a2edada15689d2b367ce56760"},{"version":"3ab8f5ce45600df7462c8a7a281d5d70951c1f54f96bf5ca296c6aad739d862a","signature":"739edf96b6e69457e6691b3e4b0880db12b34ca08515cb68a29d1abd0a50fb99"},{"version":"47841857562b204fca3da11aca558a478dfa2f177a1b67d3b1e8ca3ad2e3afd4","signature":"da7147bd1ca734244f03c4e42fbe00de211a15618221fa3917916995992830c8"},"7a753c835fa624fb78070d84391a38255263387ae09141bff0319b1311af8bc7",{"version":"48b10b5853493c59d7fde9b774bb36bce1ae2f5f88c6f70b468de0992d251b8e","signature":"5a4eb1be4d88a25e9cff6fd50419a651f425dabf96f53fa01ad98f55cf37ac1e"},{"version":"ecb772cf9cf2643e41e7d1f9cb38859c44aeabe2445361e66e9386b4b3214de1","signature":"a9bd54415037c85f3d3fed8b56e0bc7aecf44cb0460861d3e7cb1e2363213245"},{"version":"0638ab869a0627429bd8638417cebb2a92c89c46df846c31742314cadeee987a","signature":"22f4b6f6ef686a3c021582ce9467ae17921008628de01ba4a179bfcfc3fbc2ca"},{"version":"3dbef4ca39ddc6fca48d8cfcc7b23613cd6e288745d5e21d6018004e52c92b72","signature":"c8291d1b97dffd17e101a11cd724801aa8789de5fe05bb569eade7ab839cfb47"},"c6955d8caf3cd67754182b95aac22bdc865195c8045c694c58e818e5f79ef337","38b43b4c2243b9df3de2a3645f26776b2f044b43e529fe5ec51e43b1466966bd","276d8bfcd459b40d817b8bf1ef8a103ac35619cd30f3685665e2f390ec2d7324","4a7c9107a956719d722fd3b99a2866c69749d0d83ea4a1d68ea64941de8bd6a1",{"version":"b44651de61e01f4f490b442d335424cc5d936f64fce35982b4568356be49b2f2","signature":"b9ac6c58c4acc2bdbd60ae66805943c69d84f76788da57298d6bab521a24ce25"},"539dde4302c3029dfaaedf8a610631acbd9b70620edcc421a292c9675f285487","68542bee02ec59b92fbc35f19473ec78fa2e5ddef192083cbe5d80f5434d6fb0",{"version":"3a553b3ca8f73a2c893c07815412dbc8fbef88f3fb4a255317fd35ff655794e2","signature":"1b1e1b59d24c2370492b3e6255dca245b416d933bb805322b8976b4ea1fcc012"},"458c698e0bcaae5b243c169d215ea18824bdb256e437ac8d27df2f0317a1622e",{"version":"6ef62e792baede1e1401bee2714ee98cfbc864c51b035c6149b199d0bf130106","signature":"e977b93bbc604177a92d32797818a65e8b0cdf305bf9a29269707e8a8328f686"},{"version":"df0af8f1da5308287a6c6ef2e5b520b37d6ff5a539950d87fa0fb2e1ddc64035","signature":"5052e0e86ec507a664d378f7f3b2836c7865461686e53df3f5fa122f4c0639eb"},{"version":"0448f5e85ceb624dddf1fa26dade5b8dfbd5be8e49d94d4bdfec05f4db7000fd","signature":"e81f913776497d85d0f3481e65d59cda78cd5882df2eb1ac85acd958e6707a44"},{"version":"e5ca2e3a0bbd1ecacfaca47fbccf83af6813d9fbbef7a93d84395f17aba196bb","signature":"c6b1fabf985181ef16a33b43ac0f749e1d750d67168dc44b8f2bbcdda14b1060"},{"version":"ab16c84d7c3f2c1dc5e7ee23606f7520f1228878816b15f0258956ae33916915","signature":"73379faf12611e812fbac3b3d1a15f4fb772cbe9906a5e4869d776882db00768"},"613e78650c76538285f643d8934ccb5822395b2161e8dd54137c5a287ed760f2","2379357836b933bd3451730835540b1f9603ecac59d4e4b6a0e17042a3eeb410","2e7a8e1995d1a2c93afaf81bf380268f304a663e19301ef07c71baccae9b4f70",{"version":"d0a0cc53a68f0678830aee81a32312de8a9f148706d18e936bcc5b2949455ea2","signature":"e0bce418703b51550dcc526d793431809b0b4e2ca958064159bbc1d303528b6a"},{"version":"5ac174bead3eb730d717772c56bdd24f41e25c57830e9a8a3ee1a8b2a46ad015","signature":"10bf30f7a07d4a9f7224ec5508876b89f00d70a02172f900eb2380bb29dcc961"},{"version":"035b7153e06b2b4c52ad2b255a5cc4bdb1fb1056e494876685f5ff0a57df8c3e","signature":"2acc81f9caa252a105130201dc8526fb9c8b9901fdf5649bb3c44aeff7336bc8"},{"version":"831062d30eac46e107276a2e736e3868bd989e62306d32285c0413a5d922e7eb","signature":"e9fb7521c34cc0ec28fb72cd38d1efea3a874ebbf2bfc0c065285d92da3e0a15"},"23e9a7a15868cee5fcbf8dec2840e93630e032af63ff96ca8ca5a4c745abbe39",{"version":"2cc81c860670a11e1a25f9d5e44650714ec63d26c7cee51d6d4b3275391a8382","signature":"1d5081c001f515cc655cc649f04e6ca124fb2bf77bdb02358189c92772b0933c"},{"version":"72867e8ca08bc76ad30a6850dd8dfb611203349ffe24378930f6068a9beb7c2c","signature":"440c08f1235de7c9926a411a4fcc53914b82a369e74dbd5f0cc33b7bf0fa2fa4"},"94a30709defee13fa4e1b80e3db63a476c8a9968d4b26bd68156b286a343904d","3078f172a0acbe7b9534833856d733440687c25046e14e300b422d65814a7cdd","8f67a6d8c9df10c5b7baa84dd6d5f0c4b685892ea8d9ac9405914595c0251cd8","088eb9c8f789033ce59f2105f57771ab57c25d886ea0c0d13da1609d1af3fbf7","aa64c33d28e86826a2449a67fe7cc3e0d78e41efbb4efd5085c6cc3baaad52c4",{"version":"61fdf6e46172f4d1c54e1daca5afdc3518ceb8d3b663d8f4d953a2fd540a1f84","signature":"b4fe2331e3c3d9f7eb97d5ee10e8d1da55cd59cab390bf7578942a0e4a4414d9","affectsGlobalScope":true},{"version":"1b9bf2f7ba074312a404f50a1c8b756f6e4d49dc19da9f198df70b33f40530fe","signature":"33f6ecf7d7825679b009d0a45258a84070421ea532e8b263d432c0e0933e029a"},{"version":"50f76eb608f44838068e92a3e567c04d31cf0fe3d9aa6bbd03c2e24f478ed268","signature":"7c69533de2351dcb47ce96d6f961c217d7ab04d49cdc77c63a26d7fa2c6069cd"},{"version":"85b34a2e768240999ae123748f53dd70aea5d69795d8cf4031e86160a96d4d99","signature":"2618faf2273008ce0866bcca6f8ad2741c642748c36ec7e4639597f76e86cb48"},{"version":"9f7d3d3068e381b13b211e8f687fd8873cbd603c17ec92520748ef05fd0b23e2","signature":"47327afd9397ee54cf86a2317a9685b9e1bb6c25a3c270e0773daa3ed00017c4"},{"version":"924d04d320d48cf06625554a354d0141e2611ef2aa7fb3c29f878b790145dc2d","signature":"cd5b91b028078d65c7a670a15ef31e26deed5611139252693562606a494ccd65"},{"version":"516f3866f1be30c45f23941b959f2e7eb31653f1dbd08119e7fc16a5564affbf","signature":"5d5e2986e50020b728e49f3a48368f42d515de4c578f45e4cd85b2cc91cf8311"},{"version":"ee1c9fe30911ca12b30d2c2594cd0cc58959c9a7e55d2139d361cb2d4b1b7219","signature":"570c770cec6e0db7106e13f6a614e7d1ff080a1eb3fd9555f48870596b648b57"},{"version":"518cc5e0bcb3c472ee601bf172b3bcc35a217fdaef4076f9ee6e4ab43cafb6c9","signature":"d267254d65a068de23b9c65429e2335841baf6342863338f0988edd6b3c56a1d"},{"version":"6ba1841d9768db0ceddbe13ae5fc2a14f223990e3b78df0efce8bbbf6ede8924","signature":"b7ec7769c9f525534dacf1da4060d564e272cfeddc21ea565e93853db300ea2c"},{"version":"c47aff7a5c1c6cd9a70041fc4c5ec8bda0cc33c53482ed7493d109d4c0660fc0","signature":"9d6613d45047a004d3125f0257bdcc2869132e928150d533f2f3e1037fc24395"},{"version":"8278ccb61a45f0b040f942af5eadc7e6ae738eab1cbc775a22f2b8716c2ffc34","signature":"caf74f48ebccd0fad863c3f9e9d13f529907188c61994f8312aff33c834c5d73"},"f57fab1742896a28beefed5e2aade73d2c024415254505b1c1ad8bb1cf0574a7",{"version":"ae348eca29287934753bb65528d14f8263b9be9363290c800c4c8149325e7cf8","signature":"314db3d5fffddd54295ac028ce530f42ad47af26c66e44c28a8dd2b6f345e7fd"},"5639e4af912999f9bc775e6485fe16c1594957bb1c674061b883e8cea07424a6","a103c5a02290739d31b62ccfc6c12b338a2da042aba993ea9911e30f1cd897b0",{"version":"b1fde087e7bd3ed2e17153f896961e953d254ad14e95e4dd7de8b8becf85f9e6","signature":"3fb75c5c730c0a112e8d997a5cc971e88c11519b0508d6a9e6bc604ea6262ea1"},{"version":"ebcb5674f02cafc3c123b419cd937b64f13ae5a1c74beef9dc1d6ab8abd62eb4","signature":"3931cdf59fcf31287e7a5e8bb926b59de650245be76f9b5915f969f0113db79e"},"2ef6c4a7fc675f75d35b944ac35fa54d9371e30d84f35b34c26c2698638eb150","d3d4d97048d847b4b516c53a6952b018f414dc5ee2e99332686fdd81d26c79c5","e88ac2a8e9498d81ce4a890afe13fa13f98abef3b1468d4197e59a91f984dbaa","f8a5876eac42a90e44a454548bd825ec09ba02b3b80a808316e584790b2ffe9b",{"version":"977e6381f5849c9826f2f99b60ced61e69475c6f74bb7ad5393a6a3dc4fbc5d1","signature":"9cc71bc66142b36e32cebef9d5ca8552a82e5793de8e4f210bde9cc974d6cd5b"},{"version":"b0033f9eefb0baf5dbc858b8048af818cdba298028939af87d5b81fca0319fe0","signature":"405db36e85dfa4263faed723e699f581954d62ee93d9bf89f930ba64d3dd4871"},{"version":"6637264d27e7ac005b6f4f5e87c97eb2f567b6b2944344138a4dc62d630959d1","signature":"a2b4221fbd96fbe9ea79d5c841fd46f89e48b0da6d3ff8eab7401c188c9fc4f1"},"d6e6e2c9521c16a6608f9bc3c6e763debf22b91abfca236d082a77bee4ee1c89","a27693132fa1c1a39373cc82b7c16c6c91cdc6061f9bc196dd49015a526e74d1","fceab329dc8cdf94f35628d3eb3b151b5756f6ca71e489da9865c6d2d91e204c","af3fd264fec0b39d30bf444addd3f6494e4e050d27215e8f1719f5fabcbc006e",{"version":"8da74fb7999512feae7a8e07031a698bbafd64480a8ef3b8141d216bd56ba101","signature":"a825e8126058fb859714d24493c200d28317ac5b9492c24d60f8308da6df04a6"},{"version":"2423dfdd93dafaf91ae16c60f9169b0a6f0dca601b1e11c2c094d8a6094f4fac","signature":"1d580ff6f5d46a4e010cd94bfc6aa9bd80c9a1d9743b6a966884fd81a95e7e99"},{"version":"774d586d74ddace30588446a744ac63fc496f5c31ed69447264288931937b70c","signature":"4f65846a90b490f85e45976646b108b0883676d77dede937877f889accdc3d5a"},{"version":"42c05b5a162bb19dda8fd79b7b32d020f2b5cd7f7027122dcefd09cff6b9f046","signature":"07a7627f719cd3b6cd24ef576a2a36c01714788951092fa76fd197dc3029d573"},"92872a421eb53c6f754addf5ae3a9819e95e4b7fe76d768466fdb8268ab877aa",{"version":"4592a5978622ac9c71a8241a73f910c15846e6f9fdd6eed93c3892279c3beee0","signature":"8e4f450bfa854cfe18d043cc0b71f4c94f3c86c5062bb30aea96c03e879d14b2"},{"version":"6b183b402591930341533d6f3485c7e44ceba37297cb5e5e8c23e5bb18ddfdfb","signature":"bccbd729c57ca4567f2523ea282ddef82107f1efb1a6a14a696d71d52ec973fb"},{"version":"f0301ff3e956ab52f7838f7c6c72c08b4a1ccb21a3748ccd61ce33b9478958a7","signature":"8dce511e3fc725b919268d3175bc1e2298d2e9fa82bb1baeb41a0f984f6e3939"},"7b8d800b870fcdcccd0adb2363194d54a889dd4f1e4ab10eb4e41f27eb7f0035","9acc1dfccd0b35d36e8d132998ae609181083337e9a873c0e32aabe78bbbacdf",{"version":"12c176c13679bbd7ed7f014d76f6f096ace9e627544aaccb70efd28e478e5eef","signature":"94756a69c7350679d78141397f077c1038172306e7141621290701655dd27a3c"},{"version":"18671f6c520e9ae73c6bd89d514412424e23d3399a3d65f5117569b494f955d9","signature":"5a436f5eb06245f7b8ba259964b9e1a32c0909dd6942c16960a0ff1903a83218"},"332d70518af780bb172ef3ed1e5245f83064e2f3b275cf4b538eb0cc6c282836","d06ec51526318d13c1b9a82c93576da74eff087f47d5dc70022a95d0ae726277","f9740688b8b43e605d4f754dcfc84b6103663672456578b9555f4cbe584e20ea","bb7d948b7602afae4f4dba17cf1536a7f1364a06a15457ecf20479f28df4c02f",{"version":"2ebedc3691d9375cc7188511eaf60a01dbaa1f769d72e3fdd6809dc3bec3bfdc","signature":"038dc4cb52e78e0d824db25df0ce0ba2c6569626ce4f2e163d69eafdf62eb1a5"},{"version":"2d98307a56bb5ddacf3fc8d3f1e311b565495cea0f5cd3f4c6a1b51661119350","signature":"917bd78df18d49a0525a73cfb8cbf6e0f48f1f810beb040bc9e424cc6b2a69be"},{"version":"8fe1309e3b0d064e9bdc18bafb65bbafc19f2fe730f9a976400a8893dbdd7803","signature":"08c6b2f18d61be63c7cf26274be6d2f39da176f2656d0fe9d93c83f119c11a23"},{"version":"af90c9ace1cb6af0e7733b8c9267f66b495a296748a6623bcb55116ff9b8c60d","signature":"dfe1746eed3199b7198f90a330e6a9d7a39e0f32ca52fcf7dc69d5fdc29f6806"},{"version":"f2f321e35ab2a9b9207039a9a01104c7e851fb84e8b3268bff19529030b5698e","signature":"1c17d366bc38ebfa4379ccec96186084d08b8a2918f6a1f5d9d9ab3aa11ce8d8"},{"version":"3d21957b8a97e2cb86e81224f792159b3f1cfa6388ebe02f9b19b4ae2f58a07a","signature":"b5bd9ef8ecd7a2928d8f769bc97b4e969c3bdba13dcd90a85a22d4a32c04ae38"},{"version":"8026a354df2393b2ba110fa08672181ab1d82e52a7efb2df9fc892a9dcd05a73","signature":"507ed41b8ae3e9d0626ef4f6245bafd193181af5d35a86114c86d602384d1de0"},{"version":"fd77a6bfe071c353ca854c8de8ff4d3eadd767eac442e2acd36f60db5ada3634","signature":"bcb08eeed1b078b913c3641e054099cad1d3aab18574639c5d2fd6e0bd1315d2"},{"version":"a997b6ff41865cb9b2cf2fc9b79626f55055862b034db5dfed2359a4f86630e2","signature":"db648b9ec3411fde9f423c021155a6e04ea49b2523ef3de334f584adfb0c4fb7"},{"version":"5a9865caceb1cebcfe55e15b1f93974fc4590fa6dc68cd12a1879410b4a017db","signature":"cc4e28b3a3b367d6387ad6e8cdef7d19c00d9b9b1090bd5257278e8a08522635"},{"version":"ff4faddc93a844492e02097b95efe32b156f66a53acfe33f22981ba256d5f26d","signature":"761cd76691658c1771994f90041d1b5bff2e3130c2a90439a4d871f6e9e94527"},{"version":"78105719635b2e5c25b29b2646861b37a3aedbbbc143e7568d15a94151349a8e","signature":"4fd7830773b159f4c7a23b749d86e9ad826ec2f766086151e1ed77f217355d0d"},{"version":"34a747351f0be8c68e2131afd880e2b7710611275a9ed0877763511d1b483ef8","signature":"12abe5c726bcc814a8ceb2d10e8d5fa18c23b706b18e427213c205a3ab473a94"},{"version":"2701c811035dd9a0772b8c62d69c09f1e8dbbb53ccd90a1fa3d74cb21a50bf38","signature":"57c477738f80fec1bc9a8ce9740f2bedb9ee092570502af605a7c43942454e59"},{"version":"05d78286952daa86a448b5ff9d99b0bfc012ba0460f3f3c3261d631978db9905","signature":"79984e616df80d341f65d2f7ec2318b09974ea3fead5e10927ec370cb6df21ee"},{"version":"bb21f9c10ce7f5142c4e90016b49236e40049c078ff02617c395577f60b15d71","signature":"933d0376d68888aff966179d4f8a6f1b62ae856849b76ebf6c5d0412e0b5f46a"},{"version":"20df82aa3682c5b564e8c3c9772d4f3675c1656fbd56f03372454b8063800feb","signature":"23ad5e8a3f673710de0e6989cd52c87e9537da6fb43ccdb168ebd9b86ac8493e"},"e6d7176222a007b1e04074018196396c56f06e1ca62e70a7af72d43cecde3a53",{"version":"ed8a37256843a2c05c21682916a8e6e59ac9ab79eb6eab75d5249bda46a81bff","signature":"a517dd51f66abf88cd440f87c44f9be5449dc052527b74fb82d0c974f9b31784"},{"version":"1fece898234629bc6151cdb3db61bf517ae38aa5b55a28ebfa951ed911047b50","signature":"0d11ec476ce6b22f9775ac57973b46953bacdb84d7a4988a71a04ad84954f35c"},{"version":"e25049d6e7a8b3a667217d1e9616f98f5312b7b3919865d56510977fe87a16de","signature":"2be33a36bd2cc1e872011176272904e5661d3c1443fdadeea8a8d663bd1bb390"},{"version":"50705bc382c3c7da4f22eba69e9fda50c26ec43366ddc8144400a4839d075f9a","signature":"4c93df3818cdca080e5c6062a8e84785216697c8b2d1b5e7e8749962053f1ac9"},{"version":"ded1aba68a3fe4fdcdba337780c0314dbebf6983c904a0a8624e4a4dac0ce68d","signature":"8683f55369c0872a563b5221452e725df1f9db546af3148058bd694a19d7260e"},{"version":"3466c61898bcf9cd0dcb78ad99cea1759012eb5e921ab3ae7a21d1a048c9413c","signature":"a6fec6bc505eab3e3fb006ce55a65120003e9b7cd840b4843f7684a4ec19b55e"},{"version":"c912cb035d9504aae9bbebc06073dd905a189150de21731a069881b1453ee7f1","signature":"b3d40b7a516edc48fa01eae34b0fe392dc023252a3f6fe2bc01a50caabdceab9"},"6fd3801493a58527b63c722e5a0055f13b2c5da1c0d519336cadc2870c50e92c","65404308be5394c6da4366b594ded1998c53be66bb0c2ec5a51bcbf8a4f5e78e",{"version":"e9d7ee9eea2459ac27738c7b4ee38ab8b4eed5ea71ab2b8d4508d56efc4ce50c","signature":"3b16a8989321d5e0e23ece47bacf416e4096b4d087beffef2051f79a396355e4"},{"version":"b29b2bc1baa68739e31ff9bc8e0140a6dc25fb607bac114aa89849a38ca0e8a2","signature":"fe59de708eb731ef4879656e8bd768728bcfc2427dad27274972074d4a83beec"},{"version":"96bc7330cd09ae8e952087169cd40573bb17e816dbfd0f15f9d72c453ab04cf7","signature":"320ff1f845223d5f0810dac313ee8e7ed643da34eddb7d3e3a989e73574c3826"},{"version":"bcd1390e35a8b9a370dac90e6235aace9693cc5db70116e34eb6537c819902b9","signature":"19753691c63a15d0e5e793dbb41e96c881e15cff912cba054542be0324696458"},{"version":"f8fc11ae072bf2742573b1ad096f564c973f58d2fb4de686f147d067dbad9fe1","signature":"ee8f13e3f7e8c7ee8b38b254edd1455b1b9f50d27f9f702166ffc79b01590d4e"},{"version":"addc78a9f46300147d86ac954d88bdb53ab1805ac136877c016e255fdcb8fe52","signature":"49baa354dea7b01a26eea9be1d64f4ef312fb66cefbc03467a2082c6a9870f04"},{"version":"0ca82b8d984d583dda6689d037ea75f1781e1fb67deba2475041d2e4be1c59f9","signature":"df49409ac1685158a79b35ce5ae8a4fe48722bcb7b6891c14646f0922a856b97"},{"version":"46090ce9c355a7b43a8c4dc07d94b330cb0938c1e6e002817aa127111c25d395","signature":"41177be87b9602ba6dae0c95c7274c10618770efbc6d362dda82e16ca0c50382"},{"version":"9d5e4c9c30203d1bb06ebf38b86ddc24517c15caa027eea69ce241f3904e975c","signature":"106abfd000d6103b89247640170ae23690ee2420057f69636edfd027551ac792"},{"version":"e4181798ba26217504af89bd22d73a5e34140f94993c724f4243d64a1b84b911","signature":"4e9bb7eda2d6c8e291ed43cc657a1fcc60371c3b865b2bbf47d0728828bffd84"},{"version":"89c9b81704acc3ff3f39b3aaf3fc769d57b9c1694adaee7220f0bcfc5e2f2954","signature":"ad81f8948589d9b435b27a9369a9a8c03d3e1bc919921a7c076b82591244946c"},{"version":"27641f5606363eff1106bd9d484fbf54347975e309500faf369cc55644d65b56","signature":"8c9bd0fcbfeb1753fb5c6e3a43f597b71a07b578b4d132b3f18ccb2a49b71495"},{"version":"ddf6f5d8cf208a75b811f2b9a7be93f4c761e91d83d2a557159b43c82f1d05a3","signature":"c677ac0acf1340ba381fcaf6733608d52975456f2cfe194fb07e4518d4e4c27d"},{"version":"3db9505499c07a6a95bf52e47f3e5f7aab873e1b24a94e775be58ea3f426ac4f","signature":"d3cf482634689014b34eac6daad7dcdadb6d2f1604bdf57977e0c1e8eff686fb"},"4ed333d57ff8b6bea0c2e87225b2632087ef8fd6a3d2381dc67990c8d035f987",{"version":"94da258f0b69b21f905e537c953a3a0b7effd4a61f3e9890b55fc01d4ba0c64c","signature":"a42ad046657368e34410b3cd44e1a2f966c1cc141cdf79032c1ef0b2b89192cd"},{"version":"4416790b4bd5dc60faba074c5ab9584f24c88e1cad49100f117809d8c513d5d9","signature":"21aeba1bb953320c300cc48b62e936574b6213f72f1c73376a08341bfa2bda2b"},{"version":"65105d9834e3cb4ee24f8d23156cfe1b846cdb212d1ad81215f7dbd97f3dc103","signature":"594dd2b99451d70d54d49294a0d05cde72020c4b4e47bd5730da677eb08bd6c1"},{"version":"aad87cb3b6461b726935261ddf9e6cdcf8f4b9e7021584d41731166f32c11a38","signature":"d8f73d2c79187b6699222c9393e9fc41c95b21e290f2bf2b241c633a005b9403"},{"version":"be7c9ef4984d311de7b614f3e9d9eb174c069038e5fd55492af386b0ada7a80e","signature":"05797da51f825350691bc0b1136314fbb67f78ee5cedaa4ad01ee7f527492672"},{"version":"7ce018e202456f471cf411abd2dead754c478c0cbf78c462bf180041079a2a0d","signature":"a850507c9d6ef0747c366652337c35b1a4f98363e1290f1f4096c851626bc9da"},"b1591c6f291da1a1d7e1cc5fa57fc0d4c85dc9189110d9c1b7828c475dba1933",{"version":"e3ac43c23c412e0069421d180be7bb62e906d7b8feb4a22ef89ed8584b27027c","signature":"1ea080724e918747afb1de2625ad1b4fa0b8d32eb8e7879d351166f0b2a14edf"},{"version":"32780ecfc010e46e844d29e3fac6565b6c7ac01f183ef48fd6c7b6d48527c101","signature":"4301613f5a5d65ddecb2f3ad6a2591f3fdfc8f9dc0f80679ec7f4b051793bba0"},{"version":"28524d6f59fa6912523b299f748abfb6765e1242947e708007ba0efde9e92553","signature":"93a8dd71e3dd0a32fa0672f38d47c642b5f7b903deadc0100d16c53ee46656b6"},{"version":"180c48987d5bda19e1077ad0f6f064380c81452b2170ef16a489552858e90b14","signature":"d18bcc4fd4c9ea04c0ef5a27288b841bb5be0551bd661cd1feba762f276de6e9","affectsGlobalScope":true},"657a48cc2fb0b25e6dd9884fa1a807c894f42c8dd4741c8687ae40571d5fbb32",{"version":"f2449cf43180fc18240f51f0f520a90ea978b0bbf12fefff027958e88d8a51ee","signature":"13aff7000e6383ed5c02c3f46fb54dd15950d1691e1dd6018dcdea3ad5e3cb6b"},{"version":"e4cc071d25a1579b2ffc306e25001f7d34fe25d0cf782d359fe1d2a7edcfe2ac","signature":"7082e479404c6f8125885ce924c09fec1a3ac6e37785d9ee7ae13c5b2a41f155"},"82774b9aa90fb12af4d64f7dc56fc32e637357bb4539cc20cd80cfd2e3a6cc42",{"version":"f835585a64b0aa1193d7ac2b8192147c6e1c0133166cfff99f10e91ccb0dd999","signature":"f7829bb1b2554ba595637d94f9d9f2edc642794a603416fba571864c568ee4df"},{"version":"743225e8d6195dc4de03ec194f5802120b3e46dfa0a8f48f8f823c8338ff9cd3","signature":"d01a4fbf118c7d8b26a3d234aee7e191fc404108a9ae0a6dd1486f4a9ba18875"},{"version":"6893d2c7d35176765d2fcd6245e5701383ce113019fb55986bc1e711c0bd6c1b","signature":"8c5f8e0c08cca12465c3b4cc41d79b324158aec5cd60f5186ddbacaec8971230"},"f301739721d050f29a84d549e310e42afbe74081344980b8a1800ca9476162bf",{"version":"669e854108126d21b42e82eba1491ead7a1a603348d2dc2e0e5c2d7d093d6617","signature":"53750618554972cd258a0778fa74b8d8bf9500fab2a37f1fc5e9949c6adb134c"},{"version":"0c4f67ad7a5fb2d0131b4d107a692386688e721b02c2ef65b9b1ecdf8161402c","signature":"477379a5cf35844f64189f05e863547264bde7c86d928c370c8ebc204132187c"},"ee0b61842b96bff58ea91218a156312da366c7ebbe5044581217993474852a36",{"version":"df55c0a788619ea883bff49d77b617a6493c62e33218905bd9c3d54794562357","signature":"866d2b44f0da6862470305e81046aa6e7149a58dc19b03526f494a03f7a1a00d"},{"version":"0fc07adb0086e8e8feb2a5a716e50ee0d9c4541c35b3e843fe37f5368f2edc03","signature":"7d5af243485a9e6328564a74eb23482d3c876a3c4cc888e0aaef1a4740ba205a"},{"version":"cceb0eade9c8ca70d6472cc0408f35bc79408285b3c4122f5649b1a76707066b","signature":"6dd50d5d3e9baf88c04c4d718c0d44cd8fbdca4ffabc3f3762cab7ccd34de210"},"a5037ce6e0644ff3f4968f0ecf4be1b3c78a9b1dd62f30d4e701cde4c7b5ea9f",{"version":"c1cc5826c1f71f931e94e34dc56f0de322b7e828ce0a2ea9dc9e65ef4d805efb","signature":"d099c86e4fcfa677b2fc45ef0d7a95e8fcbff4ce131f6ae5ea430224a16b03e9"},{"version":"08dfda58011a22121283fd9097377aa07f76be2e050c4ff455e8c67aef1c62f1","signature":"eed751dcf7d7a55eae98bcd10dd1634e42fdcb165f0e4dc1b493afe321d64097"},{"version":"165bdae8db3f9ebb2a214a9bae1957c73fc9d77bcf57346a8cc4b455154064a1","signature":"1ca9d4a75a87baf939b6a479b7bcd5a2792bc87875c52fc34e20889997436635"},{"version":"785ee36dd87f0c336aa5173f02a39ac2cc74b56df8939be9204c5979624926b0","signature":"93b8cea3a71d6ad754b44e599c3cb669ef181a37af871c206bab078ae4918ebf"},{"version":"9d44159939ba8ef032edca94b4ad3b14067adffffe5eb1ba35f5a8b63cd41aea","signature":"57270b3a6028d695eb8047f0283e0f40624d69b2eda03ceb72e9b2159cd30cdf"},{"version":"763b9b49066c955aee144264afdceacf143d825eaa01e68bd115234782e10eac","signature":"167158b086edb05e178474ed0c38aa5a8e34ecac83ebd9842df6867e336ee435"},{"version":"8b6e91a733879f3687ba03eafe9bac489dae55a1976e39ca54f0564eaaeb5552","signature":"39bb3e09f7152e59a218f8eac2260483ead0e0436e3499dfd79cf4936a2cbdda"},"daa11741aecc1d837664b378514257edd7e17daf173739a01bec28b72d1bfd7f","bda846c239368e8c7a449bbe9ae26906c2e03a991c119e3d9f7114b0db69bb8e",{"version":"718614c896013294fa0de7a3605d799444911af7e134333a9eaaba90c9f0ff80","signature":"3752d2edab77bd1c396b9c9ed6ac520b30b4c582598df4c6652cfda986c8201d"},{"version":"728ddd70e43de10345f9004c7f8ad9d30dcc59f5b29ca3a22963ad4125f27112","signature":"c64c162dac61a7aad0ff3fe139dba8b07f2196e3272d24b93b61a85ac99e776e"},{"version":"ae36e28325da2d1c03ef0895de7329449aa6614a7d37314fbd6026d56155a1a5","signature":"1e5d7ae425d6e9fecb2e750938f49f95bc05924262f444b3224a18c732e5ac1f"},{"version":"0e1c77021e928913e5d7de9f7c502bcb1fc592141e36329d0b329334444ea1ea","signature":"46199839734edf0e39717e53717ceed73f97599fde0d5415a515e3f877a0b9c5"},{"version":"4a83c91c55456a5e167c4bc5c015a2107bedcac6f2a6f449744fa301bc16a419","signature":"0154f9a1cf9a1992fb0d165ed4575f36b444276e018a773beb9d93462cfa494c"},{"version":"b4d732e8f0d1f0d52c00161ba2a743df7dca8be79799305a0d12f6d623c62752","signature":"88abd4fa21a51b946f7fc1369ccf22f8f7e1d80453ada7c59ecd9af7371c5ece"},{"version":"60e3b8f209674bdb7911238eb16834b780d1654ca8ed37a58e811027b46793df","signature":"828c6de9c72007a3089ff9b9dec59177e5c5c7014015d081eeff2f33a79678b1"},{"version":"d96c6a9aeec0d005b00fe68fd1f8f12e443c4cc59c0bcfeb4010df0929c80308","signature":"7885f4d59307c95ae739d80e01a399a3cc218c5cfb1e05a9da50560c351ba1f6"},"c0d15854bd743e8219db33c5fd756d6d01aaf8388a9ff8e345e98c4f0557f255",{"version":"53a9f38ead58912e453de10f7a4ad659b4a40d37e2a4d2806858c806001e1d41","signature":"e00ebde1a5c4740cab02ea2be813a15068067b87b33bb00a51e67cd9fb64bcac"},{"version":"0ef8f7309b84fae6d8146a0bb9d7df7edcea12b3e6160ca4dca56b7f6f274a02","signature":"7bfbc92f28d05fbfcc3beffa5a44b6cdbca038c0b8c879b094073d2e605a4537"},{"version":"959e1234539135a97560befaf35575488ae35075c0599961ea2084ace1ea718c","signature":"5eebb468f3bad3b1849e3e29594ef2b3d4b8c03d163ffbdab63e2f0f912335d6"},"3f9653aa367daef33499b26ae5055e6e5fc4d097b63502b324ca5e0f8d52c15a","2c146dcabf7d7b456fe95feeeee4c27a0516512121707e2bd9fac59dc34ecc8a","9aee79c055b4423f7cb5c745c9b0041bd16e5e6a5be9426f634078aeb07f145c",{"version":"a5900c1098c16f18478899b08797e3534c99c706fa29f833eb3adac156086913","signature":"d286da1bf2a8746e62cba92d6519be2d7613eaf851b34ec7d59237aa0dc2016a"},"deac79a2b93daceadb5ceb974e02de70cfab540cdb8261c9aa22cf2ea4d236a1",{"version":"2561becfac266752fdc1b8d05a458df7d1ac57f1239f7e9b8323df12dbdea852","signature":"df0c10b82869089b5e451e7b38f75782ce64f635d12786b1259f8979273a8f90"},{"version":"3b4ac29151ef77e075662f143ea8c82efec626d835f0011e5439509e3e61122e","signature":"9d782638e5eb22f3a4389b2287c510ed5e2ae5e9b21d21d52abda8c8242c9fac"},{"version":"583ca9cefb4e071505ba45d4ddb591e9b4b61605e13bd8df660b2349e1a90f70","signature":"7e230fe6ac5e993594f894edb335b3505c612122274f82a329c805a3a5d99e62"},"538b266b2f094c01a6c3ae3927db50231d23e8ae0be14c2eec5c4d94ca5c5d75","9803c2fce9ba14727526fce8e0135b439c0df9e7af6837cb0c6167356df16c8b","ac3e83486eeeebef796dd7ec2ef4353d3d024ceda78ce2fd8eb68ce6b8c0c542","1b20036b1b11bbda138c7c5a17233783e8a758708201e1601ae724adc9aa1296",{"version":"dd93c70742aa455b9d9fdac14d2e45e52c107f4bd46ff68e54d2ab00c5b5b208","signature":"fb3a16b0bc67492104798914175e95de475c6b7285da56ce811f1963d6b37864"},{"version":"7e0e5a8e7124613f812b78298bc5b1365a5f8c1571cf4e4fc67742ef3f7678f3","signature":"e6588912c51f370e10b393465c6a61a05c1f4265e545c34782072eb9039dc97a"},{"version":"e2369f46bdad851a0be9aafcb6bb59a95fc542c9c3361b12915d92b221296ef5","signature":"6c5acc5707b51209bf9594baed0a41c5a399659bf7e33df43355d2bd4cbc5558"},{"version":"e7e67b217b8af5b9d4818f1b067b831cb97105d21b30605c0ffbf9e44fd40d04","signature":"96d559cba68cd375b8f33d7d99159ab739b793e371b89a475594533d81d0a274"},{"version":"dbbc73010b0c54cdabd547ec196ad7a0e6f8ce7935f76072072411fbfd31d651","signature":"8c537215b75564a44f03431979535c0201dfb4b79ce3c561f8f6144984d1173c"},"224e40202b9e0ca82599a10bc992500d0ed1c06228ee3d1587cc5edbe68983d2","17b05c5486114937ec69df6033b4c6a77db91e91e41bbfbdae14ea3f65a0bc9d","d9ae07ee0aed0711ee1a98f902c1f24171e5c6d6b4f8097667bc4c030bcfd43d",{"version":"23eb01d92413e643b5037b2572617c338537a1796577bc04e7983691db75cc40","signature":"3de6f77eda4a3db3fbf2162d69f965e233bba2110d7ff044709c4830276c02a8"},"f3e92df35454aaa1cb69294c53525649d64bf4b8ae3de7fa9baee5e373826911","b846cd3187f4fa92574194a6887d34b3e765c45165bdae0b6e5b3b99bd56a4ae",{"version":"47bd2d8007b3e2fa0c28a6ba4b702c10929265dec691c0ff77f16e6f6fe2f000","signature":"e128920048a26d9babf545f1ac8a13de8b1ec95139e785d575e17fdd198df57f"},{"version":"ef043880f17695ae530d723e7059241016bab15e6857a19e6e8e55c6bf7d19e3","signature":"17927d79ec4e7f35bede69933657a50934d2b1d63b0dcf2f63794cd506632aa4"},{"version":"0fb0b0064d25590a79d15dbd91345fed84fc5b9c1dde02494c3d847ba494e043","signature":"38425c00861f2ed7634258d82a13499be0dbbd41011698b6411dd2b795cfe9cc"},{"version":"76e5f0cc7ad873f950dd52b30e6c6c207dc2830e3041db6a05533128ad8e0122","signature":"c1ded715aab735024d3ff042451bd4c2f03af234fc66e3305ada29e00f14b1d9"},"abe6cdc42849a9fc5006c52b46e27ff35872865e65e7e1afe430fa30b5642763","9ddc04cedde691844195f90bc6612c817cfaf9ce8f336d6e925a60f1ea007f1a","23b92d25c2280601b1e6a9136bf093352e486154840e6ceadd479d582ab7f18d","f64305e22ac57ed5fb2aa957d178968df1ef210cb48c794ab7f04d35f1a8bdd8","b27787ca848062323ab270425b7b390c69e67dedbf0c38f3a9f829d299dbc37d",{"version":"0ad0c8074cc66de55b0876142474fec6c2da05b148540560a33498dfab4889a2","signature":"8ce11afaad39ff4015d5b72b25d12e70849fee40b3863ebd47f12d6033469ce0"},"fe2127682035c2711ebdb2c2b2af1b4bfe30d880e279d0cd73bacb9c47e83662",{"version":"600a1ae14bc14d8cf0b86938ae523ded1c10f727829082266bc20716d4a27a22","signature":"968aa9bf7c8f47d252f705175f4ad2b94f890c66339f5d3880e3476baf3e7d8a"},"624b33913c18e5c99bb50163eee867ea1e62cd4c1088ecaa87a8b206b913785e",{"version":"7d7a953d1715d281e25e11eb1ad36ff6b0f5be16a10dc6cba41afc6010b0d673","signature":"298d3e2306beeb9f7f3886a980ba0c109ea8b84abb0cb6fe6aa5a427e0efa9e8"},{"version":"c80d697973fa6b228d73f4d3ebe6e69c22d802968bfae1622e6070e06ae48a64","signature":"ab1bb044fb0a26976b1bf7445812f94d9f241459142f7ab696396729fcdbbec4"},{"version":"5532349df1c73dc07484dab4d0951c2f21473e8cc65f9235bb50357ab766457a","signature":"4d14fd3ca580d6b75ff68d055bd459b77354cb9c32f9396a536d7ce19f4260b9"},{"version":"1e1ab0de9bc7b991958b6fa18dcc2282472884c3caadea1ead5c71f484ff079f","signature":"1313147a5d68859b27b47580f819e5bd0ceb9faf3a0c8b5a1688da530f506aa6"},{"version":"e04c3c1ca7c02065079d8421b787b8b301750fd8a427ee45e7466b744b4e92e8","signature":"00a5d6c26d3cc78bc168a6043994edc9fedbf0ca9e5b3c0beb04762f37084eac"},{"version":"5e7c3c3cb5ddd10b0295768124fca237b406e42379a8260894b575e25ff5c28e","signature":"ea424704b2f723cd9e11f72ca90dc2be6f67a1b81beb27004023e24c085ee095"},{"version":"634c6614e17b81d8012edf7bc517c9011a1f878e4f8e1ff32b9d7ec2cf104c01","signature":"ff92551e02d26b6c9460f40887176214dc8688a82aa9733dc72343636ee43016"},{"version":"4b2564a87a1bcbf798a5b63793a08b5afe9680ab96ab6a914e3408b3c2ff0aae","signature":"83f629147155e273e1e7c60f48c3c14456eeee440c7e22f29878d265c2822bd5"},{"version":"5d25d19566be288a3c975855548f91840f12695ebda4bf6bb8b4f2dc1894e8ab","signature":"138aa942a38403c1c39a4089f76ce8d74b553c7dcf89b8b3fb4856f515bf46dd"},{"version":"ff4060ab37f554e80711d11706cbdceb3e07b3d0e6c944a085a5d66e3ffdbec6","signature":"f1527646c02e95abef7faa2df76ef2fe78dbb63bd0e7b07e8d00ae279527e4ec"},{"version":"737cdc2213183d18a22c019a40d812848f4e3d268f790da2e4e4bf3be1c4b632","signature":"e4804483dbff1d0dec0b8050e399bdb8d2512d97a7c9319a11cd87366b309f5e"},{"version":"0fa3c6d821a4589c1c47cc66e8473233bf7733262bb594cd390887974185349a","signature":"0980d32396b46bab60380d106a59fbbbbe7f3ab24f5609b59806ed6544ebfe38"},{"version":"96bf849ddaca3e9364ca8684f614dc38ecc4b7a704de65b674a03e6525dc1867","signature":"4e2c5d7f734294f3f0c35070879a96de86032b1b4cc5aaeb436a3ebe1993e261"},{"version":"4f4ccf338caf93cefbb182f63f00b6925632640c17c11a9b2aef7a13255960ce","signature":"7b2c66e4419c229fb05d241345a53fe18393d5b4eeafafea1ecea1a620433be0"},{"version":"c31a932f2822a98a59c9c889bd8d32e9729b492d1eb94b9b3835073ac5e4a602","signature":"9655b94234e1f65b65ae3b72093d464327f655bcd0e5c70215e2eb1cfa46832f"},{"version":"27d9403f2e8d487926fa61e374edd0750ed86367b8515a76238a6eaa7e7f8c08","signature":"fe42c94af59e5f2ecc0f3178ec0339cbc7ebef502e5055df494b79660685e43b"},{"version":"91dc8598533149bf752a57e7a9a8edb18a57866c66689bb6cde9214ebf823ff9","signature":"88cf76589b4e88694883735a725b16efe497b013e0b73f34d3641e46e4c2e503"},{"version":"73191059c737bde0ffef1fd0cb046932af6133136297bdb9fe26be4c3e006886","signature":"208eeef787f9038a7a0caeaa5c3128989d814b3900c302a49e6117046e625692"},{"version":"687cdc39b829c0df1d6a6bca9bf55aa8f03f398deed8dcb866eee917a9e37049","signature":"8c31d45801c74757da7b2d63243b36f81b74460e082e3d5bbe666010e97d9d4e"},{"version":"261b7b6b0dd3f6e7a7ce522996f7b9107ef0780693a76776d247e0798c9e0fff","signature":"942918474d5d34ab2da3f3db2f93e939eb4a02f507d0c60386ed4ff31830f58c"},{"version":"283eaacd975126b013f0bef494dbfe647f9484a1ed6422e206f1c7df7e1b9585","signature":"387626bf078b93db53376ce6fca1fa2891546578dff3fea5901b6612d3eb24a2"},{"version":"04828eb6929b32edb3277cc4eeb861df4de8ef3941c3cd185b04f048719d6243","signature":"b746ab85c941658fc16bd613c67c7674fb8b37fe1c938d4e49c079bb3ee7e404"},{"version":"52bc4e661c93cea47f698b9aa50197e702ec83c7055f362b44450edbbb27be9f","signature":"ffcf60f1d27122b40917167fa18d30c16da3939bb8dfeff1f7fddd4cac284649"},{"version":"7da46210e2d355b881f98aac40d6857a12889a77021cc30ed56b69d14005637d","signature":"cbacfc80589a49203c58943d032af9344caf83c74f7ab8b4fa38a4be29294a19"},{"version":"d42f44ea036dcdd5770c9e5805d0c0b946cbd8c3232730152aff54b5231857dc","signature":"4651ade16932e48023149580fa56d13bcc06fcc7f8eb0be3a658188f66fca51f"},{"version":"20d4b5159aad7f301845342edae5e1b18d3f1f145c5bfc6743ab9314e4996588","signature":"8a133165c94e27cb8ee36aecec60c20df1033aaf78230d3e1e7a4d22a1e7d0d1"},{"version":"ea66d8892c5690a3c92d691c8f0469a339afcaa5fa844a5b1fdce76274aa6d95","signature":"cd5aaa4f35129276ac904418bf1494b0859af561c428999c0d11db09ed020d16"},{"version":"df17cbf18bde4e128ab7f057a1cff4f0e1cabcbf3b121ccc8f64da196e648fd8","signature":"a96a82d6dc04c14ffe6ddcd363f68d4f10b1822cc09f69b1f9a657f0ee9874bc"},{"version":"851f8f6b020d057f0d63b86bdaec7da3e037a0cf3b772fcf5d3b4ff69a25da2b","signature":"591623d278a80ebe089d99cfc542876428b6bd02a41440ac27e4e1dc211ab1de"},{"version":"a3c7b37e37e82a6c7526a79d4a72eafa05f6a94c617fe59a40e6fdea5d98ec11","signature":"8ca385bf39ae472e4f5f7de0fdc4e770266f87194f2de77f3e19c25ede167788"},{"version":"f1128bcc97945cf11c8352c5575112253fc54e22c94301e000c72525ca7a821b","signature":"30e24b7e264663ef3fed47072d24ab462dabd8aef8dc25b962756b92c54b4539"},{"version":"0e6d1582f5ec9f19c9f6b4fc0d33126c331098f5ceece4305a2a3731a90e812a","signature":"9561e693f194052edbd071dee76e268630c200940db8f41d951f538ae4581922"},{"version":"38f43bfbee770d9efcb68949852454686cd8baafd53b19c3755617b77d446dba","signature":"5da636eae576e1d85a5e790a73244760e3379c20c8fc36fd3dca86954ebe9acb"},{"version":"59d5659df9cda5cc3169fc70296e4f40dd6a1ce33e3c748e9bd513830c44013b","signature":"50c60200afc94455e7d94bafe5b84d26e1218c0c93f706902b1027f45e8f9cb4"},{"version":"5003385fda69ce38bfa9364c5cf15141c79b485bd5ec60f6ba18bf016382b06d","signature":"6abf4c03e0baaffbd57c44aac848579da997ee8df51ba2dd8f9b3155f03f186b"},{"version":"c3c2690273fbecd23ad57e04e6782faa20533be0189dbe3d62e7b5b6b3056098","signature":"af3ce3e4ddb3ff17eb5d736ce1562b57da9ee6d67cbbdc35ab8616218eda5b9f"},{"version":"aad6cbc98ccccf71f75aaad7fcae522b75b427a43a91d78c90624b5a76b764b2","signature":"5ec45777414f936274481810c8b3cece0d6cbeb9c5150ff8def2e1f027b40964"},{"version":"917b538e045522e24dcdd17a9e2f274f646ef40144dc9dfcbc5b4a669dc92fc9","signature":"61f2f78ef2e94af3e8c2db0ac6300fce02dffdb09b5ffdb7e546e2183430af28"},{"version":"0bbfe8e014ba918658fae48cd3f05677490d39a5935500cbe7f9529dd720d121","signature":"e004d0a65c80addb4d2d73ba95eb6f2f815613d31448e9c8ec11868354a45c8b"},{"version":"4b36a4c2c4968db28b73f6f7ad2712db8022fd6c585afebaff0ffe8864071ef7","signature":"07b8331c6ed4abfdbea395ef51d17af68bc43af65edecc481391f5fd614a2ac2"},{"version":"7def0a70221fc3b031dfcf233650a80c041251701433707687023995baee3d79","signature":"b70042dc1c2842c4751f5b38898bd91b30e1322b57cb14226a47a6982e697eba"},{"version":"d1b1a9a5e7d3c740af8c97bbe85a02175bed002010d28b499a5dc3b5c0acf037","signature":"1b4a2666c62bc94be7d7e895cadf6b436892ec4e36012f73cf7d08581617edce"},{"version":"9ffea69fe2498f62a5274ec523fdaf6f4ceea4b500d62e8d3d2909e968742333","signature":"049f913723ed06832b662d9ef7fb200b86dd38bfaebb7c3f6d75b033af9acb72"},{"version":"18830da0127dfb4e77f094182479672cbd40d186e5006c81efbf09fbdca0e71e","signature":"3b16fb538e9dd4d5b0016e7ea154a50c4a86718556cb8a4bb78ee35f1c2bc386"},{"version":"d24b80a59bbc04e2b03f707eddaf0c605d7632ae1be08061b932ec4143f2bf4f","signature":"84881d555a6025570265face1d3f4621fb859672caccf10485161d473adb8e64"},"fd02386c1ea0d3438c665d5cad7378bd7b55175c55b36792bac077bf4bdce55e","3f00fedb75412ef4c0d166e35a72f2a382641c7ca506f77351b878449889662e","4fcb15670ade57aed2aba0059151a409c7b09183163cc20b875fd6ace91f9b20",{"version":"fee612a2b50681472d6fde8c312356619edbd6460bfaf7dff8abfcb798e6d3a3","signature":"4df91130ace34a640c03ff72595728f787f54ed04c7a23dd1fcffd182fab1599"},{"version":"44ebfd6e34d25ceddb44d1a0f0f18efc35df40c4cba9d542ff37fc6b439b0bf0","signature":"fefb45b0b3dd3515fe356b30343754902f29a158eb01aa9b67749ea4ba5fccbe"},"594d04fe27666c2f9184e0ce4562a615a8ecac377231c5c01e4bb2900a6217c0",{"version":"3bbfe8e9f2a52e0869c1a82da8f52cf6055c89a5e86dc277413e98588b1ad981","signature":"c5f4a8411ca89c36bc4dc6797cf0af91adde8a7d4f9bb68cc7ca2952f003b1ee"},"8364d9b0de4956f706f3f056cb67117e601c27653ca8828f04e18bd015e7a5ce",{"version":"2d5366f1be2a660ab72a084bd68ba257cb4fd5d25a716c273551b9ba8f1aa8d6","signature":"26126b18f32bd2088ba75b0d2227a7136dbca231f6fe816574f100965b70fd32"},{"version":"0c7228d6a87e6493b025bc76e92e1eb5cec58fedcb8b75a61ab43e8cde0abfd4","signature":"56f9ade5d43307fbb782b50bd168fc0eb42916d64852d0d94f7fcf35a94bac19"},{"version":"b130f4b622720cc34de5a2b6e91adb273850f3f8cd75b5b14fb81f0000ec66ce","signature":"ae859b9664f6b5418b146224d7e582b43b2185d1e47ba5ffe7cac5ebe43e9902","affectsGlobalScope":true},"e34c16415e480c9e95df35c695bc7b7d10649644cc257a6a1fb1dc725a52980a","335d44f2925bdefa37322f627b9405f2199b3c340478a3339042295b3c6e06b3","7a5bc981cbf4a73ac278e69f01102291aad486e5334650863fc56a5a9d49995a",{"version":"d971712130105e50ea375e29133e3ba2abb454ee351c878c45bbbf87bf000eb1","signature":"67617af2a1f74a0025cdeb24b2866a711cb55d7687ba4283ad8200b16874708e"},{"version":"b28d351d20b978642505976198ed4e6636404f778a1d269ab2b317004bbe33a2","signature":"c13b2110761d4b53985c68d6ba26a1da06128a6f6581886604433b6d8c219d70"},{"version":"0685ed0bbab2b791fa6f7307f4a23c6d5462a74d85b3d0ea737c1146b7c8cf6d","signature":"cedc462eda99acf01b2476377eaa8485bf53b290d1408e4616532a6f486adae1"},{"version":"e98d5cb53c2f27d9480f601e46424d0aad2425c1bab8db834152e9e9d9e7ff53","signature":"7fe040f9f107cfe333779d7cfbf5f0efe15cdfdb1b10ecc2f57ccdd6526cda23"},{"version":"744a19adf2ea5f2028f612ff34651d9747d2b3769163918640cc68a36997fa43","signature":"0d1256fbaafe18ef8895d3d8c6be4be998483bcb02811cf369d12540e47db57b"},{"version":"6ad05db84e7e88da70541f400bac001e5a05116e1d110a0b32e4147b90c00f0b","signature":"879cc3846bd5baa610ff23e3d5c65f51b8298fc952824805c883a42d5e3b81e6"},{"version":"5b4e8e669748f9448ff48334f29717f59b20fb14600b32b378574b208127c429","signature":"3e360a0a3b13dc20c95d0d11bb61c996236da6fbd9c93962cdf637798d8424f8"},{"version":"df2374dadb67c3c1382ffbe7981cc57cb1f43bfb12519b609faa7b083238489f","signature":"05c583c0e284ef10a6b89657b891a31a13d03350dfdae4d299aef9e90f7e908b"},{"version":"2cad9227532ea9ce3ddb7e0148f227fc78214d3aa81d538deae62cfb6870cfcf","signature":"b5ca447df9d72d99eb5a88d00536f2c1254a9ef73fbef2952981259fa0015055"},{"version":"6651e7c28cb6cb7621b0abb2776153d196f7f11f5f31fcabc4f65bcf88e0647b","signature":"a65d9dce8e21547fa088d6f9050e940836e3670eabdb4467b57cd60f2b31e862"},{"version":"927430a724a7ef0ddf76613f00219e19b3d734b0fa4c766d6ff8725f4761d214","signature":"90bc3cab2df32494e223de0fc028533a3d10e3752b8c5d68fd88dc9f266db72a"},{"version":"b5dc3e062296a6652db91903db3b2c550194413718fe8da82bf2eb1adda7e566","signature":"0d8b2c1f5e79d1dd25ac7a1e9e380c3f71799c257fd744bd6d080aa3ebb0f99a"},{"version":"07ff4f56b8219b8852637964a6b5392678086523f50d4caf4ba1b63f6b9ad4d5","signature":"4910d9d5b9447c7c8e23abaaa55d0deb1c3e08f96fbaca65cefb7e45b40b2010"},{"version":"0367e0e534f46426a954c8e44b2d72c5d2552a8763b3e4f0c7d3728b89dc0ef2","signature":"a86912045f104173c482ab0f6b5256828f01c26aab092329be358bcd1b196a75"},{"version":"68769cf47ca7c7ea82e487989130ae0710b92f792d2e78aa855e4f999f2caacd","signature":"4c79ecf9ba80bc1eb9054e0241a4101b57672b6da1619c4b66313452be5f620f"},{"version":"e57584f1984ac9ae229e963ac1a9ce325b7a6aa4b199158117f20c56d69619b5","signature":"e18e0ca17e5ebdc41faf4304d257a47cfcf65adbe393782a70b8cf8fd88cc2ae","affectsGlobalScope":true},{"version":"d75049d6766781384b7656d9dfe134cee80ce5308802045f6e63a2ee8c40bb2b","signature":"a1eac154e990137fc2ead0fa2efee1b83a23e745918ae70a4356a75a44489265"},{"version":"a53b2cdb9d9a6522621925fffaa65451544473e0f71085530271be953b8a863a","signature":"7e39a2d7dc2effac52b8d8a8f295038adcbd00b629223a2463c98a2c5e1794f3"},{"version":"0b071aa6e037933603357c4ccdbf408985d17aa22edfbbc4588132bb824ba419","signature":"a202aed7d5869f6abc6fa7d46cc4630759c9dcddea162c0582fad2c6df5e5ab3"},{"version":"b01d2597af5b6a65fb8b29f1a915faf4cc01f871ccfad7c557c46679f6ee5605","signature":"2d651b1427e8a1798086e20dd46590ca291058b1b8f876a44a16f2a89dbb242d"},{"version":"ab5234f5870efeec33fd4fe3ab6f12e6adc0c8cec077b0355cbb0672d20d629f","signature":"4873b19b937d108fea62a63786bd2e536d62c5193bdfd95268fca0572cf441f1"},{"version":"5627d427b2f89561bf8187e9593d70977a79fda6229f9149b195775c8d5cd8cb","signature":"2fb44949494ae575001a95555f4b0eee0f93bb935cd77a97ec57a2fcad1000d0"},{"version":"fd8e94457a9064736f09159969cdb9491aecd754722ea10b2e96891fe584d0e8","signature":"e710eff3e55071d962b6a430bfca5f15ffe96268072c369fab04a9edde9fcc16"},{"version":"00d60c36bae2313fdd53eabb7d3db44a7009ef0818fb0101a9a822e1a48a38df","signature":"f1d6b38227d7babc09975359fc892feb087d173446f4cd8be568278a09ff3474"},{"version":"089a0092f3c97f9a1fffe719da7441fb09f842f6a5c9cddafa0b896ce725e16c","signature":"2e112307417b82f5fe95015381d01b52b1147050cccf15737e785b523d0f764f"},{"version":"bfb0eb127d45c1f621bd07f1f9133c0d037c0905789a88ae934cd4a4357316c8","signature":"0009b7a0b4650d743209a134777aa1de10da98402ee1f8d9a3e6bf7b4ec32432"},{"version":"b24893fe991a85062bcbc9ea7fc026565dd4a3ab3e0f8e9d05580d2d4aa78035","signature":"15a313aa5ed968c83b1d51c92626ebeb6836a58bf6dd52b3547c1b7542ac7343"},{"version":"02a9445cbfecaadcdf4452af611b0b3be0888e1f5526bf22f3fbbbd447df2046","signature":"b93d79f9d63b2845be22ef9551bfdf98d0f4d567c5f2930cddae90142226e3f2"},{"version":"a964190161ecac8a040195c30c208c13f562d2c2c3786fb22d028aa8f255cec8","signature":"11df73b5cc9f10f099a4d9259964f2fb8435b27b277839069e649114a628dd4b"},{"version":"4d67dcd2efc85a9f0428770f7576b8d6c14711b856c330974385b54964e7fe0a","signature":"76419b412a40aa1a608581700c7a7d33ff3a520faefe24401c17a80da17aa61f"},{"version":"c019cf6b99c9fe3719d895425076ed2b60a7f73874ef739d2b1f893a1d8db364","signature":"5db5ce0e47b147d0d89520281fe0c6f99931657854a9d44adac543bcd6294606"},{"version":"5fec278a9813efafc7c131275666b2892b361d41426aa3f6120eb42c73c73aba","signature":"7b37fd6ac4506801740abf6650f7e4948a09604e8266b145be0184fd4e9bd402"},{"version":"7d1e7e398d7f0db72159e6ab30ac90987d3a3a65692ef31ddeec8be5d3032fad","signature":"72b5434253755d39e35cb49dc120c50c4d58dbaa7b324136ee880132131c678a"},{"version":"137885992f42d6161cc520b03c8aaaefa6f1ec9fc528e31a87a39be2cb71399e","signature":"13f6a4980262a8152d36c9f1c6e4b2fe44fc11fa9c96d61459e5c9d3ec4c2870"},{"version":"fc065fc3163aaa8b38604299aafaeb6a2fac8ab5418ccdb7568d97475ea94ec5","signature":"5458d747121f9cd9d916900340cbcfc5b134a961bced50961f4e936c46e9ed2c"},{"version":"318839aa6fbb62661b032dba06f2008764dd07c3c40f98c065bed448280aeabb","signature":"6960bba0334f7416d94a5cf7e05ea99dceac5457165a2aedba3a4c0c7d92257d"},{"version":"9bc449d85c93bc19f216eacdf883be3b8ac6e8424537a7e253ba5ec2b93ec9df","signature":"c9ada50699ee1de14136bcc2db45e22230f8fa2913d439777c3200cec6d55fdc"},{"version":"695598d948b78f79d1ed675d244693f58631fde6352b4ebca656780aa6c96358","signature":"f0727b8b648eca20349fe089a119e8421728b9dda3a74dcfb0e0cc12e24fbd19"},{"version":"f96ebb2db26ad60b0a73557db918d6aa79c87e8275b12532df03d2890aafe1ba","signature":"d275a9fddba3e7e8c05d3a663c09691361db0088cd0010d93fb1d8e4fd7e6814"},{"version":"1d6335631896f1a8266fc850881f03587b5b08eec031d5debc3f4edf97b1bfe5","signature":"af6d4076c422c1f66faf10038ea6ed3bc988ff19d447841045f6d8eb923ca440"},"561100fb40049bc0fa70465955908d0d4322ea2511e800b3aed4a29181dd825f",{"version":"c8cbd10810875949b4f477c850adb8e48b07c4c37ae57a91e0256fb96203784a","signature":"7e3d47141d698c20287ff9bbe6fee2b3d5c39db7178741b16ee52f106b981909"},{"version":"f32aa7dbe8d4626c65a99c7bb9b3e0175e8750538a34c229c6b06fc4a4e22e86","signature":"733199d11d5a71762a5baa35efee71d6e33011f3ae360e9c0559df089ce86153"},{"version":"8b066b9722e974a874cfbf11c4ee500e67c23019c190e7e8cec8c3058cea44c1","signature":"800b8ed8b1e9da41a51d47b71eb3c14fc6ade05ab2af37e771254c9e38325797"},{"version":"3d2cf5b989c5a05b0c5f93879d224c5e8d1ac3e1d489b706682bcb8436ea8e2a","signature":"2f7794a05370a6fd4bc3c6ad540c164eb27f155d4b1345b8aed2dc5e46176969"},{"version":"12630837f353143984b07d3f1592e402265eda44c34d15cbd56c996b36bc7be0","signature":"2015aa7d5b59da57d6595396b8ae771966c79da7e3fa2508488feeaf042eca2e"},"57c7d26fd9aa871f712f354196056b7415b2e0b0d5bc9f693ac2f7da90fc34af","16fd406dc18f5b1f7a25cd0b0a4e91a6e677bba7bb97210c61791010d9904c4c","1e7ac08e29dbf22553ee28c35d4c4c741bec63db368cfb466c5e7ffcb81ab788",{"version":"b18561bf33c4713072f9287dcd31128ae2e92171f65ea09429cede538213e8e8","signature":"bf1fd7525479f198099a970e36e3b40029ca3695e11bc57aed03a6ff8a4409d3"},{"version":"eef791e45d669805b2c6c67e123f132c1c76625738a7717d70f1fce8c353fb9f","signature":"2a48c42ad2f6237fa6acbdf2a3d1cd09ff2b645c2c8f0b00559269ccb5fb9ad4"},"8efe9e77046778c7f14efb89f5422fda5c673dd73e445ae73eb2d805262de4a4","cbede5144bc091b6e34611936273d79b77638a92c36903f3bb29cf3891724750",{"version":"fb65224e2be6f8559c45f152428a08ccfdeff6d12d44b881d7187d97f28f6476","signature":"f8d8c705d6a4ebc278ab0b1a135c69fabd6c103eaf71ab3f832167bb36b71b31"},{"version":"11d250cc866c7f8549472b373f4be683e0c586d4df5908dffb529e04269f6457","signature":"cc51d7274694d5ee5f7854833119c36489dd2ac7e16745a0e4248dcdf45c6546"},"ab06b5c29d7df2f45013ebc685e4d04ea5abe1c915390675236ea896bd0fa2c6","c5a204aff8cbb133c6319c0dfdd19964e55be3ac16f257bc7e567d94e7491d35","77a9ac736c708bcfffd81d7217232320693b4fcaaf5f3ed30478b7156d9597a1",{"version":"dc0a96a9f77fc748da6e021506855963d53f4104e1c6c98a14809e11b904214f","signature":"d124c72b8aab74d912642177ee91d8fbf3d11196857301c450925856ae18bdaa"},{"version":"ff00e1edcbb028ef4891176c4bf281b487141392be24fc1245371bdbe91ddabf","signature":"045a949f32efb203700ed9a4654b880eb3b3dc7c006feefac85143fd8355b21b"},{"version":"f218010cc5620ea7515b83f079b488f1c7e3dc34d53431a8c7a5008d11e95eba","signature":"56ae924976695fea6e3b8d6143370bc4399e16d73a2cc0fa92dec30771af1597"},"e31341df456b73602355da4862e474715e03cb13f8c7272f901bdc7634130b15","906a8dc0ae19ae9070e38da9e6b19b18da06a5326d29846224f8681689cfd075",{"version":"3f5a711ec09de6eff2c69c60950ad0c6d2b6821d8be0cf41796641f59d9003e5","signature":"c68fb5e145360900a73d2c5ef962aef012ac67923bac8bbbb18b8f1016ccdb9a"},{"version":"16809a4660eaf4a9ec3ca1d8efee144bdc4797d0a0b8a4e58004da3dd63ac258","signature":"df982fd047bb31a4476e028f4408042247d4974dab452ab463ecd2b8b98191a1"},"0cb4b04e9d7c992f2b0b1d8891761529847f82169181fc2fbaa74dc33c035214","307d00875ceb87450cfa8c2bc103438e7d1ee3d1fe51027c2b8b424bf766a164",{"version":"abc251b09c3c0303e1acba47cf8a610afea733d8232b3cc07d6acfaa964e2d04","signature":"f478620b6a462ba6f73b762b23feccbe6214ec4a57f22489b84288344ed9fe5d"},{"version":"453ba9f5ed770d2f5345bb2e7d9b95b62940418757f5bb7a6c0eda3568e52729","signature":"1538efa711b640039c0b2dd51c649556cce7bf6c0b2c17322e77c05d81a3732a"},"0df5a97d2567b8302c0c9aa887a6217f411eaad909683520cee75eee4fbc6668","0161370cceb34a2481cd6f9f315308d45231e0d3286ffd4c3f1f23ed645cfa5e","41ad445df8fe78edf131067fce248b2b0bcc63a46b952a27fdc1b01bd75b06b2",{"version":"ca5cd20d8eb16b0363b6ce2de02efc8a70d00c4fc35dbcc36ec90ffdd32d28e1","signature":"b54541a8d2bfd1c44eb19db18e041c3d2161afa2868bb67b07ada6e622210ed0"},{"version":"5d3e683ce0cc29e37b05c965dacbc9105a864eb0a84909a721e8f8967661c0b7","signature":"3bc300f44fbb23a71f4c1b7ac2c20b04e901092375a66a72af3d9577d22ff8e0"},{"version":"b5e7b6eca8181edebbfab50e8cb14e46070243e6a49147b8c19c20ed33175c83","signature":"d77a6195b582d52421e04e05e763bc5e59fc4ff169d5978ad02a7d60aa3a246c"},"a611b939c4951a42f23340d8f66459d5376926d1adc02663e84ad646aa271bac","c79a7ad35926c378b5f67bd9a25161f6c87fe44598d1fdb632c78b74d7ba9878",{"version":"59a5b87080c8125ba33f62514670f5a12ccc32ec0cb102137a6c40131934c527","signature":"6d0eb239b1352ec003d6be41b8c0894e30175cf96c9dd7c964d87be59199103a"},{"version":"6f45fda297fdd50ba7df9ae028e18a5e27bde0b15315998e6e4a6f15ade82094","signature":"96e92a6eec2f7d59b8a92ce96c4bc24df3bd4efc324a3e6cb86e849263ab6882"},{"version":"5e45112df6346893710ea787c131275cb1d370dc1df8a4379d26cbcb444b136b","signature":"782fd1cfe3b028088c5ce69e8874a69da3f338e6e663c645b986e307109f6b53"},"bfd6f27b8e34c25b213f680b7ab3305f8a39d89990d738b962cf8856162c1f99","2b5e9b9650d489c142c7a414cd5d628091669d5541ebb4b4aa8c7d1eedc5a101",{"version":"d12fba3e28ea6940725dc67cf32e46e9829b102fce397ac9017eb518c08148f6","signature":"ef1afef20a5829f934069c34c6aae77d6c8719d621b8bcec42c020386d365185"},{"version":"7835c8937570aa137848383a5c90733b47aaffddebf9f516bdc315216a528b40","signature":"fa16390c8d7304cd4b7d5782eea56bfe01544a0f130a0254cf0a5d923f1d4733"},{"version":"3853ff5328b6084e46bf68be50330c83fac701a9020523185f0e13209f5d8f82","signature":"556a45579ecb437943fba81889bed6601d208e3394b571a13369453e61661bca"},{"version":"8b0cc05ce2fb8d3629cc551dd25025e19478f00bba45a692b16476fdd37d5d65","signature":"cc57e3b6dcdfb9f644555e607bba90584a5a9ce91020d72b808f9eed7bf565df"},{"version":"1c3de7f6f57ff3af8814071e77bf6dee99c867281835d9b95602839a68491ae9","signature":"3a3a1094746425be5014acb5062498121cd1b7724ea745243c4f8ff0ed815ed1"},"41ff283c34adbb5f436fbe98097f44ccaa3975ff0590b804d72c48611c56872f",{"version":"ab9fbd34896f77a5d72bb20d09c3835a0fcb0c6477902ad65214dc44895eca51","signature":"ffb578e718c599e1fc1a60888f3406bbed0ef68bc79a1f1e4e30d132248f4ccb"},"23104359973a5840c52ad4a2799e1122d6b2eef4cd38fa578a84dedeced7e3c2",{"version":"2065397c56154de765dd7b9d50eaf617f1ad1ecf1dd81e545be5fdb08cd23f9d","signature":"6e41e6cbb1736d556ee235ab85bae0c9651717c9aed33375ef6fa96ddad777a5"},{"version":"7b51e7bd667501566f470b59d30c374f8de0efe8703bc7dba7883a9365dde152","signature":"91a277d8fdd4aa8b77f99a6bbeeca4aed73f26a7c564ee64ddf96e76a10f3f73"},{"version":"d6a3a47461cec58de2ab850253f747f34b82509c3cca09f074d64152078393ae","signature":"9eeba6f4b41e6a703f79b04ae7673158957306ce08a35bdadc2a6a4a4036697e"},"299d488c4dd118b1ab850accff80684816687a28672a5a758e2eb154f2f5e7dd",{"version":"cd6ef0c9cbd9800fe497497925965819a5c8b474e78d46ae50100a1dade6b722","signature":"a532891a76def2dc6e882c65ee1eb4d388c06b12bf05af2c643a517020e4d95b"},{"version":"9fb9d297b2fbb82fb5378a3d22898ce4e2bab191f397a2f2517c392949e06d94","signature":"dbb8250dfc6d121858cf744f2b41ae574cade8845680cce3a1d7295a2dbabeb1"},{"version":"1ef1a3fbc54007fcd0376ce0a677b77c851886b60a44eabf14ae8c1b46bf51e7","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},{"version":"aa8760ab58336e8edb539bfe5689098d354ecff68306b20c12dcf2996f465940","signature":"562dc61e99f40545e0c207136b2bb2a108bca68a6ec62e2ee08297233b277439"},"4f07a6479ed4bd3c307272667e26ca5c34e295e5a9c3c8deecacedda2cfc4005",{"version":"7e04f6ca3f30786f6d01f615c62117f91c65e8b07d1b444df3b29f7b23b45e51","signature":"6577c16830172a6a3d73791a3e56b841006cce026765a1e7afea4cd29b4a7848"},{"version":"e0d1611e44cae90c983b5d38f4ad93b68ccf130bfb2046c1c645388227b0971a","signature":"4ac66662572eabb46d6a9ad02635606d277d0651561ab4315bc4ad0c4a150347"},{"version":"a97b9238bb8ed712aa799730d18aef7c49697f2997efe7928ba8fef1d3df2efa","signature":"8fd5603a4458b8aae79baf274d3314aaa63118c10620b57c52b6853e2e399a60"},{"version":"9c5726411d5de2d5307c03f89a5bcc02b0284627a17a2fdb118df8b0e0e00557","signature":"616bcc683efc3a679a2e4363633041672f5d9060fa30f7c62092dc2b94371bb8"},{"version":"5f3e62899350c09ddca75caacd4e88848b9509fe44a3dfca2e2e84e76d1eccf5","signature":"ff52f59372c5a352a1e236a7596fa302f2601efe9b07f15b89cb3558d0ae0aa3"},{"version":"34707416ed0f6f7060fd3aa5067ab8543db7c119f4e37f1c60ee8d6c5f0b424a","signature":"44f25379af8c74b796b30793e226e7394c12a13d5fc432ff2d9e85382498de7c"},"35503c8854a284b187d86307b3dd0d111386ccc2e90a90e3d8dfaea9f2c1f260",{"version":"1f42c02fb16d84388c95311b64cef7ddfdffa30d2360ca2dcaa86fe9d2d56e96","signature":"77e94dbdfc20467d064e70db799e0ba30bf18461a842a6e0624e46636dca39d6"},"feb5a5a6a7430635c4624bd9f92df13e417f11dd3c94e3b5600c3d028d5ec430",{"version":"aea8a821694b8d215b74a7065a35f5b261d0e18d726f7e2d506e8070efed6511","signature":"2abf1d5907ecd1624b013489cca43193e68aaa68dd5a612e78b6668a90bd9d72"},{"version":"6cd2c1359506e18eb39495ada467105ac0ea81d8267c0bae824ce4d9298221b7","signature":"1241717fff8d3be90fab3207a7deb5ede67ca8c6b875375147561eb0a9342fd2"},{"version":"fd7a6352ba3e9119674072bff37e1fe4333c3dd1bf73e71d903e0b52a4a479cb","signature":"2b6be0bc705ded49c0799a4fefba78bf474b08b569bb4a610b2abd2e55d5184d"},{"version":"4f24468bbf2e0967a7124180c9848ef0ce1fa8d32152fe4559b8187cde2b251a","signature":"8d6ba569586fc17d44d7d79bfb112fb95bd274722ffe5653a15f8464e469c3d0"},{"version":"a9b10dc7327829d7a94982aaf32cedcbe5fbb5c96a59212de8d1ae775a1ea0f0","affectsGlobalScope":true},"0e807ffb23dae46dfa44f1c8975975c8c32d86d146a80f6fa284efaaf6c85028",{"version":"2583382b200d5e3c647bb6b74fda24af4d0d1d933215888a3fe2aa5a689004c2","signature":"5fee6906fac3674ac2a0d8f3ba6feb42b1a75c8bf3b1f859f5acd83da306b17f"},{"version":"44c27f623dafcba3a255c828dd0ae792f931a2e08756aab292c71c8f6caed4e0","signature":"668a2f9750cce08a3a6504986b0e190052307c676caaf8e7c7095475ecd7d6a9"},{"version":"d02f0cc7d0b8b5334f1588d29954128c6ffd51a12197f3cc1174fc28fb4942d6","signature":"f6c2ed60799a0b3468eb5f8d12083cea2f9d6ba6dc0dbc930babd062b15fca9d"},{"version":"1cd170fd0e84f6af8302b3fd24a0745932ff5dc3efa821ecdb295c85671414c4","signature":"2acb6666c4a83f647512e5b013a6f4656d4282a9661c3d12b5b80609d0342dc8"},"9ea2ee9766b84101d84c0e649a06ec277d0a8876ccd4c23a4c48feee73fe4f48",{"version":"562509b59dd84b5c61be9f0a1d5bad7a0cd63ec2ff458c016c12ee63768cf9c8","signature":"6afe1fddd5cd31eaa8e3af6a8369a7da853f9b729cdd409743eb162ef282c2ac"},{"version":"1f1df42850b729b92d17dd6f7f13fcbf184fadadb920227f8658544cba67438d","signature":"415e43e6d3ce29214230d64f49ec6a03e18f43f22bec0b3d38cdecd95a1ee44c"},{"version":"af7f532280bd7ed467a30d92212cab65d4e24369b342f5c57446d5b304bf118e","signature":"04bcd1a01f45e63c7ef75d909dc182543c305978a156db1600d33b0e4131bba8"},{"version":"576347c85678822f773a9384fc4a0e8a31c3bd80c94a8e7ebaffeb1b7893b6d0","signature":"4f91711dd0c45f8d3d7b2f020143a1403e92afacbd9481e16780ac067ebc1ec0"},{"version":"d37ce88122f619870802e63afc912f95741a5e55218ed7a157cc076a1507e050","signature":"cb7bed8c399b061af9d06da22edf90318b8fa64f81feaacf35f7d78cec30363b"},{"version":"06192af3b182223f431baf55082b83988ae57fe048fc7fcd8ce0faf4ee281819","signature":"623e60be4db694e883d126fbfd114a8b6b71b78520185b5241d754fe7c2529bb"},{"version":"3e0f25d1e33675f1f94a94e09af775a2c996c8d3fe0c2082e66490c9ccae4fa1","signature":"e0c2f048d07caa4d47f77d95f39c955aa2f12695698a54b64aca2a6b009d1159"},{"version":"8a95ca87c437ca55a5f5010a30ef7fb799e1e2701ee09474e7330fce91b646f4","signature":"76bc409f465f6515528490fa8b55a79578f8301fec54ea9b873b6b8da5f742a9","affectsGlobalScope":true},{"version":"364b80aac0b98572485715c7a8bff1a211d16471779f7fadd80c9b4efb4c2eb8","signature":"86f3d4b771ef431610c5de44d3167b15e039b439a1c3f58bb64ea99ee8a16d12"},{"version":"1269f1f55697d48cc89d69cb2c4eb6cc00f348abbafbb120010b62c6d69e6ec5","signature":"72aebf0876139b81b7782c2033b831012643c23de1db49c074fecb24ef8c832e","affectsGlobalScope":true},{"version":"02f514c763adecd9a467954f3e6c6518aecde86290a1af374729fcd2148605d6","signature":"49db9bad43085bb6b019a6ecdcae7d0fb2f9b8641c55c2bf0309926c2534eba2","affectsGlobalScope":true},{"version":"28e201fa826b9258ec82661b9c43db85536e5bdcec6511b0b13d735a83e232ee","signature":"d082843e752f6b001284c241c1c724d36ead580945d63686e6794615f2c17c94"},{"version":"1a8bac515fb011296d674c11c5e09482875f7ac5974c856f31a9b2e09ee8ef33","signature":"18239eac524226f89b850f73b658a7ecf61b4b7df987b21785c13d60084b062f"},{"version":"aacd69af49b7c74a27c5c1a56d71ed5144224c7d52ffa3a666319035209df130","signature":"52d032fa211f6ce650dc3e8acc59e2b3c1e62407d37b9620a5ea05e76ff9b198"},{"version":"4a840056c659b235b81336e2d4f4d1f74a13ec631b9e115f50da7e58d5e72dda","signature":"37c91c37b7369945088e73519e3620a0c58eb337d1dc3af6be3f62a3f5702e11"},{"version":"bad7251edf55d77722df6eaeac0cf676724c7debc663b4578b7ed14c4df23fe4","signature":"3686b3fd4660a814a9f13d05adf9b022a9a36b3ee98af5f7724ef2ad98036ce0"},{"version":"225437816014152677926df72d3d714a2fa6e42dba124c8f0496ed3b3ac2bb34","signature":"2e8d97fdd6f456b42f2f358212211481f3f1558fc8845c2c0e72fa6b58af248c"},{"version":"518ac83c13ac71a05030f95b4463faab75ef4641f49bb35595d44b4ac7d00b08","signature":"3095916e4e45bc166da60c7100eb10eadc939c3c3b5900b0669c0954b7378aed"},{"version":"5f67004a28be11e631d1871121718551e841bdbf0611a0f2c7df3f4eee9cf5dd","signature":"a9f77f1221823c74961206286a64f03a23ae761548af04056215697ba03b4b25"},{"version":"a85ee4793366c265d66648fd0ff9489b6d48c52bfb1baa404e7d3c1180c3c012","signature":"69491c436981a0bf54ddd62c814e8f0fb8f79eb4b1a772a76e202891ab9b070d"},{"version":"dfdd80ecd867e3e091766e47bfa4057aa992d3525662aef3b11199bd7065d929","signature":"fa837926ac880ed0b68232d9ec84db5f1f18ff219498631afa8b68e8602648e7"},{"version":"e3b1ca9d68726c37f1c1ee00541ca04abddcf8b566e09c1dd5062f98307c386b","signature":"f1068bcefc61a52c1ebc0ac7a302bb027bdcb0f27f99e18bb3623118b88aa283"},{"version":"9f93a37b76e9f84712849cd33c761dc142b79693557f5a0dffc9544e44364087","signature":"fd7d8d44a85dcdafa6bd3d753beb969bdda8dfa5d73f9cb07a31c0cd679061b5"},{"version":"3c48387785008bbaf0dd1e337df2aba7dcfba493ad5dafef18a30c6937993bf5","signature":"346128a1c34052ca1814aff294caf4c16d28f803daaf76db7d6eb94eb65da3d8"},{"version":"3968bd387cb1941cb960139d60552080a29df9cd149424763e2e295f7b80fbf7","signature":"782423dce8351af50f3e1b44f6eaae52202b5972024ddb2f5e1735a2eb69269c"},{"version":"9575e0da69f9a69a8d9a231ce278a223d9abc23867980df391f07659fd81f09d","signature":"7ef2ab0cbc91135355376f98b2afeb530fa09698608583e17c7a000078847a5b"},{"version":"a08142d515aa86ae956aee3798868b30d8c304f1070d2b1040187b07a81046ca","signature":"42c1d7503fd6e65d221e80d96724f3e74ca15c86a27ae71e50f1aeab4055a39e"},{"version":"f4d9f744a868b68e3de9dd8cba3eed90ae69d1f3af69f71c6ba20dec5ae2e4b3","signature":"add6be62fe8de39bd6013cb3f4cebf1bf43439b88bbed987f194b8af5307a58a"},{"version":"030b2575ca69fcb58de09fbede4c3c6f46b3398318ce74c0fe80f2273459006a","signature":"bdc9d5766f72570f50e67e420533629519a4aa95a544d46c17a31153205acd9f"},"eba110d8e5721254ef70aa6bfb2f38bd95bb9d7d9bf5a530bb20c1665e0e403a",{"version":"f676a60e988d68f6283085dd6bcb7b02e2ccddeaa5547800d35304417289758a","signature":"974568879cda243b1a6becc572ac80cd56326552fa00c95c178c86c99dfa7eea"},{"version":"59f3ea7a00837276395e4f2bf5796e1aa06869a740968cc9d595e7b8d15c2dd0","signature":"3935f5a0924d4a43aeb0e778496313c34f9764c8faac67ec3a6fc06eec9f9b8a"},{"version":"a6ca92bc973f63a57638b760d679629a2d0eb68d28bde636c7fc11c955d753ad","signature":"4981bbf6307d529aa7050b4822cc227d2ebf688d3fb91201e6023ad5705d58b7"},{"version":"15c7366b2b592f9522ff4aea19588ea7daa3fa3c2b02afb2f454f9453102ec1b","signature":"f3096b56e9e0d62590f01f3ea1a72aa9f01712b82a1ef358c087b51ad5be2ffd"},{"version":"edfc04e3a9ca10b3beea4bbb5b41b5fd3964e2047ac5edbb43194c73a344cc00","signature":"180f6107eef3ef5ade9efad99797d5f0a6b6450924dc7a85d876d28e4502d3fa"},{"version":"cabc9abe11ac565eb3cec675ac8af99aed699567dc729e1c441e1ef8d2385b5a","signature":"7af7086028af6dd14b5d95851912e68aceb186f086b3219b625b1396a4228a72"},{"version":"56d1c06a5584ad734b3a3b3b3e776d0fb27675d49ba90e26c67dc1578c72faad","signature":"ae15a5c329f1e07624bb0d7664351b91fd6cd1b326d183f2f67db25d5caaafe5"},{"version":"4a7f85c31d8e9eaf9618766c246531bea372fc8951259cb78001754418b6da1a","signature":"3dd307c649dc675acf58df9a16c5eb752efea45450006874244bce61b8d14502"},{"version":"e6fffe03d5af6493edab04b18adac7b91513bde3e6941e9b7a1814f415ebcb65","signature":"5bc66007fe78df2f2e75402215b3a30c3061c904fcb13a237c2f3f1bd0afa78d"},{"version":"7eee9c98768c80d6a7238f04d9c4130e85383dcb496f433a884d46fb3807a8bc","signature":"ae92cd4543c322f4ca024931686f44c9b36ecffa2ca9f8fc353a11b319e0ec9e"},"08c3abc6e2f6e591b1f52fae2a7396a8a5ab3b691799004b81c8ed4d785abec1",{"version":"98a549cf62b7903de853812c1cae44d19cfeff9b38320da7ee3e64f2b4765796","signature":"cbf3d1f99bfaa2388aa0aeb86343e583a70bec259899863aa945e0c333b1e0bd"},"107de5a476f5dc9764cc495e4b90228420c7ad877d46a631946b1f0d11c959a7","37af6308cce70079f76a45eaf0ebc738c688dfcd398819acf428daf5f9d256d5",{"version":"7c2d52804a466bc23b6ec7dd8e2987b6dfd0e240339d1bbddca90baf0d90bf84","signature":"7d7d740b0fd20992efcdbdf9ca6329a9c580b30b75516e23f711421306afcb56"},"ecf6b1ed7b17b772b8bc11963be2dd2022bedc62bebfbb13f060ecda32f85f04",{"version":"7a4f87b9881a4b4e831e7bf221ec3a5fcbca8c9bba9f794c18d67824aa58b1b7","signature":"084d398b98800291a54df0096b8f9c177de00b1bf927251d835493ad374a91f3"},{"version":"394e3186b57ceba67ba27cef7a4e0f16ceccc3b84a01f554765ff9b9aec136b1","signature":"9e1ca6bd8322b1093036e47ac6733a1f6e9cdff35ca5edfc9806163b22c9f1f5"},{"version":"3256b6ab4b28118b874e15f693b2b14dacb5a4ce8b46a1b0852bd0e9eed333b7","signature":"892e33359d5dc399452e9fec5c53d6048d95b7707798f69038e3ae8a5a25e384"},"7275b18b000344c932cc310e40e72b3bb8228ed8ee4086bc625e2be7de2c7b70",{"version":"e9ff943e6063bd202f781f2a53a170c741ed681d8ae865344bcaf22c63cf53bd","signature":"e8a02ec550327496d2bacf9c28f1afdcd85c4317a6cf8a2e00b11ff4937e1ee0"},{"version":"f0d22ca135577adf63525fcef08130c850fe09c6986406732bfd294a0dd7a92e","signature":"1533f4014f0b5aac13c54c8808fc642a17572369e33207a54a84e79b9a780d5e"},{"version":"710806e7e7be50c55ca169ad9d0bda084756cb327fe1f50d3e1ae5505d6b151d","signature":"fd5acdc4f191b429cb64416e347ea428a81a09655988160589026ee8e807e481"},{"version":"348513c5649e3c3a997b94df176708b1fe4a4c9f3a56428bc50d192b7169a585","signature":"1ee442bd91f5f92cf694aace281f03eda2e7dce54c6053b0a2cf8edcb43e40be"},"37af467f69b80637696dd8dd323265b2b3f27b31942a5b2cb8144ade72f24c8c","e47b0a3714bf207d9c64a0aaf2724ea765a8607bcb46ed4e921e1643c76e88e1",{"version":"83c4d7e592018fe019ad77b1ab5f93dc2f875d2867a8284f688f2914cd92a7c1","signature":"ff80cc328fbe754738fc77d3012c0417c47911022ed63e9c0a65ca97ff1d1d4b"},{"version":"85ba0431efb6c150e926eaab2eff995232149ed53e96e105de2724e16223502c","signature":"310d91068845f16b71fef85f1b573acaef7ffc472a1b3d8ae293e816a433c743"},{"version":"86ca269c02f4ae15893da2c1d63c22ac51e96fbf807c9762fa341f820c4c0232","signature":"1d861f6c2d106b6efd3dae46e53f90477a39d704af7c4a410aa12f3b485934ec"},{"version":"d4e6b9a8d7562cc90084c11fdc7414f161e062fee1d1ca0dd8bcf39542cff0d6","signature":"59baf3633f7dc00e0a260b6e935f58d3326ed5031fff8905771341a0e7c9963c"},{"version":"677cfa00aaf444448064aac1dfed56f60c60b6068e92fea48f33022108a1b943","signature":"2656d790372e1d86b9007bee788ac05947f81bd4e4acc457fe16877875cda1c9"},{"version":"a7011c14ba6b532213cfb52818705774b5395cbc081f7eb940cac76c9d0d8f65","signature":"ef2a049aa1066ba92f22d5ebbe420c06e3f96733d8b9a10d2bd8ff5b9f392d7a"},"6ffa9955352aef224f7ece38701b19d633e4bad1eba8beb550d893ceeebd77d6","47caa28328a9035e72c1dbbe1ed0a5f57932980f60c4b76a476995f314c2566b","762435012383776e8631428e571c61c5c49b38370a234d28c5d992b30e6d2d29","7317cb15d6c35a2e645fdea11db02ca419485a3a10c495484badb97a29599ea8","f609d4433a2f9d56faa92cd56783c90e9cfca8035a357a3f484d0463ccfa3e30",{"version":"482521c7d8be9a9b03ca310c7ec2dd4c7ad01bfecb6d0628315dd97dbe9c3bfd","signature":"313a74046d979b9077eb713c3a40ae207282c87a0b007cfd41102929918a94ec"},"b682e60d281cfae4671d90f43feb7381df9cad36f9fd1624e0f97c4b2399de80",{"version":"77f12585a4d1f5b855e3f066b3ddead3c25d81bd5bd6909994547013ea922963","signature":"cdd9aa0e1fbe0031c8f19964dd1274dca5d8d2f9eedf7290ea78e2b6a8fa3e47"},{"version":"817ee5df113e7096a39419943c9032565da306190cbaff9506d9de0aadbf6324","signature":"9e7b4b7d8acb3ee545c0507a0ea1c7edf819578eebe5c30b3f15bcb0402e7536"},{"version":"3cee6568ad32fb9c257790ff800b3313cf1ba300ee500e5d23abee36d76234f2","signature":"7757ea5fd23aa46649bd3329d0245ad3cdf3aff09c9219727297ea6c340358e8"},"ada87c9cf39006751532cd568215e8aef57bf15670673f4c4f0c974e2a51fc5a","cd81be3a7d5a3b4a247a5744c1c222e31fbfe647f8ec7f7a9cb7c7901d890479",{"version":"313420fb212cace069f329a6acd3a6346fab536cf2f72be6cfbb3079cdb0457b","signature":"9c26c5a1c3cb7371d117c45c1a4b2a177d9e96f98205c459b5065f078a296281"},{"version":"1225e21079fae738d3499bf78e487adceb45591c40dbd4baa8e891cffc56b3b2","signature":"3fcf403c49ef9b92b0b798fdc7ce6d05a224cf63badc7500b5069d27fa3ecf26"},{"version":"ee7a8aca242a95f82785d23ded207150ddf50713aebe4712df4847539107de4d","signature":"a9f6fa282e33b834489b2a1be62a09af571512cca45fab4aa53287990bbd148c"},{"version":"5dabd2d63769d51ef15a96c4f013e61556363ce1d916f16698d5d9bfde3d7d17","signature":"5873e8d3f7ce03b9162a2dd8b1bbf4fc173e9b96ba2b9cddaba3e9a4a0c5a200"},{"version":"3b5f5583d857d079377b3a9e73036ecc7e3582541215738da1c9513866460975","signature":"4dec186d022b0762ae56206724732644902d095252f388c6bd1cb8bdfc8eab31"},"6161a292ecf48ccbfc9d0e731aa24f8ae464df2c600871ce99225e6156297716","036a13093b97ef0df09604b7f8d946772a4ec1e16422957eb35b788a2e76fef8",{"version":"1be0f22bd4da00ca0e41f9669961c658c16dfd0c7a42b50cb9240daed654172d","signature":"fe192be79f5dd1fb56d0854ff3631889f1f92cf27a62981ec1da2f75a145b2e7"},"c627af3aaaa6b9efdf2f5dc02ebed43dc9827461d439183c4e42eb9feb0c0c71","54d63537f635475d601690f3628c00af699de697217d780d9b386c64e986972f","99b78bce6a0f600d5a6c210094030f9d4765f5b3cb99da5f7fb36fb67bf4d4e8",{"version":"ec24578ae6761e0007612f0e88511a1e0f4e69502071c765a530940a866efd96","signature":"9e06306253c005627fbe5554deec5c1ef343d94b354121375a18b573353696bb"},{"version":"79853620dee13d452a55a5fbc68cc7eb699375ca3d1a5b25b7accbb89629f9c7","signature":"8065d1214d619101bc361f7de1fcfaa55624eca953bc8e7e000010ca8f0c95cb"},"e736a4efe93401038eff9ce7a22c74a6389179a5fb27dc160d31d53d722ac40f","0975be2e74726497005fe9ca2a0787c09992b396e36954fe77231f8b3d4dbc6e","b74d9a1117ac3b03ff3deb3dd0e84af195e6c362265a0c7b5a3616a18f5273c3",{"version":"9178ce9bc72d9174260518ea187a3ce1d94b3bd863c24a1f379a42a71943c161","signature":"e849668992be1cfe35343859593685d1988fa35f2aa33f011deb2b7f82730f09"},{"version":"668a3ebda37448355e95aa30931ae3fe14fe672d6a8172a53342d7a0a0b09d0c","signature":"59540ee120868522fc4d190559134c6dae9ef42336c0ed31ec247ffd9ba8f7bc"},"2a0e1a417da4214df23a9faaa13a10543fad88d990a37737b45745c28cc18ab6",{"version":"e0060a03de542a803488a7e3d7f1a3f32da96e9983f60c22f66276b31b2242d8","signature":"84b9f6abc57320d63e1065caa2afe812d047082f07b9db4a7fafe61beb020c42"},{"version":"2d8a1867983eb979bd5b41e4450b58e6f9e9072b1739d3113700d3fca2b5f605","signature":"6d213d848f27d7a7e873706611590a94596fe8c097a943cc3751bc64ae77d995"},"9ea36b482e6e517680f370815da6adfacc0da557535d3be272b69496c7df8f57","f43e63285e92a2ca2c9d08a641e037ffbdfb85ce58eceeec2991688725d94bfa",{"version":"eeed4a1dcc273f87c82dd2fa026be90ac2440d689f0b1e7a2686459771b38b07","signature":"39d36ae96a0cdabc24982dda1ef6ae4957ddb0c5ddd03c11dcd71be2c389f10e"},{"version":"2471d9f02df4e7dcf08be83be0075686b637acf31c861157a18be52baa34dbb6","signature":"033be3dd1b4ee5f5960806efa84680e4be24552a3991cb923adc5e90b9e49041"},"26d2bbdc20474ba291461cc1dec83c0b93c1267d56826916dc9736553fa9fc97",{"version":"ec82db42953b2f20e6a60bce9f7957cc48666f2e0d112fb4d0813a9c62a46c89","signature":"f1b0ef8725aa252ea70faa3c25a7967968bc95b6521e4d9112a868cc8996c45b"},{"version":"34ac35e7812c72bd12fd579a491aeb173ca02925b6f7c5dc5cca71414eec933e","signature":"276501d333366f5af913a6334ed457fec61ae103b25acbc78913f65c568a9ee9"},"7685fc9e82a69ec0e9dbfdc76d2b932c7fdf77c2c137330aa132d9dbff254c91","9e11f2f59e5a7eec07a50a989d75a0204da78f92c091248a048d4f52fd99e0a9",{"version":"73a89c8ee1f60b0050a53f574f26389a85cd63ba484a3000d8e117d66e4b8688","signature":"aea5615be83b5f397c85cece459b9cbce17fd62a6a7e634d923f629a9a9f764b"},{"version":"4b34182e8fe47895b73e76dd846e8ae8a56a8753c14b81e16859c34bbe7423f1","signature":"fa8b6930a49afb2f4f49d363a0099716e3f2a8add1a3525e1a0bda9ab240ea06"},{"version":"c7042a6184e4e6a23f7f190240624dc629905a05bf0e1ac62389a798a14f393a","signature":"779ba38ebc799bdb65babd84c3629939e871d5f2a5d298503829454a8c8e303b"},"e1f1072a2c47e63ada087434cfd6c88a904fe879e53792b600fe666a8c7642d8","77ad267201ac2e2f7f754452aadc5b855c4c313f3e28d9268b591c3611da70b7",{"version":"96ed754f65ebe622a321562f9992f7ac97ed1bcfe88eee80a26813033ac34ad4","signature":"1bc8ed8ef19eae944440defe3d4b3d4582e4873534a791cb841f7df659a4c42f"},{"version":"fad9c84ca56f20c253f2996190ed74362f23fcce39d3b7399e93877816803695","signature":"00412ba20ba24d33b0ff550af3857794ef269bce429dbf32515d9229ed5b1dab"},{"version":"57d779e0059734666f0ea38fb746de2b4ad75ddd026bbb6dc339c45ca8b98204","signature":"9e29b0f36f8d9166d0fed661fd0c93cd20ef82e900c6a0b70640dd0a6ec58fb4"},"75337b8ba1a0452329fb26822e3bab842c6b8a921e503c5f2ac590b7689b7f14","4ad8b16270496eb9ae8e2faf8f04a435d8dcbc6af83cf0d9efc064f934619a20",{"version":"cc2aacdd7b77592964469fa292864e10c5dd924aa9d22fef3b7121d6c6bb9f20","signature":"f8189e1b02ffc389bc32e955c94cff8d28ce874b103e0f1a7f6d40df4a9d248e"},{"version":"36085825b8b9f8fa30a582021d1dbf68cb12d2a1f15dbdf5fb94772d418525ab","signature":"0baa623d4d8cd6b58a1d458c3b404bffcb37cf43583dbf54dfcc4f2eb8f33d46"},"600e48160cd4eefc5a77c84acaebf86293f5af2efe599e1dd7b1925828f95b0b","98c15fedd57b0b075464bda538c7cd56c77e0009a580aa5f54db1200b155bf96","1466705642ca61390f7cf0542e64d5070e8497882d989958067e3574afa7682c","62be45bc1e29640faffee9d4f7b69333b3d2348f4e5d4d93cc4ea574e3b7eb5a","ca690aabb92a2bd5ef0990e990a322483ad4aedb69cdddc76b941a4f7b0b39df",{"version":"f520dbc0b89620f7d4b142db9126141ab59d1afbdcd7d55fc05b53b626d7e272","signature":"e2cb108b29e52fd283e0c007c6d9578dc0b7dd131e6b642f1a3bb05c0c9ab8ec"},{"version":"707f4870ae2ead82c4a6505102990f28ac5e2a84d9e7aaa3c0034f2880cb733a","signature":"767673e073e492978a17f95bbc53df7c14e68b4a0781add201b87ccd41162d50"},{"version":"d505aa1b9a2661155d75a7664ce9a5e7fb40cf493798d8427abe7992dc791994","signature":"ba429d18d004f11eb7cd19867f063c85ec1f2787d39706fc8276d0747feecd14"},{"version":"f5422c0e01b169489765a4f3dc5418bfe7f168a195161d3a0aa2a3814e504efa","signature":"75deb86377358ac6c80397d8ac1a9496f70f04b8b8a13cb2aa33ca95242f6abe"},{"version":"55119b65876443823dc5c0ead831747d0c83c91081c34a518ebcd57db9d39240","signature":"12f74d3db4fa5855e3eb733c9dae91e3c2e897a761541acdf17b93dc5c715b0c"},"3d7c00c325dab9689c9bdd1e6bc49d722614741ef8756e84aa1609b01eaa0e9d","c2f6dd79911d74b208a8233f7d20cce8949147d55dcf3ef7034beaa822a7e7b7","b5ae3f54b2cb406ddc4272c203b2d1efaa202db78917b051aaff7da40fbe5145",{"version":"6c9f24c55001a7bea3318c8cf286e7f98622f03a2b53a5c59dea5c9e2233cd77","signature":"a89df959d34a902d496122a28fb87b3e58fb5161458cf51f88cd7a6ac755bc34"},{"version":"80959f768845151ce4feb7b26ef46dd10bd45d593f1ee1eef9c0272704f68bdf","signature":"aa4805a2327677013638dc83e33d3243d2ff10785561e10ae03345ed32af53c8"},"0b11231078ed806ab34838ca4e5014eebce2b2e304be238bbe6cec77c9de4709","40d2d9622e638ed12c9af5b325e729289308389cde98f17c1c9f19d8edef951e",{"version":"253d66ac8b033a55ff47bd6f3f5a17b6b24e45b495973bd40b69cb747df7106d","signature":"d390c8eb52217ceefee6c374dd86cce50d8491eaa77878c75b13fbd0333f0a4a"},{"version":"daf4adc703e468a218dfa37349cf944df5dd065aeaa11c8c590309a05f984e1b","signature":"83e48dc38ba9f0e439b83cbb772ab92134fbe37cf2a30bfe3a73ae6436a46489"},"3e2f3a3707e870fdad2b9b7cbe84d65ac71602098d8737a61ddbb0798825bfd0","8820daef7601f721614547c02b1b2249dd0c2655ed5512a17974773b05ff6d79","cfd38c188d9089fb95774465591991f255c14a5339fe739200f33b78ce782004",{"version":"a91f3333801b640b5f6237c680ce22f8cf5a1667d777c076d600abecc637a31f","signature":"f429af02b3a76fad0820d2d037f40603b1537626b28f0b619b18d9f675381b72"},{"version":"05545ad4481808e710a65c4dc9c0434b34a6aa728777d6082c70c93b4d9279ff","signature":"c1558c6479629eceb1e497638c678af04d4f2972d51c344777ed15c0bd98c8bf"},"e677e4dbc4b38006a85f65252d669290b1b0703e39925731a728e7c2add0a4bb",{"version":"b2bddb423e63362918a403c4f45e7eb4215d879b41b9105185843157d2f3b6cb","signature":"1ab75bbc0a51f619531d76025209d5f60c15c2fb7b0eb8d8a3d0fe7663b3e112"},{"version":"e78b44516a69e88223b812928864dda3f7c62f9d9203ec727fb15cb831b14ae8","signature":"fb3fd680903c45651970dd031de374207cd6e13ccc50895e98f4da56a5087998"},"e36a40b6537d4df22fcde3bd9d0e4cb3a2408d313b25808740fb1e69fbcaa539","c92cc8562110e3825219df1d7a7a38954dfcf99409ca669a2dfe68bb9671fbfd",{"version":"7a72554915ff210d59cd74485942291a5bb7db679985c633e1245f4e838b466a","signature":"2e4a2bf8bab937b6f7f0e87de9ccc95909a21a7058a2a1f72bdc60cbb9571ecf"},{"version":"9f60620cd5bd3dde9aecdc29aef9167937573e732961b946591352b94703c1fa","signature":"aa72bb2c98219b6d5b8ce4bfb8f4bb84f5f4042feb1f18ebd7aaedffb6c7ecf3"},{"version":"b98d4b406ee09de095622f2d84699b13a77617c8a54e233aa5e84987b7c05f58","signature":"bf3fc681ab6907529a8a48a331b8fd365d9f9ae9abad00c8267fe898b7879681"},"d941a1b4e9cfc74258fed90cd2c6eaeabc12842df8de0a905171d5dae3374a27","e3e8b52716cb0d8d14683930fd0cfe29c0ba246fde0b46a6da9947ec047cc1d7",{"version":"e40dc8e7caeba7ae2f2cef5de10d9fdc1d3096254c04cbfb98e808aea134c5f6","signature":"a3993657b18eebffa6ebd23c66f179ab0dead0adb7699ecc88f7228a258fc8b2"},{"version":"f5c9cdbb22353318d7cd71105fc36861228fe634bd38252e9e7356cd43718694","signature":"2fd2fbae36d90c882407a9752398cc97590c045da3813ed77eb9601d712eecff"},"8b0831b12195b93be61fdb3378787667e0135944b831e80ccb48d5ffab303437","14ad786bd051b3452071fa9621604f241d7d9b70e884580b0d1f0b4ca610485b",{"version":"5dad98a75febd3a6e75ed31b98946b8c81ec11418c0e18e265e8257e8efdf7d0","signature":"de36810e11f6ccf5b9f1865305bf19b862414db2a6a40fbdcdc91053aa886d6a"},{"version":"b1387478a6a968315ff9d0709bf4eccdaf248975696fb847ed472448475b0630","signature":"8ebda9272ac8e9b6928d5289cbf407f2f891660efb24b0f6064551b85e546aad"},{"version":"ad4475af6fa767e44707c9fbd2e72c5d81d843a2eb369468a73491e24c2113be","signature":"5d02cf766d418d83fce82e93b9494e794f73689f91cc9c1dd08480133d8ed3e9"},"e022bc886a77aea16b2d71192139217281b56d5ec5f9ebbd1a92142e816d4b00","3db8cd806ed1fc3119176dc441b30302f3198c35e169d103f9c22185935ab09c",{"version":"c7fb175ef57c451b722e10dd71a65c40dec87577f2d3a69914966822c9413004","signature":"25d5d93af01cf8f48381f05118279f05d21a7e30c6f1a226b022435bf8f858b9"},{"version":"df25d3f8f5f9fd803bb6d0e82981b2cc53e81f3f5c6aa51ad1879b79fd463e7c","signature":"fc33b0a4978b4f64752e5c82fadf449a3afb236ffbd0fde1fc3347b7b0fab1cd"},"66c1074fdc6acaf62fa3ddafd5aea74cf35f10714c88815b98145f1634255351","e734467aec3130a2aea3c4bf7c20090369a780841973c763fbe01a41f4630495",{"version":"3382a2ccde1163f22f2a211cc0269b39a65d1418de833d5b135384f8cd8d4bd5","signature":"6ee93d15804c17433c96e1ccf4a42ebe8320cad288db8bf3140616375d77af1a"},{"version":"597969e5794403738403e8f7273185fb0bd496c1caa992db11e3c3b507297a4c","signature":"27577752ac8eb2ff3e6034d66b0279098f574b7a585e095cb22508aae10d401e"},"5f1aa1ce3a361c16ae683ceea4d02e02a2d8f7190e9657c4eab835de29e04116","fbadc59988f32f8a9938c07d3801474f14a17430dd6bcb8216fb19bf4ada6b35","ca8fbd6066419fe663e115621da6e87e349aa1d034958c7a5d4e7465308ba8c3",{"version":"283b37c008467a0e63826d6585310c97ffa38231511fe758e2b787486e1f0f64","signature":"1734b8c1f8858c65bfe64f93e4e3240023f32bf949a1946020c26e208fab3071"},{"version":"2924ba0d687a7931fe5b2d4668cc7a1e23e638fa1b5b19dc77025cfb0a1b6c24","signature":"5a3fa23fea31a690735fc7d4c896d21df571421612a1cd5f614fc889719eebce"},{"version":"d877b191e40561e0cefd6006fc4b9bc01333b72e6a4839f8907bd278bb147980","signature":"8d006fa2d7e1756074e6b7ec5c53697edd83ccb3dbf51d0197d7d7437faff51a"},{"version":"0e0114067ea4a31aa7f972312ba82a4312032ca026fddc5f0f9c4755b66687f4","signature":"fb4ceac95fda97f0bd4bb355fdd529b7c5b8927ac4232aac6ecdc05252b80a3a"},"3b77611fb017ef2b4f88aecf9fb4bf9e026782f8aea69993c513a8b09ee40b00","e15a6610ab4676c7fc3dba80fe56f4422e5374d25bc2e7d8d3fac17b6ba69378",{"version":"2f872f55bc176f3877fb33929e84d7f226d6fc1e5f8560d9f8af124b68727282","signature":"fcb6fb6ce91fe764044ae56ce0aac1e2aceaf5c1d5fd7480e0526d1dbc9096c9"},"271e40cf059ebd00d27f9ef4c8ff2dedf679cdfc3f72ea9e2dfb8548ecd587f2","8f2a537af7f56a30fafddca3dafda7821bc585d149e8bf431b498c4f912eb7b0",{"version":"0c904c276d47f325b2060e9da916c23b5c1b62a70953f6bfd81c594528db9b5c","signature":"4cf30eae5807e4c6b30ba2b3fc4c1e0e76827abfad574097c4c3842f84a80934"},{"version":"d69bafceedf6644ff4860630238432c091a7cf51f7593da2d729ab5265daeb34","signature":"96d119c973c802af188e2cd3d508ffc5535aa369092fc9deda2a719e23ab89b1"},"70d8f81eab71798d6225872c688be33cd68e620cf63ee506ea5596cd1b1768f8","3dad2868a178f496d614e7cbfffe4193691302666e9928eb4c5e95b6d9b82868","4df98a65f4328c1b3119fdb64e4c26662bdc1441d08cca728cd842d499f7b478",{"version":"4c296b5279dae55a7f26d88ad379ceb0e7d5d531a99ba9d9e339232ea9960d9a","signature":"d3e6416f607a0ba16b4fa68a6178af583c6ec224219b156a4bfae284781d2a40"},{"version":"b924499023625809bca39480b39b142f86d5ede5f55d87d7028b749eb4ffa0b3","signature":"edbc42c68019d5a6d731dfca7cf079ed51d5c00dbf366f83eb13803db8c11e7e"},{"version":"5f0b5147e34606658e51c529247439bc02e481c190cd351ad2469eeb09ff0e03","signature":"6d308b999c3b059e7ded07530e0de2255746b453f242bc1d8643f09b3320c3d9"},{"version":"d38fb8c6dfe7fb4f5a7857c812d315ea0109cf596ff070bf95fd39ec9fefb1e9","signature":"c75fe75256d1adf90191ba4352eceffa9d7155dfb3ea7beea8a2f6c2a88eab9e"},{"version":"01fe1c982debc64d5bdd7aa42ed938f9657395a2b819c93508bd79c58cec4817","signature":"4462e899330df45fa9a4488a5eccfb274a0d0c07b1643d35de616938216bc23d"},{"version":"56b2dff146e97f5c4c0b1f7f283697054e0a566213a8b265812a8e6b4ddf1956","signature":"5acf4fec3725eaff45f326b6c91834bb56bc5ab8fa747296fb2c36af2cdc1c17"},"289a1745af04d2e0278ee667e0dbcd0a97c24ed685f5826558fab951df83c885",{"version":"59b82dc49a7d9051a216c63c5004ae173f1af999281443bde7ff972256c4b29b","signature":"40860cf0998ce2e52dc56413f7ca53bcba3a0e112246ffa4a77061be6588b64c"},{"version":"9936774c4448f288b1c9885181660020e75e1a0c0fcb3cdf4f2ced0c69033d26","signature":"1078bd0f1c6f60dc0de84830005a0cd0becb37ef225120bf7e7bdb27a849ea17"},{"version":"c79eb3d26e263bd5c7c331b18080c50217a25def45f3cf8dab6198393fc36c63","signature":"e663832d6f3ae3e339e94c32b8f2df7b23757d4b447de5399140b1f6486f741f"},{"version":"6b968f842553b47c820413df937074eec9ea19dff0f4f4ac4f9e3fdb764c35f0","signature":"d93509fc0de72a2875fcef5ec12a38271852efadb28a0901ac50511658bb2722"},"5348665270c83ccf8fe7baa49c092d77ffa5b17607edfbcee8ad7b18171461a3","9d33374c995e119f482fb815efd156f4f70201ee715d8770bd2da0b18d8a7016","82fa9c3f9a52772e249bf348b80338d671cf9349bd309d788358eea5de6157fa",{"version":"939f2c81c131f100df4ffa74d34fcfbdb268fa1f0d561f205fa5da5f2e331272","signature":"a4b50d53cdabebca4744f29db8dbac1a144a8763f37f7ee400189bac268d5d39"},{"version":"494daec063204342fa874240dd6319bef2392ca6d5adf11d530bccdb88184594","signature":"a4cfec6467c5ebbd78492897f6a104bdb4cf1b3f4cd717579204e301006cbe7a"},"b23b90ef807b43901b20eafb4ebf29e6795b26d39c0c30ec8dd36dcaa0259a1b","9bfbd39603cb731268cd0909dcd08b8d696dd007417ea5e167d5368f54012e34","c8c4786a04bc4d5f5b8b32e8e610bc60afbff575c45419483966ac68172af2a0",{"version":"67be0a6d3388cba1232675bfa87619cc49f7057ce69016ea081cb78184b7872e","signature":"fc0a656b8391c03e36f43f4f9d20f8b21a7c838be61196bc0fb723dfc426dd60"},{"version":"1c5f80822abc2705856e37d9ef5c563a67488236b4605aad9f309557e45d4e2f","signature":"01224bfca26676fd77001074c07844df0c126803511fb17bc8f02e05dbb6c335"},"11488d1fec0a739bd2f72bed2c753ec89fea7a1717827fb72888bc23d33dab2e","8273e2949b17e23c87efaf659243741e100930e97ec48402b4da1eee4fa67fc8","24d1892e49361ac38bf5a2486bd4cac22bf0839abd3db490392e79b44727f4e4",{"version":"d3bcca8862b4ea7ffeaf0c55d9b0b192d9f016133972bcb3a8e508f8ac1f50b5","signature":"d4a25c24f65e7ba40061f8b77583d21f34902fd469053621eb3e9afba15d9dea"},{"version":"0ab1f2eb077d32a9af0b15d4004b089b1c23cc522cdcf990e277ec4c16de9a7f","signature":"19d886e1e80779baec2a99f0dfd9ee02d2b9b209b787547450cbb05f7af90ff5"},"b99542b0a2f9d2f10368daf909e5eeb611d7326b028093d2156d18c053cbf790","89adf71955f52f702a665d3f58dade075e5b6d36869672681747661ba590f35d","bff3dd2956143f764f999ca56ba08f135bd7b2d6a3717a866799861c617bda4f",{"version":"524a7150d5a1a54c082f682c9341b7292ebed7d87766bdfda7117e267deb0406","signature":"244af3c765352357a81e1de694c508437c349df4a56dd2d058fc92424fa331e9"},{"version":"a34a4c259656d1e77363fdeb7445614332562c02f8649d744cffcc6dd7a3dbf0","signature":"eef12991bfb128025e1596ff1ea79d435de05fe3530a47690f8a3eae704f543b"},{"version":"4f70108f99c9cf2da72d5fa3d3c0b9650315f22a0f4cf01f87047067467ac365","signature":"9d68852825a353d9196e314b3b1d99dfee8a40a65e982353d2313a9ba44f65d6"},"ffea427aa112453f49d3a78c61dc78117c917c63b2a5caa8483a5bc52ddef097","3c451dfa1b995aa2c46da636c9d3c79e4457282431e31c9d031236157adba1b2",{"version":"5f1ec068e266932616306ae3a0269df602ade5f6cace256382b6fccf0b20abae","signature":"6622eea48b064006e67b4e62ad278d8d32eb6d23001ba1d1e2303a940d6177a4"},{"version":"e41189f557fa380d98c0edd378d767b1bc953a76521bf5b53c310c223ca0f56b","signature":"e2866188c6269dece1ff13fe696d6c1f9a22257dee6af457f3db4aa38a3c7b03"},{"version":"bb8fed82b5a32f323807e4fad68d0e17d5af0b6affe622e51597361718898a78","signature":"4b44fdf7a0cddb9ab20e737023cf1d490cb954b9a7a24fc6cf9e4bf8823fb9b6"},"7fa475e04a016c2607314a288b96ca08ded67988583e6a6f008d696f823ab365","28999d65ce93885b7d1e25b8ff1fba6700abab5633d173a77f7e0d5575a2c291",{"version":"b4e6053c55c317cba5dbf13dc03164060b92c39431b44c9219b5e1d44dba2fef","signature":"63fe27ef5a8ee44b9daf39b0d11924d80282154fef9b661f9c259ed14757e5a6"},{"version":"fb3c421093a9881587670b342cb4221676de82d3403bbd325188c35952aad790","signature":"4f37f4e639d4b0b79aafc7d64d71255979f87c231033932d23cb039b0e32738b"},"8e9a45e4bd61af032c449a11852c84725e2b7437f642fda07e4832bfef848bc0","acc56ec9407cdb10d16229ab8fec0092ef6c24ac4ab98284454c959403593474","7b36be3e61f29fed862ab47fda51f9ba0fee8d7cfd269ff2d316485856289cb7",{"version":"d90b5c5a82228da6c169861c8b899fd90bbca0c564720247757378e46a16e2b1","signature":"bdb3a2583b0ad6010ad15f6d277ab2a0f959e856d641a04f2637ca71f12d79a5"},{"version":"2aa67ce02262909e0d72b7696fba2af4d26ef0e4c5a06343a34a4dd155885d6a","signature":"008c2af49cddf0b8001b9cc065aff42d40a9f425652f6ecbdc466c96554c4aab"},"a7908c76e51868d7bc5fa7701a4ae1465643e1f3f944a2fba087e23b347f6669","1c1d92f53c7985364fcfc4b3cc4281ba2915072a2aca171ee5f463e09b2341bc",{"version":"94565e0b8de5b5182f6d4d6c880e0d54ac4da6eaef394eb342d4098e630717ab","signature":"b21c471a78e60447ead5c544ae439edcc23accfc60c1bd8669ebdb535765d443"},{"version":"9bd6f3c84656c300b7a481d0ede9af77dd0d88ae3bf0b01b0247cbb24bb335ec","signature":"37651bad2a27a728198c6645cb76b485c24594a1d8b81bad73ce7413dcaed64b"},{"version":"2f29abef50dfc80475b0025c1e7dc5b0a578294827b04badb7e2c35b5f3e6edf","signature":"eade159e83f135a945c4c503d2fc0743301917f346813ede813bf7af48e1a3dc"},{"version":"b527a3bb987b474f223e7398e71a9db4bc5f0db1d89dd8127020913be0e8f568","signature":"bb9a656c0304b04f0fb7352a138ec2151b809e9f63f87805a89c600e32de1109"},"86e2d315e8ab0d4fb9403568cdb67456507df02daeef02fc0f27a90ec5fb0e98",{"version":"74070e39630ca6dbea8a78f1301dea95590b4a61cc9104e3bb3802f24193efb3","signature":"86656553932a5aad86e378e0ddc45f574a48c30c5c3c60ca5ee921559a244516"},"7c736aff1e1745f181702ee11d16a82417e1368872f0e30ce30ecf16924df278",{"version":"6d4beba6cdf8c2d871a7aad65fb058af65b257d36f0abe661e0019dad0195b28","signature":"340f23d4dbf2c20c8bdc33113d0d8179014e49468ed5f957344c3cf0c7d5cb43"},{"version":"66e0375cad3b0ac63d9cd7528fcfecc82e5f2746052cdb435aeab3875097671e","signature":"067565802813ce30748322a95d66c1f51c09626b9cf0109acaa3425db494bd66"},"47c7ea820e1155580bb8b6d1c6f4081dbd6254aa1328d76158b95a2975fc8e27","c9f8039768ffe6a3ecac2b918f7baa5cb0cd2402b44b589b77d1abec39cee50f",{"version":"c82c6964eec52c37bfd3069c324e0aaef6fa6d0debe438dd4854312204c8d64a","signature":"1d7fc1a3b26785c7d8dd004b8953acf5c0696a587aa6ff913e2ac1be194fa444"},{"version":"17e54749782db7449517ba47a6c9a1c41a24eddb729558054312c89d9f83355c","signature":"85ac3f70e0d8081f8a3356ac2ddf884ef071745ee49cae2d35d825f74919e900"},{"version":"2544572fb905043f804151d393a446594eceb11a2d3435de118b0a505d401c1f","signature":"7e6dba06ceac7ced36b67656d6780b36d314b7bf83b0a8b4d3d085705c2660f2"},{"version":"1d415bf21580b44282ab6496f5460b2beeaf7fe0d9bb66b139c2fee8610a12bb","signature":"38b9127b3daf3783c9ce2b912396873207a2b4fc53066b89b0dfe5d2a12281e8"},"d08b602545ed3b7fcecc80198c3274f8e788f8863b553141e2cc20b983836b6b","24a0245151e982053abbb70420888f2055d3ab0f55ac7b5ab6476aa305a5bc37",{"version":"58b1103cb5fc7cf904a81f33661792af4956ae2d990e2c79af774458d399944a","signature":"c43841b05edf6c70e823b70cc861b73f05d8f504e857d2d55ebe9f3e0a23f634"},{"version":"26a94b59c187e44b4e4dfb3a1ab8a0eb9c5d63c7f8759f761769250cd97271b1","signature":"6ec3fdb7679028bcad7cd766833a425b221c1c32584f5425cbe3bdc1b0a36ce9"},{"version":"f7d0447e758f1e103bab0de23ab0c8ecf3f8f87243a61610846534bc24673566","signature":"f73c3a0af51ac247c933e53a62bbd6950376488f4c0cd7b9077e71cb93184fc0"},"868f4055b6604ad78e951b3a4b6d6b80c972f24e54c8cc8be276ad342ef07e48","f5836d86f33b58b670cbb1271b326ac7160ec5ce8bf8e26753087be558a4299a","de5843e1ea5d9b82a34009151f9dc247b1664896f0acb4966071b59edeb7ef26",{"version":"d24f5a92de0fe13f32d1654bf69eddb275e75f75380be5d63484a76c28ba172e","signature":"6290af4358802bb7a4954ccd956bf2f3480882cd1e6388122c30261386644c22"},{"version":"ad5434126d66ef0be19d84393caf232f253fd61ca7fe4a0c14257bf6ad48d746","signature":"c5a23564f2ff2874497f7474de398ea78a50251c579300468a4f22ebad9450b1"},"217e43d4316e5a7186655967b97d8d8d19fa3bde491cfa4becf5b1ae21264022","7bacc062ef93eae45adf1886180a9236f9ddb4d17bd55b983fb9c1d5d256f4e5","494dc1a01025ae4451ae99c56e58c639d479d21255f42fa9682077f687c43cab",{"version":"b9268bf780a803a1ab9e65ee668e87f5ad0d81bbc4264cddb1333fbc0e462f89","signature":"b30b0e436995b28eb099d106288c03d69ad4eb2f8e2381c9f6ca9eb0ee021986"},{"version":"649aabb32f3cbd6d46234ca0d7603a1346171322e0b7c221f0449e7a99d816d7","signature":"3c3b65e0973bb568ead67acbae5bea98bd9e029659caec08af6f6c22c823acc5"},{"version":"1d44cc68f2d2d6b65fae1bdd15058f8946257f198c6beee43f5d18d223edbb39","signature":"bd9874d835618f942d9006fd6e6c0311dd16cca657ad371ccffbefea754e21f7"},{"version":"246a06b4d7d317bc3c9f1284cd4ab28cf65276d353cb307651f9f4c60d5ad421","signature":"064523f8b1d5e07eb5e3ca8cb5c8788d7981a398b22f10a3162c73fbfaa10027"},"fa4ea7532eb7c2e0d7facf06e901c707c51e12274232e70066bd88d57a318529","321fa711bfccf6a3608c60009137e903679718c4338430a5aa3ad2c5367fe7d5",{"version":"ef3ca8fe6fcdc7ad5b7133c71d7ccf768c17b75e5d7087d55b396c3fa53cdef2","signature":"bfa3580c7b68cbeeeb2aac0c424fbd5511e8c6b99fcbb4ee51a76ec6d840dadb"},{"version":"5326b2c5d60259ae8f5f537c77de1b1f0fdba6961eea53be93b379003b8b724a","signature":"76d4539ff9e9043064659625ccefb50e0430b7c5ef4da2c358015fbdb04cb757"},"097ed5f27cfaca08c5e8298f41a04723f75d1ab08552d0a9a4df9175dff38827","1aa60e2db8d7c5358fcdced8d65e223a3ec8a00cd35ab157e4ca305289dcfe22",{"version":"214b4aa6447fb59bae096e4de603bfbbf8ac91c083563e370da59d722a6d5400","signature":"6a50f00c910b273a9f73931ea5d6829811f3db5cbfaeb97acacb938e3164cf74"},"d6b3a49aa7e291508e66d81a3ea87ee1844f241fac1d85c2da9bceed95d78333",{"version":"c1de79e474bc2bec868c16989d20d0abd02e51b08f04ed9efaf33203694fe3ea","signature":"bf6b9666ef586fe6bc501443e6762f952825468e6024870925a7b832a2ea4b37"},{"version":"df62c1487b7ddb02921ded4a16328e922220be22ce6d65ed6c75963ae56fbcfc","signature":"3c6fd539046412ab0ae584598fbfbc33d590febd055a92d4a353d513968de800"},{"version":"279016e0c88f2ad2e009496c05a0f233407a5ebb08c2e20c29e7f223c1ce2698","signature":"6f68a9b91314e9fe55746169dd30d29033e9ecedad257675e9f1747a0b6290db"},"0acaa0b20282e72291a6bf279dd397f6ffbc39fa2b3a7f8f4f97bf92a5bbbd2d","8cd1fe204b2ca00fe1d18f361375f816e95fbe20f5fd5e2b1de3499477ebe63d",{"version":"dcaaabfc111ed264d13b4ce9e2e2d4a3f96ddec0b282db08d57d2c32ef23e7ae","signature":"bb26576f87d0c36e5460acaf526a4dc82015552beac81ab7475b5d0cf0b1fc3c"},{"version":"f2685396bbe14ad5ad72a5f6ba5b43941d58c8052feb38e341789148458b3963","signature":"ad6253b340491751d96a9745477e4590547e39fb1755d835eef973f0273f73e8"},{"version":"d12880df5fd8ad24c624071d10604be98d5a31858e11d69fb088502ff3b87fd8","signature":"0a64ef92000178c18c3e8ba088bf4de6ce9a74b29c6265540dea47e402e5af3b"},"084b410768dbaea2e495d902485618a250e6000efa2dc69893028d5e5278d006","fad6be3f92db0a8a5f208646fa8ffe65cfb21bba787e483385004ce92beafe14",{"version":"d65dd16c9078bfb7d8601a73009dab3c321ba285db98c714e9c6a5ec45e9fb94","signature":"e72ad5ea613597c468c5130c754a8447f8751b25f76b108a796c796cc1f51552"},{"version":"0a593f91358a6213569b2fc652a1c5880518fa1579be79dd0b8abf6a1c7f1a83","signature":"ab70170d58eeaebd7e2eef6c7493a195bed15722d8cda70c7f2461bb008a7fc3"},{"version":"1d1fffda21947965db9092cd155a052523d9a2552658a3af18d05cc3657b2f4b","signature":"819f35ddf90d8c1d9b2bec2e3b6d867851e7e76d0e04da36adadb9395aa68ab9"},{"version":"2b7386ad7ee65de70009f807ce19aed906fde663c9f6af563a2ff82d45bad76e","signature":"e24e8b28f6823345dd11cf9f8e917f126bde983b3f4846ea00b5962c171b283f"},{"version":"b562f273d4c89a10baf0869c2113812bc1d569380964a593131bd6f723c2b57f","signature":"661fcf560cec6352e92730e4787bbfeefae9a31d51e5e40a5c7b939689d06f3c"},{"version":"bd8a0d7608ad76a24ec69f2c269a8880e346d19517ebc4932c24627543847ca2","signature":"903e857d539d553c927b8833126c12f9a022361d068cc2827f28af5cc93af0dd"},"78751422400cbaef3eedbd10964596fdf1ed4254fdac78488f855d41b433aa48","c89e87d86f81991c2f8138c6336aa863251509e88c2a6a816f38de159ca525a0",{"version":"9943aca8e1b13d4d23c88601e87743afc902082bbdcd0945b2be78e75cc09861","signature":"cb8a556cd1c924f64932c2c3ae43eec16f530fcb781df14b858328ad53ff3661"},"5469124b694e26444194d94673989186fb6e5944dcbf9782025efe4de76ae771","ad7d377bc2a3a6ce3f299e6fc912dd18b2da5912ab6ebbd0f9bc2b935a9810c1",{"version":"4e23d9e855fdddc99f7bced6ef89065fc8904e68dae7c2fcfa367f36289284ea","signature":"831448a8d343cce3b473c6e346eb7bf4036203535fa19f23844386cc0574b1d6"},"db03ab9be44c353d014341ee5f3045f0287c714bb5a085410e367d92cd4ad514","fd6fbbf4f6756d2f359d5d9d23f506b905d2885725795b0f0e5eafa9da27d864",{"version":"9b0282c0162b8e7685736cf79aee7b0c02740feb92c175b40a48f745ea60a5d5","signature":"be895e0b8d37ebd29e73c0d2e3c8dbf61f98443b57ad2693f2063e8677c0f52f"},"0eb4388baf5f5337e89a7d73a50c9380ac551221bd7abd56b2315c51c3114453","1f3c02a647589336ad93d1449fcf0436a09ba49a0431c94d1adb5d436f4e17e3",{"version":"a178d985a82690f57dcf2df956dc8d977fb648d8a0585f6915d5fa0f3ace8697","signature":"ae32d597dadba8ddcbad972e86b7ffc83748ec8eecb4b04adfd21ae0124d33d1"},"2c751c4dbd4d333d2e8c0c8aa4adb2d7909eb668566c6ece5c7e7782a7649519","58509370e94b48323d05a959a9f636a87d08d7adb3feeed2a68b2686507ba7b4",{"version":"9aab05683b8904723bad32cd2668ea1067d4b5d2453bdfc8c09bd1057aabcf21","signature":"4ad35f96e2f397b370ad448753616b62ece8c85d8f0b9e51b060c0184c509043"},"f1153b353bbf33db2ea3b3e7b9e8bd4a62a165ca7211a950e0be593291db35f8","f4243ba8bf4421e2e2e753b680b195341df1a9a91903895e049e0eb9ab67029e",{"version":"3ea2fd49c50105e2bd51a9b8281ed040cec5719a4f2da4b55781560d3f536b58","signature":"59fa1dffca1315fef417fdb316ce9edc00236f76ad9e322c3bd199b910f4d6ad"},"123d3d09c555234af1b104212bf9915a712cee07727167e63c55cf3c83aef16a","f29d66febff725cf43394c02d94a187fb4fed69ea6f5f55f008eb4d780c9a0e9",{"version":"d2d996f911f71d900cdf57c1c2d6a65e68c63ef8555cd8efacd9647341b634a1","signature":"0e91a59c1cd4d960eaf1eede7c31031606dc64e34c20ea5da6cc1671896169a1"},"36383120db1f936e11da06b9db05232eb43f9abe32e0804c297842e194361ffe","21b5d1b47c7511e67f11b1183843cd164fb423f652fcaaff7a1c17510b08ade3",{"version":"2491b117c5c71f62d341a8e15007d3fb78eb9495092baf0f69793938f83f72a1","signature":"24d145b12962527661dbc5b0452ed1190613d5d1a382bc06d2783544777c4ff1"},"4c7ae92df73b8373e17dc683146d3747ee00e41a0ee5097fe0b09076d84062c6","d7d574d61ed6d3ed03f51861dc748ae8778637490338ce351cec35337cb3f32a",{"version":"e7100af28f936699f22a8b44b6dc7c53e3e09e3e7c9b363c56c3a0baa9ce3092","signature":"24337854149b3bb0eae8ade24331cb2cb0048f35a4a344633e9281eaf1c59972"},"fbadd2e611444c78f0005a817d3b08a6915127c704ab73d7f3e213abcb05e928","da9f8bfbb5b9f9ce48eb8cc72859a6e9af2df1145b2c71a21b534d1b8e5a44a6",{"version":"d0a3bf0e2f68924b75659919a9f7fe167540147a82f55ad801c398b82d4e24e5","signature":"a51815078d4ec2f1f514215f08f7de99947d9985057dcc145d9c6e7aee79e9f8"},"1bb68b551575aba625e531a10f5a041147460432109facf0642cbd81d56e9dbf","4ea3c0b59a37c7320d1798886827c7e2e691d566643198233e683f764b6bb044",{"version":"d1a0e1043ce212cf8187c5d25f217c5cb759b7c58b2e9f4e39c112bf10e14a9e","signature":"7a9ba997de73751a6ab94567d8710fdbee766b8aba2a606d2e95351d59d19fe7"},"6d1726a115615211824c5e59bf22de4a4b56d71abee15ddeea87c4572e1627b2","b12426efdc99e0d545f41d34eead177330b336cc3d495d13d652e9f4ee7bcfaa",{"version":"e19e5cec806642092c03d3eec46c6fa32f2a01d368bc0984db6b391b60cfe3cc","signature":"65a29e4ed62c3b7a2c0facede5abb8126d9657fe1bee6443f3d489ba0c6c523b"},"f78d286b66902ec9241ecb52fc5c1593c4d145b960bc74acacb6207f9831325a","92128b5c04b5fa3dae2ac6cfe64b2183d001220a137e82d68464b358e71b9e60",{"version":"402502a2f35a9b78c166a5ebadb79e1724ffc1f6d424c076dcacb8ce08011d2b","signature":"d92eabe2e32bf8ea3e069a31a2ae3417cfe9749ac2bc66bd69ea5d75e40a94ea"},"541c714d7706f0ff246175041238de7fc95ee2cbc9e67970a485eb5e8f502c6f","eab67937768dc159f2add1770211b696ef28c8381db49440a2d0cd6a53bbd7dc",{"version":"dd0ba2c20fe0efc9844c4a9a2f81fe8fa6ab34510f2548da8f4828fdccd2cd7a","signature":"6703d2b49bbc364d6a5a703ec38eb4c9bdf66f348cddc195c7e70aa27557f512"},"08fad8548f8245304f9e080db687042d6cd152b2a708e96c86017035a47dd109","fcedfbd3de9c4cc95dca94f6ece07494cb9a4e5c2e95326e198874346857d670",{"version":"6abd67a36f049e2cb16ef2a5786bd448b6ee3458134f6b634f87112d4a089f79","signature":"9462a798ff747dc4609331d9648712e0eee549babbcba472e17dac2a746f1c03"},"f883a4ed0fb9921cd2d67c0f40a662f6081201eaba11545504e7f0f572c0d7aa","16afd8e6dd842a6523158c81428f04448e14d16a2f08a6334e8036baa3dbdb31",{"version":"607ec12c611e6734b16852e1b9383e7ce5a83ffcfde02f8b075643082ae69a1a","signature":"632c56809c00db1c50c4a1fbbaf7b86555ca80ed5fe410028ab997774c900c57"},"49ae9b494154be458f10b8af62f4562cf114eb6e96fe14ddf5d3384976449b21","5d25b9fae725e5cc6c910dd9f93f59d8c3b45ec9430a479354dd3c0264cda4b2",{"version":"f6f1d3736c051224c0d8cd68dd26dc70f18503bb572774fa81bd6736df771035","signature":"25b238dab0fd2f0cd84345328f5f872197009cc9ea686e520f480c1f4af9b296"},"6dee30e44c3a7a939a9cb4c16fab45f986bbbc4c803f0e1e3903986839586035","d483eb6d531e16b927e5a107a77e7344deb7928051cdb4eb989e068bd01f78ba",{"version":"535ed91a4626e42b315834626106c3384b130f528546a59fd6c1ea8908968590","signature":"ff7edc84cb5ce9475757d7086d3b82445aeeaeb84d88639776e58f32aa045d42"},"e5390adccba67b8b92afe9f73f924c1ff0c2fb0a25475f8f49945244b4ef3063","f8e17145b10440daa24285507cea0efc05424e8e1ce3ca37f2f1acd3daf76285",{"version":"2f2b76ae2f3c30014fb730db9d4d717add072e8fdd23f6b0420fade9ffe8cf1f","signature":"754fbcbdf6ef4d114344486687f762f8975bfdabbc5d90dc77beda232e3c712a"},"fabebd0fee78b990bde2e23a5ab1519b31b562e5c0296b09fe90cf46784e51ea","41eeb1b064ae905e509fe06ea91d5ad99847bc66899c07e17a80fe6101d7c5f9",{"version":"0aa648887f2b03b38b131c364e096f4657b23626f8a2df646f899d835806479c","signature":"6a1e8fd64798d1d89e1ea20342eb074e753cf59c22a402a6300bb73d9bc12c59"},"6a9502e88adeeaeab31351fb95763884dda7f5c2354761b14d83eca88e044da7","f991f23433e35a100ef65074e7c08172f716e8239eca4e725c56e9a8d9a1265a",{"version":"846ab90bf9e92ec393366c1e69aa31b221f40b60542061652864627372661d83","signature":"649b2073114f23f98fbbfb98117b11ef03cf66afe9be8436d2f0e00cf1d1ed84"},"34775730b41a9b026c4c55960b73bd6a1188cd6bdfc46ea7703b6326170ab6fc",{"version":"dfe6168afbc8fd31aea1a854e7743584256fc418a93492d7591af598c9c04e65","signature":"d25162e4aa09763b73b1d91dfbe5f020cfde50f2b0f0118c65a92edc6e933c5f"},"a2b05dd61bc25f46d0e03c2130c4aa90f5492d115b47c0bf1d69f473ebbf390d","db577dc2ab8861cd5e3375592e93cf80aedaf078d1fc7d002c4ed09bf329540a",{"version":"9b5aaa2d1da25f286d43c66290a1ea79569d318eebd2d6f719ccd5e6b09e3b89","signature":"fb7ada845171485e401154a19c602f363d24eb180ab2dfcbaa642c5e44681190"},"aecf8b0054dc506dd63e39a2655890062ed918823489f479a292a0ccaa4dc3d9","c36e64c68733028a6ae982736f6174c95071619449eea6d685a1de26e7627086",{"version":"c82e55daa8d7ad53eeab5267b71cffab54d6d648745791703d383e0f65b89289","signature":"5b355235c89bda9891fc74041de83479ec2d18e3edbfc45143d92b336b32816b"},"45830bd0173560d9249cca377a391d03c1eeb363f32408b934bf422fc2bbd7c9","8deca580e6d157c21268840f65e7cb337d83b8a4f83dad491c4c2f512d0a676e","25b6a53cbd29a6c820b777023d20a64e92c20c0615fd39e67b20451de89036af",{"version":"685d7f6d22dc718237d823c5b9be9e614598a1b4fc3d3bf4accc9999dbcd74f8","signature":"0ea662091b83650c14c555917471cf31b418b60bcc593f600706cecf2cd101fa"},"c62fd188d4b69018b731290c1c1f8baf112a567ef3264ff31edbc6b6b44fbfd0","930fb95735057d5d599608f250436b7c28536eae435e4b929c007d0359a51be9",{"version":"63e744af5c97aaece1b80eb4aeccd252783f3968476f6183027c1bf9f67ba382","signature":"91db1481aa370487979ac5981e85cfd9d82f8a68f3312c465a4895101bda6508"},"0193555d43bebbe5106b34b9801062f058f2977045f40a493afcde6b15735c49","5af119daccfb138e61bfcd8a2f2ee6cd454dc651177f88d447d64d8cdbc9ebca",{"version":"486cc46f03ed14a8b06bf44b04f0c88cd58249301797bd655761b6464b94b040","signature":"71eff3479a2be8822d050d24e8fe35bfc5ec9764923612a3dbac4f77dc077d91"},"222d0d1c77b4c66da638a0bf81d629ec3d9952553da0e1584a96bb0bb2aaacf5","28f3d1b513bd0cf34ed0cc593734e5a0b7d1b7141c7c3cff035020e740cf3b4a",{"version":"71db47fd89c8cd87f95420726ba9aef6abe5a784ac66652ded5bfc9ec0c2c49d","signature":"ba8d26a19197a4812f79d80ec133c95d6e0d438a6d4272a645565b578152acd9"},"c37a96359843f2f0877a14d8e1d313a840961e48320e00a5cb88b19e649133ee","956bbae494a9e55274d06b52324088bad1df544fe3c80ee7d660cb34385e1abd",{"version":"2a1f72cea21124cafc824df426609e6bbeaf4bf1113442f10b0d544b56eb4d39","signature":"137475bcf450c102453d789e607a87d52dedccc33fcbc6547bad1f38725572f9"},"4432fb4d9b3cefd767361e073f8b5fa2dc3b290e855c7728862af332560f5c7f","cab82718bdc1504aea10f68c53085bc58ba172adf71c18d0f65baf5767c39d9d",{"version":"da72b3bde7ebca2efd0d7da380a3485a93149b13ecd4f4ec9bd644bc564bd28c","signature":"8b6460319d6c410bb80edbc5543c0cda46a81fe938e95d7b49a86d1f2d2dbe49"},"64f487135d2f0d05e576b09a9caff0e7dde64fe9096df03434166978f23ddf4f","456b9dd83de456c0ed3e3b2f747167eb98fb108d8ae7d0442beed2eab13ec05e",{"version":"6b1a1513d324488795786209de9db858883f3adfcc1f2efa1113c975e5056456","signature":"58cffca7c6926f268b119fa3def0ece861f07173e2a0f8bae83d565937a217ef"},"95da6dbf5482efa36ebd76168eee08acadcde177545fe955c39f34b9bdd4f18b","02cc16a295ad8175b1450c6a769d232d43139e4ca0f3983aa3314af79aeb4710",{"version":"d849f22706dac990c2e1993db948a8daabd9f29b9c924fd12b901bd5a01985a5","signature":"c4aec07db5927bfce95cd62ea1ce437aa8e54ea84aea4d03f80d1e14a316f215"},"be134fe5ce8aac65f1a916a804eaa5abc8d34004da6fe8747f9bdad1eabecfcf",{"version":"4b66cff4c948bc7e55592ba517e6a193bc25d1cd04066c2487ff36be21636b08","signature":"314c0f3256aec8add8b0656ea05c172b6676fa320c931f8605c697641ee7e02b"},{"version":"6dc094c3f031caba13ae727e6cd036716d848ec9600f0439f6e352b7d9dbf9bc","signature":"9c383fef7e4a98f93b0b7f3611108ce49415ed458c6cac2038b445cdee0f5bb5"},"3c005a44f35060026042ca881b2205b1e5d09e2a378d50fbe6a2830550a4f0ab","9b6ef5f8e20520789e7ea68fc0d4c526fc6a0dc674270825791298542c21aad7",{"version":"74aaa14034a0700a6e0c76bbb9e91f950e101fbb12ffd7947e79dfc1ac027821","signature":"38ee46442a8f624203d362c445a08abf3f90d981616f7ba4c30f721aaf2c06bb"},"9725ee1383e481778c643d3cb0ddabadeb625f14caf39c43c7516f60ea5f764f","d3673a2852c10784f461e867eccc155b7269ea4b7fcad16fba518a25d056d580",{"version":"34f83a971448edf194b6f6e04cab0f187886ad37a3a4e85e80165d2e46b28e4f","signature":"24a6198a7580bb203d000bb86217e17439daf1fb9c494854ffe1675c0553b3d7"},"f0efc6edbd6539cfcf7f476466246d7002f77dccf1aaccffb22b86794f304eea","79bff54064327871e100ebe46b9fd7a734577fea04eb1675ea1f5fad81f1637f",{"version":"b06b02692f61be7ffecf17190ca564b0706c905980d3ad079a8980179b7d074e","signature":"bfcbb1e81812b44f4b24152e6ae038c21c3764cfe87dcd7b5b113f829a777fd3"},"bd315f1e1b491f1e5fd6bf5e113f5eedca0d9fd33da629da08b09acfbeaf48f5","a1c66f6d09c6efa897e56d3dceba9ee2fb9bc54d367dec8eee576920f34e8403",{"version":"eb204fa7d756b2ce990f978d96dd978db281b6735b4cf19eecbcad2e955b7770","signature":"81e6a9ac779551923c3dc111a6a92160a1b66e68753f3210f3813a5888d8caff"},"3ddcb703e7da5223a9e8cd252abc8be1007af07b6e43da7b5498a1813cb637cd","bd6452edcfaba43096a8408274d3fe6dda7ef71e719490cabd81dbb79e07e310",{"version":"00739617889cc8b97484abb3c1cf1bcd89d8736f912f72e58a983e97d3c60810","signature":"016c6e8e061e31dceb1c1fdddc2e983ef268ef66268910fe1c5c87facc51f29f"},"4fa6973764030cd81150c2488c59ae3fe52fb38c5bb6f1d54c3928dc3d54ffc4","eb9eedee7f1419d6f26ce7b3d31e95635031881fac035729652db3242780328c",{"version":"c495ae5440be6ef78fcb6bf67a220f33fcf90ac0c23b00b66635e558d5f240ef","signature":"832c99530a0e934510c9b9ead2fc4aafdae7520ee6b262dd9b7f22d86ce3aa4c"},"5dd62891d3c25fbe0591cf4de757b29e898802178c40bf1c6adb88811b592ca0","f6054f5d5b5679a4f4765143fd491a25a3ac80c709d5b59c4010c8e9f9c57293",{"version":"12030ca9a5e382024ee5a87fa9d93e1164b0473bca6208c74d2e0b230e87deee","signature":"fa5ad338a4ad53117a050897ec039f89cf72728cc9f05661dc44c264d4f1fef0"},"c7698e607cf97edd7a304a8a00313984c79fa23f866dfe3301975e64f3e39010","0e854da095b913649f94b8e4952963c614fdec6ed352a5dd7b325e189ac4c129",{"version":"426991bc7c6ef8b07f25368efc11a5ef2c1fdcb4e110abcbef7bbbcb65ae9c10","signature":"a47d62b21b8728648357154df78efec4c9b1744f12e17de4441c30fb9bcf3458"},"aa046ae938f750af97f6dff4221afe6cd918d2da0336d4e88c448b445e133632","1030b1c0cfbacabbef95d8fd562758f80a68073c6fdc04860fe33eee0841a5e2",{"version":"52d033de682c070fd65fc4f0e80e9abe06a5cdde52dc9765433b20fdf564d763","signature":"5dc7565c3b3c99112574fe5c138aa9036acd41b2dc38edc058c5c427d2a34e64"},"69bb10b92dd4f5bfe27161be0b293eb7039fb1167c421fcfbb0f32809d57ba11",{"version":"c04b9f614fb6a6133016cd92f594a1b8f19419ea5b22987d42a7e940672816d1","signature":"ecd08c29bec47ef29a6d22ad6537dbe1ba1e211ec0182a6de3dcb3aa50220872"},{"version":"a1acf586d5611819a032a13e445d75f9833e0ea8b47d8b9b1f0ae50a57a9c8ca","signature":"192d5470d058607ca06c2402faeabf8f6e5c8834721f840c2eb21eb60f7105e9"},"a005c07fd14a753cd906be669de75aeb036f5581a8c2acccc2719227f1c2ab55","de22819c86ab04b4d2d96700c14f2a443be7fe6961165dee2cebfa5d33e88671",{"version":"08da834b371d355ec2d05032dd7650fbe540e2ea1722e247dc0199c53a2a20c8","signature":"6a1453d9cff4a08d24cc0953a7dea25f9a1c932725374b68cf4d98890f83a273"},"3dbef6cfa4ae2df84b296cb396826ffc50efe39ab385edda58d7f1c24ffee2c8","c3224f98e58d360994594f2423ef5d0c7bf40c641c19fb8faa2e030c321cdf66",{"version":"1fb5b65e71e39c622335efa852007c494bb7aa01cd34aedfd2be9412b95c15db","signature":"a23955eede9024126fd60dc0693954793fb45df3a7df055973532e6fc08ccd2d"},"1db913e6ac00e65b8de13eb408865530d25ea7c0f71be41b903b891a3d965511","acdd9b7caef0062f56699a7dfd34d71b8f4fcc1a6e51c322b92df5f6412c7e3e",{"version":"049ce62d668ef6f184a3797e2752bdc9b37eebb964256c0d63653fa18401d9ea","signature":"9e39a40e1898e6b25805dbb321176e9d2e3bbccf0f71f76c1d7e920b34e77102"},"65212ca07b846beadeb549f800808dc32ced4a0dd235868937ac34a0c5641431","5a88e86b9b29fde5ecd5714f6a9753cabbb001ab61b8caf0c25ce7edbf906b6d",{"version":"8e63432ba4ffb9c40e71c1812f816d4eb21d72653d34e7c9dfa81e3af92ab60f","signature":"5ab32891d8b10466cb96db76c6bfe7a799515110acfa44efde5e8bc42e8958c5"},{"version":"4d8a62f303aa4b8533003e08d5e1310036bd76c411ba14e08cdf8325f700130a","signature":"421a4264a8db67f39393cfecb77ca4c92ff310df314c466976122c57ff2abefd"},{"version":"17dc941b000fcfb46fbb8cee4434e12e598e700ca3e5323a3d2ec49d4d6b0c8e","signature":"bf4aedf43f07d1386e7285b0a728557c0792879a9e9126da27ba430be45b31f6"},"392b3c5d17e693b118b2714c333d9a2ebc6059c149cfd4146f35b1747a335a61",{"version":"dd2aec28a5423bf75263afb94d61acd3fe66ea16b692fe6b411a84cdc7d900ce","signature":"8b690568544416a06f4975d3340d0c92158a6337a30413f1b5628f6d098a0e38"},{"version":"a16a4eacbaf501c46ed1b5390d1c0be353aa8a779797116135de1a4be191ae25","signature":"4d3bd30062480a9d712d4243b5b04bc90d89e5d700afeb548acb372733dd9670"},{"version":"a0d123b28e07c90cbf2d109fc9c21d902360bf55c92bd5918b69d38444ecf9a6","signature":"c3a2c716b2c07eb9ba223807be925162693499c43908ad9a2b98cb40585141ec"},{"version":"9d0dfbfec555f44b7aad22e2e3ca6bc2676fa87ab1b5dea8e59b0a87ec14f056","signature":"6318aa52ce075852b922ad5580aaafeaa1dbd94a4ea3783f5df198c7365a2787"},{"version":"40e190295f657da6a5213c33065384657542348063663419517b39a84dc233aa","signature":"e963b4e8fbc11378361fb97f965dab23a1aa83262fe5841572742a7a17421d41"},{"version":"7e9a91777401ec9ce9f8d1fbaa50acccd55cebce3edbfff373f28accdb82d2a6","signature":"6b23dd16a6d60e6c79db1836b240670a911377100ddae7020ae2b4ef038d4921"},{"version":"cebcfd7b4f40aba00c1e316df7e2844f662b616109fbe3f87911364a8dd04380","signature":"998e4b25f99719d79e5df74b505d78eee02afb045889879345e5973f2dc10099"},{"version":"9c93d7ebca01a99e4b19d452e8fc6f2327e76049508973d1a27f4d4d6a4711cd","signature":"b032d5e5600115c8e0e06eca29ad5af23fc687edd51353917631805fe155d6bc"},{"version":"6b0d0d5541390b938fe3e03012ddb39a811123caed3761da6d941229f4fff8f9","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"89a01093a50a5119954ef4fdb08f614bf3c1dfa5954f5f7245851fa082084411","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"ddf293c0c11781b991cfb2f9580b581b5d4bf6cd4f48b2e9fd48fa0d01b60697","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c40c4d5c0ebc01a3a6c5ed4e2b7902c918d75c7db1f014a1c405fd3b1bdedf6b","signature":"e8d9abe325941b9ab91dc2f2040dd0022e9b8cadceb4ea7839a320d479304c9d"},{"version":"8db4f5576ed23c370caa6bbd2dc76ec9887fb37a279d4e763feb1a0b0f04c2a3","signature":"ed59bcdd1f62b2f809cc5b2714ca820f03d077f985672d4b8e65f30be2587a13"},{"version":"1516cbe7aa5330182dcd93ecbddebc48f8315366f87e9af40ba88ac0ff53f9ca","signature":"2ffd4b62db6ac8dbda52d0d33d9a6ecdfbd5b5ba9243cdf088fd4d467efec8f7"},{"version":"b29797d34aff7dc657dca9be5ba0eaa7f6c8feb2878ed66d94850be84403670f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"8fbf9bc2586fd1b88db2328f5b85794d57f22b991324dcd9fabae6ce1a41fac8","signature":"dacf6a2bdaee361bcb82bfa1204575aa6e705c005ccfad3a8649a3d6f2c435db"},{"version":"927e9f613856f9ee67752d7badda229b78741dc6bc542f71733d1c582fff3ed6","signature":"10f3d3306e9ab71e0cf670ef4cea07737b8f964135f678df755c539ca4e5feaf"},{"version":"93e5a9922216e3fdbc9b28e932981f8037989815cb8b72182892b91b1c043ad8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"b92cf833491d1d07af28ce316052d7f43ac0a59035f5b40c59812aba66592864","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"699f63f07d8456b110dfb8f1d00e33ebd6331ca8fac3988d0e584c0e1ee9d0c8","signature":"239c17d24b7787f5dea29c1aa36ee333ac36b3189cdc833125a4fac1f7f2550a"},{"version":"4c9a384cf489fa3e6b2ece9df43cd9ec277e396abb7ae547da7d74e2e4f25214","signature":"239736327b8f76b305c07658d8e1ef886b58aa80804d280fbeccb2cee250578a"},{"version":"b02247f30e089826102ca77a3903d3310677e38e852c9a25f12b769fa01bc8ed","signature":"ecaff2db8e5d15f3e2fdf1390deda1b74c92e7b7fab771a22d30693e45c860b8"},{"version":"06ecfc0e7153221207c61c82046f8cc32e6ac2f27aabed3248ae355ebeecbbd3","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"97e807e55c692a67847834ed928c930f7f7a388430d4286232e2d42d0eaa8c9a","signature":"d64778832176b2ed1db6f36845d92529aed5f2312e5ae8c58294d51c2ec25d2b"},{"version":"8d46079eb4ff77766b815512e318d4e5f0172ff97318e81887126a4f218714be","signature":"b24d1a549e29408d8c87243fb9d1c900255f4ce33cb9b866794a3df0195b753a"},{"version":"4bb3bc9ea05eb53baff9900aa5b69a85a268d3e76e790ef113b41a013cf79392","signature":"298afd933a341436221f85ed65c318b039766cb88d52bb9db80cf1fe05761b1d"},{"version":"00a7dd9830e9077da3b9ba9f117bd55084384a14031698a61a648781dabdba3e","signature":"f31e2e2f2f7cb48ccd1cd0d368908f6dab09143e58a33963e11ff62d12f09e1d"},{"version":"d8e818134c5567ac231440610ee1b536a3fb394bb5f15e08e69891f28baa4be8","signature":"37e5512847e933c4a48931d70750100f0ecbeab95982966ce2e744edcc823c6d"},{"version":"8e19e1f951eb4474fdecd357fd3b2b5d9c79ddf1c771fe7d4abd2ea814cb45a5","signature":"5241de7f90eeef61171fb47e1c387be0159580b53442d4a1b18bfb5e9a46f547"},{"version":"57a8ee5e182a1c452924676372e23e55e8255977b120c99f7ed73240103ed00a","signature":"93d97c4129ff381eaee4eb3fdc5e44d4a176139ab905c5861541036740aa62cc"},{"version":"3a857a69bd586c5f11ae8e3c6e5eeae15cf380b000ea4c595f5c0bc038fcb564","signature":"11672e8b051cd808217973f89dc1f6a09d5eec1a2ccdc217999d4494cf700d86"},{"version":"5cf9e41bc5aa4e393dafaffce7016653513254d91e53b67057e52455089e1d59","signature":"0a26c84b09a52e23caa4823f8557ced7917faf5017b787d73a6042e624517d98"},{"version":"2231655ab7a1a428f2d4ca3782fcdfceef380ca43cf50b1f6adccf0c5f3e39b1","signature":"f94f8374e3a8cd1bbdc136dbc7d0ea7a726ec6965918cdfefa8d7a6e9937c47b"},{"version":"087d08041529532beaeea7977703aee141e978c0c57eba7202a4a9b2eabfb1b9","signature":"246b8ffc060fd89e8017c49af2640de37c729050d8455a13b9c5b7aa2fb0f08c"},{"version":"a89187b2b756faf7c596e219c665d9b79cc53f09d57bbb2873121220b19c54f3","signature":"cc88a64b265fcd7a8abce877bc643aabd7f3612d7be324b4374a1fe33766e601"},{"version":"015ad3ca7381ab4a97182d1dd892df5597c60312a4e9df2b0d668976fefa2ee1","signature":"e0021060d2b95f6af5ab3cec49a341783a974faab5d26f0fc87ded5d82a624fc"},{"version":"dec4ace3d5cdf28092772affa5684941655ed18a5ca773d62e2fbb3c1771ed8e","signature":"2e9e7c17b99af18a3085e059e7a8e82099e7dc26aa8cce33f7f4430433434292"},{"version":"c8fa290dea80a99778d51b1c869cbc2bfbfe548454d15ad2a751375aba0e4044","signature":"68e493100a91bec5b7fa0d80e8c1e449a0584bf63348529e954a511c8a96a2e0"},{"version":"2d8b0934a4c9711e82f6f454120f696722d5cfe27372799180d3a804a1abcf5c","signature":"53f932d15ec8fb35c18ac166550dde2ba4f665cf1653dda762fbd11e3ac24ba7"},{"version":"733ab248ec57592e94cf9ff4d9dd7d04d7c312e786c07ea101e1e24f238e615b","signature":"984cb284f65f40af5423b50544c5c77dc51384a32139ac6d4ce2ec4602976cb3"},{"version":"287dc43f37d75e53182a8d9519245ec6593d2d15a0b39b1886e88a7f7954df19","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"3c67abbfaafc431b1f07e8dcee7d7aa2dc94cb379c2f1c494ebf579096121cad","signature":"0e8f1980aa851531881e473244746608ec37877bbd4b503987e592ac77168442"},{"version":"62427d037cfd5c03d7b1b750f4ad54d856827acb8f05b795e66b0fc0b2602715","signature":"761f85978d69b881375065c748dbb20710d3ebf3236571c3c16543c2ef315589"},{"version":"5546efad55e63c3777b3ac07dc44fd272e6cbde200f8631c23005deb99d4e704","signature":"042ed4c98cda8201850270e381f0d82bbc3424eb36d8ab88e025ee67be91f589"},{"version":"7c5a18b6d8ae1b5484b214cf52ecd9736ddfc193261dbaf30d1d1245026cccf3","signature":"b4fc4331ee2d938b8885d76bd634494b5449bcba6055633c66c232b61547623d"},{"version":"10f47caa205469e1710a3696faf37d0c16471fcc059c464f8e3e174bc7c6a010","signature":"43ac9e94f7db0b979d200dd7f5f6b8ea42a8709c360a2bb66ac93c010d9487aa"},{"version":"b35c438040de40d6c6418b92683439287e7d177b83dd56e599e095f668fde824","signature":"ae40f71306e001aa758729fc1f8d7d7026975f882d1d5d1e075decba40390afc"},{"version":"2b924bcc06de44e4dadbeac419aa4c05c83d76b118f6556db1fbdf632c0885d1","signature":"3e440f79c8d1fd845c9a602ad25944b7511c67093e0783b3b4979ce4a32cfad3"},{"version":"8c0208fe063bb35c4c5dc7957e5b0297c48451ad10d997c82aa10f713c348427","signature":"2f4f50e15124fadc5d1b6683b3dc58d46bc99acb325247e792a1482614150fa1"},{"version":"48e2aa44ec54408dac40d9c5983afbd1a1631661b687741785abec5141ab1b5a","signature":"925c9dc40e6ecd6b4c0b9e07b8370b3ddcd940644cd11a40cea9416ab947c67a"},{"version":"56319fe22cda0f2bd339e453cf1d563b2780cfbe641143a1bef13450deb7219f","signature":"3fe55f75f5fe7cce537ab30c3c54cf7cdc9e9cc168926ad6b4cbde0a42994fac"},{"version":"315543dddc2fc6ed838307606a3474e04604f47927aa68ca4c37073fc344b6aa","signature":"c0f9ac0b3adc53b6e829e1db76d88d8bca7c495cbbba75087632d4a4a44eeee7"},{"version":"f6737ad4263270016bfa3d506d1b0b3e75dbdfa7d5f6870543327b0804d425c0","signature":"e81be74246bb1236ab6099d74eab5dab723daa90a5c8c9a015acc465450a1a45"},{"version":"87f71f76bb0547c92f8ec349c83489496604c6c62e579903cbcbaf55b3b06359","signature":"6e09c39eabc1bb77c07cb584b4031dc838f082a4d49cef225d5269de4f693dd4"},{"version":"992d32d43b4c56a8864f73c287555c672e3ab082896fb61075a830b960660009","signature":"51c4a8455f4ba936a67b3ae6fc730a20cae29cbc6823109859d63c8c91cd2b5b"},{"version":"82628f1b4ba34e036dac2f6c5a2e2684f70c7e0aed5eed8853cd0cbde51439dd","signature":"6b996f9d72b7e75137c29c3c2881dfb032d8ecd1641386fa1baa34f258b8fffb"},{"version":"308d7bcfc0424942a792eb52a0cadc6beee12791f4893b4ecf5abd505236f2c9","signature":"53fe5f0dded067f0d80d9a13110c3c709ae6c71761f63ce97e1135437e0e64fe"},{"version":"b4771ffe3027e36a45504d4cd922b03b9ffe78207fa50afc8e9d57b36f778aed","signature":"a547f68c0f67a714571e594801540503612d250167c2e4402ee8e6a91d10528f"},{"version":"e75faca758d6f76a07490df0d87737d07438eabdcc0676ba91cec12ba3c6fd57","signature":"2485a93fc4ae8d148770a8dc0071fb70971183297b97ac65a5b6aeda2c79e049"},{"version":"8ecf39833788a1bd5ecba0a9cbe4de046f853d9b51216a7dfb4074a8db01641b","signature":"9854e74121654f999ea6569dd270d4c6638a9171d25c27b2135c085d08bfb318"},{"version":"49a08e16cdc9f764eb89a9d477144090cba91f7acc9685c679872c57db9b4a4a","signature":"e4055cad894bfe4f8b80923ffa69103edbbf82946cf5ac526a827fc49b7fcb0e"},{"version":"a66d3b4558cfcfc6930020380f85682502d8e66475dea90d406aa4e8aa373c99","signature":"4d021f62791c89ca27c568f024c3b95af0b5073d42d31b82b6185decb085a6c3"},{"version":"b8d5d63104a711901e2fdc5c09d08b2253fe8a4c79e13a9b91353713297692cf","signature":"02b228dabeb1b318a700b1a2681ce019afec85b179dca45e5e8a499723cf8011"},{"version":"d41a42ad79c9d6d0d5c631c638b509a6a0b0a4fb77f2a14dbfcae97fc0d7e270","signature":"faa2bd9cfca54191522ce8b5fbfeb91c97b9274cec10c64e68c367ee309ee9a3"},{"version":"7c21445fcf090a77169942103726fd167005816bf683a435a95fd14028e79912","signature":"72f7b89360cce8750153b28463d90875c036e262a9c3019d2aa0392b585902b8"},{"version":"6309398efdd3fafe020aa80881c7636e7225b4a4a996a67fb8be83676e6a1766","signature":"98693d30664b5a8409e105376e439556a5e6dedde7faa346a622169d21c93673"},{"version":"c2fb328f89f25bcb5cb08ae324b5f0818cc5f07f4ac266163a3f8e8ae69d4d0b","signature":"26f52696a7af3d1bed6dc010f3aadd2c8cabfaa70a0eeac56d99686082b97ad5"},{"version":"0a10b37b32fbd0fd1961dceab80b14afef3646708f8d0c2fa507bc363050690e","signature":"903deb7a867f20a543d928345331e792c03665541b3810da43f1866c6c575af2"},{"version":"3869b8dc38f5ca07dc2317259c98881ec2227cb89ff6489e7509635022c72d89","signature":"d72e8063c558cdd6ef2dc982f43c0f659a088adc9cdf9fbe70ed021c77484cca"},{"version":"103ed395e4ff923110e3db2cecc94584ca6c67594d220a7a258dd83aa4a4c90c","signature":"ae63cdd9be1eaf2332468a06e8d5deea6ff78bafc66efb90be313a6c398fc178"},{"version":"c0aab8aa5bc3244875e83cc0f091221d58ef535c2cb336b1449c64187d00398a","signature":"8ac15c4bfcdf83dc55eebdfc0bfb36e02905810a0a982faa4094ab79855bb308"},{"version":"1437c7f5858fb37c73c2a05c3825a714ab6f3cd54bcb7bb2831e928d08dfcfc5","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d336e2842c7ad6f757d182759869fbab5ee3c26c01e01ee607c7bad82d5f5fa8","signature":"429248d7944f5b776f5bcbfeeb0be199219fce3df503bac8cbc50e1fcf70dce1"},{"version":"e05e9523ee4300c287cff0b0382dd3b6ba520796a7362a2285997035609a7e6c","signature":"033fb6f6bc68a077d2d2cb09c1522d430ff64114a50019315aef3a65bb7a4af9"},{"version":"8d32443bbe4ebbfca0fc254c7757bbb6c7084900a0c6f513cb28491eec1d1309","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"40ee5363c8d2ef9ea43fd4f879a025d99d2e3f4811a78920dd169cb516541c7f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c078bf0cf8879269e3ec0e425cc642a55390bb0223e33288af7ff4302fa37550","signature":"589de113a7b0f2af5b958f2b069a7d2573a9546799d9a206dfde39efa8fa098b"},{"version":"092f00cbb4c36cca9e406f271ecc8d66d30663fdddee90e33daccf4fad91c0b0","signature":"8f52e26b82036a21ef02c65ef325d29a928d547666d7f8d310c66c539aff4270"},{"version":"b528df67feec9212f224076741f20718c4ebf3a0a997b44ef4b6086d8fcaac65","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"1083d06f422574d0c14f1092638e566a2b01c64fbb2cbcf7db8ceb7c4837104c","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"45bc4d047c886ab9b6d33fcfd9c407fbcd85a86338e317a9f7e9de41712c5f2c","signature":"f2d9cb4dc3408d8c96be87a250ae8fded3f4f1e1a95cbc6bc5d5175ec83c31ee"},{"version":"857bbb619afaa3f44eebe5c3c9b945e4c67809ad9c773f62241578c989fba6b3","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"db80bfb52f2aa3db3e969d6dacc92161c8d290657a6cae7444c5568e520204a0","signature":"7c36285bda96bebb8aeb90a16175e65fb39ddb4efb0be8fb23f892f3975d1284"},{"version":"ff61e1c2960bb2b5a63d737efdd881bb59620e5ed1098f8822229e26cc42e595","signature":"bf8ca0b265d0278db8022889f56bfed195f74f080273e31efff6057e979f2dc3"},{"version":"34d846061a08d3e6fbcc89caa7ca35c9a87ff05dde8a0af097f744f9006f779c","signature":"1132689b73e5e1becf4426fd24a8e29654e153d737bbce013bf8ac045a5f7798"},{"version":"64349378a2c0c6f350819611d4c013264a6c2b21530b5077de422a34e881508a","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"eebe80f7676496d904de7a0cccebdb7b1463a4f14a4e8389d36838b55c3171bd","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"6f074e9fa941991cb32da6f25b164ca84c5e68d971e24d30c3efcd206f426a7e","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"0ba430ed8a408a86454842dfc2eb506858ad7d531725c1e754f158a72eec130d","signature":"4457315d4b47ae0b46cef30602a35999d6751240f1cd6a7fc53daa33d0d6cfdc"},{"version":"8b4000d1fae0b12844500a68d3f62e4482e05a4d51491c733cd19c0ec51bbd77","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"a14f4261b9b324956aee398fb3c450cd408fcedf087d5f454bea2daaa4a5ca90","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d74df3a425cf8caa3df44327225fdcb04d2ac6e70578e7d3146dc85b3b4e9841","signature":"df446da13d0ff7fd3c7b108ac9a5ceee3c38a26df6dc24ce721379fe85a1967f"},{"version":"d447c78d30f35430b1c83e453f2249baae51df637f06c39d117eb52dd84ba5c8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fab60b3dfda338a1a1d53c9f8e51620d06945145e46f70284668649caa355e74","signature":"454923ba54e9232e88d84d89499377cdd502d1d26d463739b218a3b85c5cf66c"},{"version":"e6d0bc31c6335fd1fd94a4163e40b96335e3d7d3b35079a22caffe74766d6e61","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"65ef1177609cb72e66023b9a59b6dca25e03a805458251be57c9906f1ec026e0","signature":"3f6ee39fd1af27ff3c0eba791cfec9e76e6fba45c4a60cc77a7a51361c5f4502"},{"version":"c0f165462ac8113b6e38620cf07ccc995c3df2778a6a62e341acdf03aca1d722","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"641e130714be1c625ea1bbec882ef94ff08ca8bdc5ed2086b8673cb3a2b5c61c","signature":"42cfe24e606333169cefb1713c33ea837ac27f6ba89528381dea393e52b39666"},{"version":"d1be997d2035e874afb562cc28a15568a27186e84d8aa4e2b37d64f6183c21a8","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fa557a769b780420ac070351e332af196f693e0cb8feac75ccdfec911b3f9b82","signature":"0ee9541abbf67ab14c3ebedd9ac350e45f40005910e7aa2f74c79888dcf524c0"},{"version":"8502e84dab02317e48a05ced2264616f975718ac6741c41bb2f4167172ea3262","signature":"00ec49a2de44e253afd3e4e0aa276921a2614528be82e1dfe33e9e6c1d36c50e"},{"version":"434919115eca15c8acf51336166b1b42bc22c92b9cb57fa85a4f4d0d487bef30","signature":"f0534b73f74b32651a6c0cc87cbd3c68abc8d525a221a8fada57bbcc0504439e"},{"version":"3f18ed0387ce51a0ae64258ce038558adce72107da04c722fcd106bd0bf435fb","signature":"3ed3607be89c07d5f0e4898f60ce23ba66e484d1259133f3617b0cbd10a41432"},{"version":"dc69a9016516ab0d8dcb78d66461243487cbdbf0740eb3a310546f631d77b7c9","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"80602776f7578051c41d44e27ba7fb5e1da0d372d5dee46441c1533c84fadc20","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"504cec130a144a59c970ae5450f03d4282802a2def022535b9c6b723f1566444","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d2a1c5e07f8255297a6096e8d495397a7e6966233d2d74ed20f29b25d4e45a5b","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"314557bb4d6b5d1c0505cc297556c06cecf778f861faf5b24994bf03bd12840d","signature":"91f0f6ac4a023958bff61b37cda5b32ced352785b2bd5a868d4a4b6253b9b4eb"},{"version":"0cdafaa8a286744d0116fe3f6f4618b02791f16570c48b199a1700caeef35360","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"345b4e71ea1925d5a96a3467c0b28748846795f09ce1e15dc7ea8ef75941369b","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fdf9d602c50ac8cd4d910ac58bbe54440cf63489e7231e7019ab2c82f9096d6c","signature":"b4b289abeb37159a42356b4850bb9ea3175613d9b0766b3a9696ebe03f4d8b25"},{"version":"6c520daf55c8096bb83d8a0322f148000d754c34d9c47b0a5fc73712b81f5a39","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"85ffc9f739f8afb45b07555e07d44fa3a98a781040b6378520e9e2f401913d86","signature":"dde0c5f2d4a44a6df40d34e785dc9acc1155fbcbc3333dc14d30f074c0920217"},{"version":"d1cc9adca2a645642ff4931a13db670d57b6873e9553f651308e012b2ef8b61f","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"b4779aa71c3185c6f79bb03e827eed2e72c0d9a5050bac60cf96179729c099aa","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"653a7956fab9c3b54280ffa220b8653103cb5fb1248d1a0ca9d4d5367e059ad2","signature":"1b3345c339caf9085207ce8165bfb2a41e8532cebfae2f56522b070f9653f2e5"},{"version":"79e85a7daf41abee7e7a143147c115319dc7ad7318ffee4d5a76f1187e3ba1b6","signature":"ff3d8b83b6761638ee9c876d483be297d79d7a938e9b13c25c7bee8a02ff2a07"},{"version":"24e5215d5985807f3f9b281a1aaa84f2bd7d8a9129deb232effdbaa3069fbfec","signature":"81b9825a81df750ea629ca755230e6857fc5a2bf4f963c6b73c648e341c2cc02"},{"version":"3f73c2fd95c077468c7859450ab47c417d55ade34337c998970e60fd0a3285c6","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"3276373f20c937619e123b6eb1f8fa7576d7ffa9d30af4f4112c2f7ad7ca47d7","signature":"a67f2290272db3142c5f4ca1dd72887b73a2cfc86236f839d6a7896d273ab987"},{"version":"d4b08de1fbb7996f56d096097896af4aacbb8ac7103aa92b8930f70128460a1e","signature":"6e8af5e2db58d7ca05a6c28e74a6a65c6f6891106b532a25894d7947bcb252c1"},{"version":"96106e10b97b9c62432b6de7b84575f233c3000711e1b99ef0ee3abdb59680c8","signature":"9a3a0d54096969f74557250a6b6dfa4712dee627ebb210e6c3930e46fdc8950c"},{"version":"cbac98b0440a21b4a72f5dc7ff5bd774fd0ead37a7ea829369dda84e9406d961","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"5d9551b82575b9329bffb738a21e33ed9cb8d5755b0fea27ef304cd37904e2d9","signature":"2f7de90bceaed25d04bedf29163ac4f4a65cac56d5a5209c97033fb79dc7b5b6"},{"version":"9aee9555c4cd0f66e8c9247acb0bf387c8323255bdc9e493596facf6a5e877d7","signature":"72afdbd13065a870397e5477a0a956ab9e433018fc1d2949813d0705eceb02f2"},{"version":"918325a1a0ab41a28a431d3700e08717bc99edfa9958d21a2d355984a7a626ba","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"c553e6620bd6fe7f97104da5ff0e043143ee0c8a0460910af52fad7fdd8341fa","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"fa895de98c25a1cc6147d6aa8bce6ed0a7321d6c824ad3e8768ac6df7eaa6a8a","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"d54529da58e5c2d0f93c24ddbfc8b21d0eaaad0f296e6085880c625df93e2bf4","signature":"8b812361654787caa90ec94c2b062bb6718536a4586f47654a40a46a47dadd45"},{"version":"3179f79ad8cbd74fb73f517ac427f877d99e07ce15a69249db8a8a22cae008e1","signature":"100cdb3741c5433db7450deafda66c05f7f4badd1cc4800fb47e549387af30a4"},{"version":"00f0ade6b490686bc672d1a3b965c89d6bb1622dc266079ede8641378ecf2a14","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"16d259f5a9c4db34ff0a12ea34a08874b7ea634d6519e28d8c3447a531216388","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"de06796d5707d52de34dc4f0e9d65864fc7d944b7793994ff30b3983a38671ff","signature":"a5a12f3bd25d408c2b3403c95c45b63b66f22479a8a83e5f06d4a69ad1397532"},{"version":"e363f5de6227f406bef0e2d15a76f31f396adceada2d268b5cf5906cca8f6a19","signature":"0edc08b77e672558c12383d45bb491cb14e93eaa37bd828c4df65cfd3b8418d7"},{"version":"6f24aeb6483abafd647aba55f229c14359aea9cd9ec1f5ed807f5dff8c1ea50d","signature":"32a58ac4fb580e18cca326fc5df3ae0cd5ff48f09e6acdb17f92d24c5aab3d4e"},{"version":"197d9e97ecf41553fae8b9e637b2169c5d39a008e211f5eed7cf061ffc746f44","signature":"2a56342af1adb703f27671c430f122167465f7846c5045b126ad169ae5bc427c"},{"version":"d51db73ca308568dd33419536e39ecb8f99aaf9653b96c0e00cc2bf0ad272f6c","signature":"6af9c9cf1c4c568719bd14dbc93eb8195a6dc9befe982b0d69ca4367b7f85acc"},{"version":"62d2ae9980f4e08b28c11e3f60e608bc2a805a3b02aacc3582abb258be62e48e","signature":"19989008e43ba54e0ab417eb18bca7744c3c62be777d9c9c30e7227779f8d661"},{"version":"08990d6d4a6a6d03e36c488a2d0b09a0073fc14e16ea27b7e535591e26b590ab","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"020b37b6296174b826055de7b85cd05e1eb8f3266f147615c8146af740b12c4a","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"158131065919826ac46aad3d6fe2c461200d1bc6531fae007ba8df8dbb7023e6","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"77dd810d73b28fe0450fce5b138999fc4ef677fc98bcebda054afd10026c7ecf","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"37bb66413859c3dbcbfe24678f645c45e34df5a222254712b45b0c6e6b461555","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"2d47d7f2f07a75670ba2e2808c895e002765bdabe4edd27e5c8403970507bc60","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"924d1beb2a895c13dee5f86054d24c5177f2495085044ae1fb193615ce133b59","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"fb954fd45b91f0b21fbd406ae237f45637e22bd401e1ee1cb54ff0c213ee00c8","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"95ed8811666f5130e441b5a4122b35b24b4579c76b7dfa067c16788f9bc08883","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"abef5ea025b59ea53ecea220f12462e61132daaae83fb4f7ce07a1ede8946fb4","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"90279897307ff19b886ac908c5a26a3f50802258a0ead61a89ba990f1e72e8c0","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"adf2f57bdaaa5a479868ac68fa0a016d06e3329ac6de38b505d9f72272c03257","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"facc5ad89c91367b9073e1460afa4dd59204283d286fcbdeb06c1bf079b76e80","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"f88841c2b5cd38cc070778aa22b760c9e5bbabaf29bd32242e350edd5a8e96ab","signature":"9fca64486ca5501df38e7837f0a54ec95b133a939c021242bc3547c5a4c31fb6"},{"version":"68c0f599345d45a3f72fe7b5a89da23053f17d9c2cd5b2321acabe6e6f7b23b3","affectsGlobalScope":true},{"version":"fd6f0bb5bd5f176b689915806a974cdb12a467bdaa414dc107a62d462eb7ddd5","affectsGlobalScope":true},{"version":"861d9f609588274557802e113bbec01efe7c0bba064c791457690e16bd86a021","affectsGlobalScope":true},{"version":"a1819d8e80fbf3e8d7acb1deafe67401ccad93d59d6a2416bdfc1a1e74ee7c2b","affectsGlobalScope":true},"bc1ba043b19fbfc18be73c0b2b77295b2db5fe94b5eb338441d7d00712c7787e","8ac576b6d6707b07707fd5f7ec7089f768a599a39317ba08c423b8b55e76ca16","15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true}],"root":[[19,1168]],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":5,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitThis":true,"outDir":"./","skipDefaultLibCheck":true,"strict":true,"target":7},"fileIdsList":[[1169,1170,1171,1172,1173],[1175],[71,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,240,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,214,215,216,217,218,220,223,230,232,239,240,241,244,248,249,250,251,252,267,268,271,275,284,289,293,300,303,305,306,307,308,309,310,313,314,320,322,323,326,327,328,329,330,331,332,333,334,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[27,33,73,223,232,242,243,244,245,247,248,335],[214,244,254,263,264,289,290,295,296,297,298,300,302,335],[27,239,242,244,245,249],[27,38,71,217,232,239,241,244,245,249,251,302,303,304,335],[56,75,78,85,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,205,207,208,213,214,217,223,232,239,242,244,245,246,249,251,314,318,321,326,329,335,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[27,217,223,232,242,244,245,246,249,275,335],[71,75,223,232,242,244,245,249,303,319],[27,204,217,223,232,242,245,249,303,335],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,207,212,230,232,239,251,284,309,335,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[207,217,232,239,243,245,251,303,321,335],[78,207,214,217,242,245,249,321,322,324,326,335],[23,27,56,71,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,230,232,244,245,263,264,304,308,329,335,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[63,78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,232,239,241,242,243,245,251,252,268,271,275,293,303,308,313,314,318,325,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,137,217,223,232,242,244,245,246,249],[27,31,78,85,108,115,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,232,236,241,251,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[56,58,78,79,85,89,108,114,116,117,118,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,207,208,209,213,214,216,217,230,235,239,241,251,252,268,271,275,284,293,303,308,309,313,314,321,326,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,459,467,472,478,479,482,484,485,486,504,507,511,513,516,518,554,559,560,561,563,570,577,579,584,589,597,600,624,626,631,635,641,644,657,658,681,708,711,726,737,830,847,1022],[55,79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,681,1022],[27,217,232,239,242,243,244,306,335],[217,232],[65,251],[27,52,58,78,79,87,89,90,101,105,108,114,116,117,139,141,143,144,146,183,185,187,189,191,192,202,203,207,212,214,215,217,218,227,230,235,240,251,260,267,275,276,284,289,300,309,310,311,332,334,335,339,340,344,346,350,352,353,354,358,360,365,367,380,387,388,389,396,459,467,478,481,482,485,511,516,554,559,560,561,577,585,589,597,624,641,642,657,658,681,708,711,726,770,830,1022],[79,87,89,90,101,117,146,183,187,192,203,207,215,217,218,227,230,232,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[332],[79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[25,27,37,73,223,232,239,243,244,245,335],[27,37,232,239,244,245,246,247,335],[27,38,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,244,247,252,268,271,275,293,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,73,207,214,217,223,230,232,239,244,335],[27,239,244],[27,33,232,239],[27,232,239],[223],[26,27,74,115,207,217,223,224,232,236],[27,32,72,73,223,224,232,233,239,387,458],[19,22,23,24,26,28,32,49,58,65,75,78,79,87,88,89,108,114,115,116,117,118,128,139,143,144,180,182,183,188,189,191,195,202,203,204,207,210,214,215,217,220,223,224,227,228,229,230,231,232,233,236,239,240,251,275,284,293,309,311,334,343,346,350,352,353,354,355,357,358,360,367,380,389,396,458,459,467,478,481,485,503,511,516,554,559,560,561,585,589,597,624,641,657,658,681,708,711,726,770,830,848],[32,56,78,79,87,89,90,101,108,117,118,122,124,141,146,178,180,182,183,185,187,192,195,203,207,208,213,214,215,217,218,220,227,230,232,239,240,251,267,275,289,300,308,309,310,311,321,329,332,334,337,338,339,340,344,346,348,349,350,352,353,354,355,357,358,360,365,367,370,380,387,388,389,398,455,458,459,472,481,482,504,511,518,554,559,560,561,570,577,585,597,600,624,626,631,644,657,681,770,847,1022],[347],[87,117,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[88,182,183,204,217,343,354,380,389,503,511,560,624,657,830,848],[65,87,117,119,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[87,117,203,207,215,217,227,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[19,22,26,33,36,39,40,79,87,89,90,101,113,126,141,146,183,187,192,200,204,214,215,217,218,223,230,234,235,240,251,267,270,275,289,297,300,309,310,314,318,332,334,339,340,344,358,360,387,388,389,453,459,475,482,560,561,569,572,577,589,597,777,1022],[230],[32,58,66,78,79,85,87,89,108,114,116,117,118,119,121,139,143,144,178,180,182,183,185,189,191,195,202,203,205,207,208,214,215,217,224,227,230,231,232,251,275,284,308,309,311,314,318,326,334,346,350,351,352,353,354,355,357,358,360,366,367,380,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[32,56,57,58,63,74,78,79,85,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,179,181,182,183,184,185,187,189,191,192,202,204,205,207,208,209,210,213,214,215,216,217,218,220,224,230,232,234,235,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,365,366,367,370,380,387,388,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926,1022],[56,58,74,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,177,182,183,185,189,191,202,205,207,208,213,214,217,230,232,233,235,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[65,183],[87,117,118,141,180,195,203,214,215,217,227,232,233,234,235,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,89,117,141,185,203,215,224,227,234,235,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[19,20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,215,227,230,231,232,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[19,23,24,32,78,85,86,87,88,117,118,127,131,137,141,146,180,182,183,187,189,195,203,204,207,209,214,215,216,217,223,227,230,231,232,235,239,240,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,503,507,511,513,560,563,573,577,579,581,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[118,180,195,203,230,231,232,311,346,350,352,353,354,357,358,380,585],[87,117,118,180,203,204,215,227,230,232,239,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[19,20,47,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,207,214,215,217,227,230,231,232,239,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[21,22,26,71,141,223,228,235],[21,22,26,39,71,223,228],[32,65,71,115,217,223,225,226,227,230,232,236,346,458],[32,87,117,203,215,225,226,228,230,232,251,275,309,311,334,346,350,352,353,354,367,458,481,511,585,770],[23,32,78,79,85,87,89,90,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,214,215,216,217,218,220,222,223,225,226,227,230,231,232,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,345,346,350,352,353,354,355,357,358,360,366,367,380,387,388,389,458,459,479,481,482,484,486,507,511,513,560,561,563,577,579,584,585,589,597,600,626,635,657,681,737,770,1022],[344],[79,87,89,90,101,117,146,183,187,192,203,215,217,218,227,240,251,267,275,289,300,309,310,311,332,334,339,340,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[87,117,118,180,195,203,215,227,230,232,239,251,275,309,310,313,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,117,181,203,215,227,232,251,275,309,311,334,343,344,346,350,352,353,354,367,481,511,585,770],[56,63,75,78,85,87,108,114,117,119,121,122,124,127,131,137,139,141,146,178,180,182,183,185,187,189,195,202,203,204,205,207,208,209,213,214,215,216,217,223,227,230,231,232,241,251,252,268,271,275,293,303,308,309,311,313,314,318,321,326,329,334,335,338,339,341,346,350,352,353,354,355,357,358,365,366,367,370,380,387,389,396,398,455,458,472,475,478,479,480,481,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,585,589,600,624,625,626,631,635,640,644,657,658,681,737,770,830,841,847,926,1022],[22,26,36,55,58,71,78,79,87,89,108,113,114,116,119,126,139,141,143,144,183,189,191,200,202,203,215,223,224,227,230,235,251,270,275,284,297,309,311,314,318,330,334,346,350,352,353,354,360,367,396,453,459,467,475,478,481,485,511,516,554,559,561,569,572,585,589,597,624,641,657,658,681,708,711,726,770,777,830],[22,25,63,71,92,115,117,118,223,230,232,236],[20,23,26,32,71,86,87,115,117,203,215,222,223,227,230,232,236,239,240,251,275,309,311,334,346,350,352,353,354,367,458,481,504,511,560,585,770,848],[32,87,232,239,337,350,458],[240],[52,87,88,105,108,117,118,131,143,176,180,182,183,187,195,203,204,207,212,215,217,227,230,231,232,251,275,309,311,334,343,346,350,352,353,354,355,357,358,365,367,368,375,376,377,378,379,380,387,389,481,486,503,507,511,513,554,560,573,581,585,624,642,657,770,830,848],[87,117,141,203,215,227,235,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[23,26,36,65,87,113,115,126,141,200,222,223,232,235,236,270,297,314,318,377,380,453,475,569,572,589,777],[92,118,119,180,195,203,217,230,231,232,239,311,346,350,352,353,354,355,358,380,585],[78,79,85,87,88,89,90,101,117,118,127,131,137,146,182,183,187,189,192,203,204,207,209,215,216,217,218,220,227,230,231,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,360,366,367,380,387,388,389,459,479,481,482,484,486,503,507,511,513,560,561,563,577,579,584,585,589,597,600,624,626,635,657,681,737,770,830,848,1022],[22,25,26,27,38,49,56,58,62,63,64,66,70,71,75,77,78,79,85,87,88,89,90,101,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,160,164,175,177,178,182,183,185,187,188,189,191,192,202,203,204,205,207,208,209,210,213,214,215,216,217,218,220,222,223,224,227,230,231,232,236,239,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,387,388,389,396,398,455,458,459,467,472,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,573,577,579,581,584,585,589,597,600,624,625,626,631,635,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[58,72,74,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,141,143,144,146,183,187,189,191,192,202,204,207,209,215,216,217,218,220,230,232,233,235,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,337,338,339,340,341,344,346,350,352,353,354,358,360,366,367,386,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,573,577,579,581,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[65,131,187,217,275,387,486,507,513,573,581,657],[78,85,91,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,267,271,275,277,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[22,26,27,30,62,64,66,70,78,79,85,89,90,101,103,114,115,118,121,127,131,137,139,141,146,160,164,175,177,183,187,189,192,202,204,207,209,215,216,217,218,223,224,230,235,236,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,368,372,387,388,389,458,459,473,475,479,482,484,486,507,511,513,517,522,527,531,536,542,546,551,560,561,563,569,577,579,584,589,597,600,626,635,638,640,654,656,657,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[27,65,79,87,89,90,101,117,146,183,187,192,203,215,217,218,220,227,232,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[27,32,78,79,85,89,90,101,103,118,126,127,128,131,136,140,146,183,187,189,192,204,207,209,215,216,217,218,220,222,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,458,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[25,26,27,32,34,62,64,65,66,70,71,73,78,79,85,87,88,89,90,101,108,114,117,118,121,127,128,131,137,139,141,146,160,164,175,177,178,182,183,185,187,189,192,193,202,203,204,205,207,208,209,210,214,215,216,217,218,220,222,223,227,230,232,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,312,313,314,315,317,318,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,366,367,368,372,380,385,387,388,389,396,398,458,459,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,577,579,584,585,589,597,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,688,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[21,141,232,234,235,239],[21,234],[141,233,235],[21],[65,79,89,90,101,146,183,187,189,192,215,217,218,219,232,238,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1015,1022],[58,78,79,87,89,108,114,116,117,131,139,143,144,183,185,187,189,191,202,203,207,215,217,227,230,232,251,275,284,309,311,334,346,350,352,353,354,360,367,387,396,459,467,478,481,485,486,507,511,513,516,554,559,561,573,581,585,589,597,624,641,657,658,681,708,711,726,770,830],[23],[23,32,132,390,391,392,458],[23,32,458],[27,220,237,238,1015],[24,62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[232,239,272],[214],[25,26,27,28,49,57,58,71,75,76,78,79,85,89,108,114,115,116,117,118,127,131,137,139,143,144,146,183,185,186,187,188,191,202,204,207,209,214,216,217,223,224,230,232,236,239,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[36,113,126,141,183,189,200,217,223,235,270,297,314,318,453,475,569,572,589,777],[22,26,30,33,49,58,71,78,79,90,101,108,114,116,117,128,139,141,143,144,146,183,187,189,191,192,202,210,215,217,218,223,224,230,235,240,251,267,275,284,289,293,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[32,35,56,78,85,88,108,114,115,118,121,122,124,139,141,178,183,184,185,189,202,204,205,207,208,213,214,217,232,236,308,314,318,321,326,329,343,350,352,354,365,366,370,380,389,396,398,455,458,472,475,478,480,485,503,504,511,518,551,554,559,560,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,848,926],[23,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,271,275,293,303,313,314,326,329,335,337,339,341,346,350,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,128,146,183,187,192,209,210,215,217,218,232,239,240,251,267,275,289,293,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[21,26,36,62,64,66,70,85,113,114,121,126,139,160,164,175,177,200,202,217,223,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,27,65,78,79,85,89,90,101,115,118,127,128,131,137,146,183,187,189,192,204,207,208,210,214,215,216,217,218,223,230,232,233,236,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[115,209,214,236],[23,24],[21,22,141,235],[26,37,115,223,232,236,239],[25,26,27,34,38,141,222,223,232,239,289,385,389,688,729],[25],[222,239],[222],[232],[26,115,223,236],[32,458],[26,32,39,141,223,235,458],[115,236,337,350],[32,383,458],[21,22,25,26,27,28,29,30,31,32,75,108,115,141,159,207,222,223,224,232,233,234,235,236,239,252,385,458,484,560,729,772],[32,77,141,224,232,233,235,381,382,384,385,458],[22,25,26,32,36,113,115,126,141,200,222,223,232,235,236,270,297,314,318,453,458,475,569,572,589,777],[21,23,25,26,27,28,30,32,33,34,35,36,38,73,77,92,113,115,126,141,200,220,221,223,224,232,233,236,237,239,270,289,297,314,318,385,389,453,458,475,569,572,589,688,729,777],[23,31,32,34,73,74,75,108,115,141,159,207,222,223,224,232,233,235,236,239,252,289,337,338,350,381,382,384,386,389,458,484,560,688,729,772],[32,35,36,113,115,126,200,232,270,297,314,318,453,458,475,569,572,589,777],[32,35,115,458],[27,38,115,222,223,232,236,239],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[21,22,23,25,31,32,52,55,56,58,65,71,75,76,78,79,85,89,92,105,107,114,115,116,117,118,121,122,124,139,141,143,144,159,178,182,183,185,189,191,202,205,207,208,212,213,214,217,223,224,230,232,236,251,252,284,308,309,314,318,321,326,329,330,350,352,353,360,365,366,370,380,385,389,396,398,455,458,459,467,472,475,478,480,484,485,504,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,729,737,772,830,841,847,926],[21,22,26,30,36,113,115,126,141,200,214,223,224,235,236,270,297,314,318,453,475,569,572,589,777],[48,52,58,78,79,85,89,105,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,217,224,230,232,239,251,284,308,309,314,318,326,352,353,360,365,366,380,389,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[41,48,52,58,66,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,232,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,36,38,48,49,52,56,57,71,75,78,92,105,108,113,115,118,122,124,126,141,143,178,182,183,185,200,207,208,211,212,213,214,217,220,223,224,232,235,236,251,270,297,308,314,318,321,329,350,365,370,380,398,453,455,458,467,472,475,504,518,554,559,569,570,572,589,600,624,626,631,642,644,657,681,777,847],[52,78,85,105,108,114,118,121,139,143,178,182,183,185,202,205,207,208,212,217,251,308,314,318,326,352,365,366,380,389,396,398,458,475,478,480,485,504,551,554,559,563,570,589,600,624,625,626,640,642,657,658,681,737,830,841,926],[36,49,57,113,126,128,141,200,210,211,214,224,235,270,293,297,314,318,453,467,475,569,572,589,777],[52,105,108,143,212,214,251,365,380,554,642],[25,31,32,36,47,48,49,50,51,52,56,57,58,62,63,64,65,66,70,75,78,79,85,89,105,108,113,114,115,116,117,118,119,121,122,124,126,127,128,131,137,139,141,143,144,146,159,160,164,175,177,178,182,183,185,187,188,189,191,200,202,203,204,205,206,207,208,209,210,212,213,214,216,217,220,223,224,230,231,232,235,236,239,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,385,387,389,396,398,453,455,458,459,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,572,577,579,584,589,597,600,624,625,626,631,635,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,758,761,765,770,772,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[56,78,85,108,114,118,121,122,124,139,141,178,182,183,185,202,205,207,208,213,214,217,232,239,308,314,318,321,326,329,337,338,350,352,358,365,366,370,389,396,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[58,65,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[56,57,58,78,79,89,108,114,116,117,118,122,124,139,141,143,144,178,182,183,185,189,191,202,207,208,213,214,217,223,230,251,284,308,309,321,329,350,352,353,360,365,370,396,398,455,459,467,472,478,485,504,516,518,554,559,561,570,589,597,600,624,626,631,641,644,657,658,681,708,711,726,830,847],[26,30,39,49,52,57,105,108,115,141,143,207,212,214,223,224,235,236,251,365,380,467,554,642],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,214,220,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,141,235],[217,220,232,239],[19,20,79,89,90,101,146,183,187,192,203,215,217,218,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,353,358,360,387,388,389,459,482,504,560,561,577,597,1022],[23,24,29,56,58,65,71,75,76,77,79,85,89,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[26,30,58,71,78,89,90,101,108,114,116,117,139,141,143,144,146,183,187,189,191,192,202,214,215,217,218,223,224,230,235,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[26,27,33,37,58,78,79,89,108,114,115,116,117,118,139,143,144,183,189,191,202,203,207,217,223,230,231,236,239,240,251,284,309,346,352,353,354,355,357,358,360,380,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[41,232,400,402,410,413,414,417,419,420],[401],[41,43,45,48,232,400,401,409,415,417,419,420,444,446,448,450,452],[43,46,444,446,448,450,452],[41,232,400,403,410,413,415,416,419,420],[48,401],[41,232,239,400,404,410,413,415,417,418,420],[41,232,400,407,408,410,413,415,417,419],[401,407],[41,48,232,402,406,407,409,410,416,418],[41,48,232,406,407,408,410,414,416,418],[41,48,232,403,406,407,409,414,418],[41,48,232,406,407,409,410,414,416],[41,48,232,406,408,409,414,416,418],[48],[41,48,232,405,410,411],[405],[400,402,403,404,415,417,419,420],[41,45,46,47,232],[41,46,48,232],[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441],[421],[48,421],[48,421,423],[41,42,43,45,48,232,413,443,444,446,448,450,452],[43,44,444,446,448,450,452],[41,42,43,44,48,232,444,446,448,450,452],[41,48],[43,444,446,448,450,452],[41,43,45,48,232,444,445,448,450,452],[44],[41,43,45,48,422,423,442,444,446,447,450,452],[41,43,45,48,232,444,446,448,449,452],[41,43,45,48,232,444,446,448,450,451],[25,75,79,89,90,101,118,146,183,187,192,203,209,215,217,218,222,223,224,231,232,240,251,254,255,256,258,260,262,263,264,265,267,275,289,290,293,294,295,296,297,298,299,301,302,309,310,332,334,339,340,344,346,352,353,354,355,357,358,360,380,387,388,389,459,482,487,488,489,490,491,492,493,494,495,496,497,560,561,577,597,1022],[209,217,223,232,263,264,293,300,301],[65,232,257,263,264,301],[33,38,79,89,90,91,101,146,183,187,192,215,217,218,224,240,251,256,257,258,259,260,263,267,275,277,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[207,214,263,302],[115,223,232,236,251,253,260,262,289,300,302],[223,232,251,254,260,261,289,290,295,297,298,300],[38],[25,118,203,223,231,232,251,254,256,258,260,261,263,264,289,295,296,297,298,300,346,352,353,354,355,357,358,380],[223,251,254,260,261,289,290,295,296,297,300],[22,23,25,32,35,36,71,113,115,126,200,222,223,232,236,251,254,260,261,262,263,264,270,289,290,295,296,298,300,302,314,318,453,458,475,569,572,589,777],[22,26,30,32,36,39,55,71,113,126,141,200,223,235,259,263,264,270,297,314,318,330,453,458,475,569,572,589,681,777],[32,34,38,73,79,89,90,101,115,141,146,183,187,192,215,217,218,222,223,232,236,239,240,251,253,254,260,261,267,275,288,290,295,296,297,298,300,309,310,332,334,339,340,344,358,360,385,387,388,389,458,459,482,560,561,577,597,688,729,1022],[223,232,251,254,260,261,289,290,296,297,298,300],[223,232,255,257,258,262,263,302],[23,26,36,113,126,200,223,255,256,261,262,270,297,300,314,318,453,475,569,572,589,777],[25,232,256,258,259,261,263,264,300,302],[256,257,258,263],[23,26,27,33,128,210,223,232,239,254,257,262,289,290,293,295,296,297,298,300,301,302],[23,63,207,230,232,256,258,262,263,264,302],[118,203,231,251,260,346,352,353,354,355,357,358,380],[27,71,78,85,91,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,220,232,239,241,252,266,267,268,271,275,277,287,291,292,293,300,302,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1017,1019,1022],[128,210,232,256,258,263,267,290,291,293,300],[79,89,90,91,101,146,183,187,192,215,217,218,240,251,275,277,289,300,301,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[209,232],[27,217,220,232,239,278,279,285,286,301,302],[27,232,239,287,301,302],[27,209,232,239,287,293,300,301],[27,38,63,207,217,232,239,284,287,301,302],[27,232,239,287,302],[300],[23,128,210,232,251,255,256,257,258,260,261,263,265,290,293,295,296,300,488,489,490,491,492,493,494,495,496,497],[23,232,255,256,258,261,263,264,265,300,301,487,489,490,491,492,493,494,495,496,497],[141,232,235,251,260,265,300,487,488,490,491,492,493,494,495,496,497],[21,32,65,232,256,258,261,263,265,300,458,487,488,489,490,492,493,494,495,496,497],[23,232,255,256,257,263,265,300,487,488,489,490,491,492,494,495,496,497],[23,230,232,263,264,265,300,487,488,489,490,491,493,494,495,496,497],[23,26,32,39,65,71,214,223,230,232,251,255,256,258,260,261,263,265,300,301,302,458,487,488,489,490,491,492,493,495,496,497],[23,232,251,256,258,260,263,264,265,300,487,488,489,490,491,492,493,494,496,497],[23,32,232,255,256,257,258,263,265,300,458,487,488,489,490,491,492,493,494,495,497],[23,232,255,256,257,258,261,263,265,300,487,488,489,491,492,493,494,495,496,497],[232,251,256,258,260,261,263,264,265,300,301,487,488,489,490,491,492,493,494,495,496],[32,36,113,126,200,222,270,297,314,318,458,475,569,572,589,777],[63,73,87,117,203,207,215,217,223,227,230,232,233,239,251,275,309,311,334,346,350,352,353,354,367,478,479,481,498,511,585,770],[476],[25,58,78,79,85,89,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,202,204,207,209,216,217,223,230,232,239,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,465,467,477,478,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,230,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[50,52,58,62,63,64,66,70,78,79,85,89,105,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,214,217,220,230,232,239,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,464,465,467,473,475,476,477,478,479,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[73,223,464],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,459,480],[23,58,78,79,89,108,114,116,117,124,139,143,144,183,189,191,202,207,214,217,230,232,233,239,251,284,309,352,353,360,396,459,460,461,462,463,467,478,480,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[85,232],[460,462],[52,58,63,65,70,73,78,79,85,89,105,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,217,230,232,233,236,239,251,284,308,309,314,318,326,352,353,360,365,366,380,389,396,398,458,459,465,467,475,478,479,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[32,35,114,115,121,207,220,222,223,232,236,239,458],[71,78,79,85,89,90,91,101,115,118,127,131,137,145,146,183,187,189,192,204,207,209,215,216,217,218,223,232,236,239,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[65,79,89,90,91,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[22,26,52,58,78,79,89,90,105,108,114,116,117,139,143,144,183,189,191,202,212,223,230,237,251,267,277,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[21,22,26,39,65,71,87,117,203,215,223,225,226,227,228,230,232,239,240,251,275,309,311,334,346,350,352,353,354,367,511,585,770],[58,63,78,79,85,87,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,203,204,207,209,214,215,216,217,218,220,227,230,232,239,240,241,251,252,267,268,271,272,273,275,284,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,396,409,459,467,478,479,481,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,585,589,597,600,624,626,635,641,657,658,681,708,711,726,737,770,830,1022],[190,232,500,501],[190,501],[20,71,78,203,207,230,232,239,353,502,503,504],[88,118,182,183,191,203,204,217,230,231,232,343,346,352,353,354,355,357,358,380,389,502,511,560,624,657,830,848],[58,78,79,89,108,114,116,117,139,143,144,183,189,190,202,230,240,251,284,309,352,353,360,396,459,467,478,485,501,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[20,47,52,56,58,62,63,64,66,70,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,160,164,175,177,178,182,183,185,189,190,191,202,203,205,207,208,212,213,214,217,220,230,232,251,280,284,308,309,314,318,321,326,329,350,352,353,360,365,366,368,370,372,380,389,396,398,455,458,459,467,472,473,475,478,480,485,500,501,502,504,516,517,518,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,631,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,220,223,232,238,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,506,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1015,1022],[239,274],[555],[21,26,141,223,235,554],[23,25,32,122,214,223,232,370,376,458,513,518,523,528,532,537,547,552,554],[33,128,210,217,232,293],[23,25,75,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,214,216,217,223,224,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,512,554,555,556,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,32,52,56,58,78,79,85,89,103,105,108,114,115,116,117,118,121,122,124,128,139,141,143,144,178,182,183,185,189,191,202,205,207,208,210,212,213,214,217,223,230,232,236,251,284,293,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,512,513,516,518,551,553,555,556,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[87,115,117,128,203,210,215,223,227,230,232,236,251,275,293,309,311,334,346,350,352,353,354,367,481,508,509,511,585,770],[65,508],[26,39,141,223,235],[78,85,87,88,117,118,127,131,137,146,182,183,187,189,203,204,207,209,215,216,217,220,227,230,232,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,508,510,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[25,31,52,58,62,64,66,70,75,78,79,85,86,87,88,89,90,91,101,105,108,114,115,116,117,118,121,127,131,137,139,140,141,143,144,146,159,160,164,175,177,182,183,187,189,191,192,202,204,207,209,212,214,215,216,217,218,222,223,224,230,232,233,235,236,239,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,343,344,346,352,353,354,358,360,365,366,367,368,372,380,385,387,388,389,396,458,459,467,473,475,478,479,482,484,485,486,503,507,511,513,516,517,522,527,531,536,542,546,551,554,557,558,559,560,561,563,569,577,579,584,589,597,600,624,626,635,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,772,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[65,557],[22,26,62,64,66,70,85,90,91,114,121,139,160,164,175,177,202,223,224,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,56,58,62,64,66,70,75,78,79,85,89,90,101,108,114,115,116,117,118,121,122,124,139,141,143,144,146,160,164,175,177,178,182,183,185,187,189,191,192,202,205,207,208,213,214,215,217,218,223,230,232,236,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,368,370,372,387,388,389,396,398,455,458,459,467,472,473,475,478,480,482,485,504,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,577,589,597,600,624,625,626,631,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[27,37,38,52,58,78,79,85,89,105,108,114,116,117,118,121,127,131,137,139,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,212,216,217,220,230,232,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,365,366,367,380,387,389,396,398,458,459,467,475,478,479,480,482,483,484,485,486,504,507,511,513,516,551,554,559,560,561,562,570,577,579,584,589,597,600,624,625,626,635,640,641,642,657,658,681,708,711,726,737,830,841,926,1022],[561],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,230,240,251,267,275,276,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,577,589,597,624,641,657,658,681,708,711,726,830,1022],[26,27,33,38,62,64,66,70,78,79,85,87,89,90,91,101,114,115,117,118,121,127,131,137,139,146,160,164,175,177,183,187,189,192,202,203,204,207,209,215,216,217,218,220,222,223,224,227,230,232,236,239,240,241,251,252,267,268,269,270,271,273,274,275,276,277,284,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,368,372,387,388,389,458,459,473,475,479,481,482,484,486,507,511,513,517,522,527,531,536,542,546,551,560,561,563,569,573,577,579,581,584,585,589,597,600,626,635,638,640,654,656,657,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[65,91,239,251,267,276,277,561],[21,22,36,79,89,90,101,113,126,146,183,187,192,200,215,217,218,237,240,251,267,270,275,289,297,300,309,310,314,318,332,334,339,340,344,358,360,387,388,389,453,459,475,482,560,561,569,572,577,589,597,777,1022],[32,36,113,126,200,222,297,314,318,453,458,475,569,572,589,777],[38,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[26,223,251,276,561],[65,79,143],[52,55,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,214,224,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[23,52,56,58,75,78,79,85,89,90,101,105,108,114,116,117,118,121,122,124,139,141,143,144,146,178,182,183,185,187,189,191,192,202,205,207,208,212,213,214,215,217,218,220,223,230,232,239,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,370,380,387,388,389,396,398,455,458,459,467,472,475,478,480,482,485,504,516,518,551,554,559,560,561,563,565,571,577,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926,1022],[23,47,52,68,70,75,79,89,90,101,105,108,143,146,183,187,192,207,212,214,215,217,218,223,224,232,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,365,380,387,388,389,459,482,554,560,561,565,569,570,577,597,642,1022],[32,36,113,126,200,222,270,297,314,318,453,458,475,569,589,777],[27,128,210,217,220,230,232,238,291,293,573,1015],[131,187,217,275,387,486,507,513,573,581,657],[65,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,575,577,597,1022],[22,26,115,223,236],[38,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,575,576,577,579,584,589,597,600,626,635,657,681,737,1022],[27,38,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,220,232,239,240,241,251,252,267,268,271,273,274,275,276,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,483,484,486,507,511,513,560,561,563,577,578,584,589,597,600,626,635,657,681,737,1022],[217,251,276,561],[239],[25,31,78,85,108,118,127,131,132,137,146,159,183,187,189,204,207,209,214,216,217,223,232,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[88,111,115,182,183,204,217,223,232,236,340,341,342,346,354,380,389,503,511,560,624,657,830,848],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,232,241,252,268,271,275,293,303,313,314,326,329,335,338,339,343,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,340],[79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,344,358,360,387,388,389,459,482,560,561,577,597,1022],[87,117,118,180,195,203,215,227,230,232,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,582,584,585,770],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,215,216,217,218,230,232,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,582,583,585,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[87,117,203,215,227,251,275,309,311,334,346,350,352,353,354,367,481,511,581,585,770],[87,117,131,187,203,215,217,227,251,275,309,311,334,346,350,352,353,354,367,387,481,486,507,511,513,573,585,657,770],[71,207,232,239,346,518,584],[21,23,25,27,34,56,65,73,75,78,108,115,118,122,124,140,178,182,183,185,207,208,213,214,217,220,222,223,224,232,235,236,289,308,321,329,350,365,370,385,389,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,688,729,847],[58,78,79,85,87,89,108,114,116,117,118,121,139,141,143,144,178,182,183,185,189,191,202,203,205,207,208,215,217,223,227,230,232,235,239,251,275,284,308,309,311,314,318,326,334,346,350,352,353,354,360,366,367,389,396,398,458,459,467,475,478,480,481,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[25,26,27,32,75,77,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,230,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,25,26,32,35,36,58,64,65,71,75,78,79,85,89,108,113,114,115,116,117,118,121,126,127,131,137,139,143,144,146,178,182,183,185,187,189,191,200,202,204,205,207,208,209,216,217,220,222,223,224,230,232,236,239,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,398,453,458,459,467,475,478,479,480,482,484,485,486,504,507,511,513,516,551,554,559,560,561,563,569,570,572,577,579,584,586,587,588,597,600,624,625,626,635,640,641,657,658,681,708,711,726,737,777,830,841,926,1022],[586],[26,71,207,223],[590],[232,593,594],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,207,214,215,217,218,230,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,590,596,597,624,641,657,658,681,708,711,726,830,1022],[56,78,79,85,89,90,101,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,192,202,204,205,207,208,209,213,214,215,216,217,218,220,232,239,240,241,251,252,267,268,271,275,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,344,346,350,352,354,358,360,365,366,367,370,387,388,389,396,398,455,458,459,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,561,563,570,577,579,584,589,590,591,592,593,596,597,599,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[232,590,591],[214,217,232,483,592,593,594,595],[214,592,593],[71,207,214,217,232,592,593,594,596],[78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,215,216,217,227,230,232,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,346,350,352,353,354,358,366,387,389,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[23,25,31,55,108,115,207,214,223,232,236,239,252,330,385,484,560,681,729,772],[62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,220,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[62,64,66,70,79,85,89,90,101,114,121,139,146,160,164,175,177,183,187,192,202,215,217,218,220,232,240,251,267,275,284,289,300,309,310,332,334,339,340,344,358,360,368,372,387,388,389,458,459,473,475,482,517,522,527,531,536,542,546,551,560,561,569,577,597,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[79,89,90,101,146,183,187,192,215,217,218,220,232,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,220,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,220,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[23,32,115,214,217,223,232,236,239,360,362,366,458],[360],[21,22,39,58,78,79,89,90,101,108,114,116,117,139,141,143,144,146,183,187,189,191,192,202,215,217,218,230,235,240,251,267,275,284,289,300,309,310,332,334,339,340,344,352,353,358,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1022],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,223,230,232,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,360,362,363,365,367,375,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[23,32,163,214,232,458],[23,52,56,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,220,232,251,308,321,329,350,360,364,366,370,374,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[101,102],[71,78,85,101,102,103,118,127,130,137,146,183,187,189,204,207,209,216,217,232,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[25,32,78,85,90,118,125,126,128,131,137,146,183,187,189,204,207,209,210,216,217,220,222,223,232,237,239,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,90,137],[22,26,79,89,101,146,183,187,192,215,217,218,223,237,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[127,128,137,209,210,232,293],[32,35,36,113,115,126,200,222,270,297,314,318,453,458,475,569,572,589,777],[32,101,458],[23,25,32,101,103,128,129,131,132,133,135,137,139,210,223,224,232,239,293,458],[65,101],[79,89,90,100,103,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[32,93,99,100,101,103,134,232,458],[101],[99,101],[93,101],[93,100,101],[94,95,96,97,98],[99],[616],[617,618,619,620,621,622],[77,119,239,350,358,385,387,398,664,681,773,804],[1024,1028],[63,85,239,343,346,517,522,531,536,551,638,656,657,685,737,784],[38,47,63,64,66,70,71,73,74,75,76,77,78,87,108,114,115,118,119,121,182,189,207,209,214,217,220,222,223,228,230,232,233,239,240,339,353,355,458,484,486,654,668,680,772],[1024,1032],[1024,1037],[239,875],[239,878],[239,881],[239,887],[239,896],[239,893],[239,890],[239,899],[239,902],[239,911],[239,905],[239,908],[239,914],[239,923],[239,917],[239,920],[239,926],[239,284,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[239,284,872,884],[239,929],[239,932],[239,947],[239,950],[239,953],[239,956],[239,959],[239,971],[239,965],[239,962],[239,974],[239,968],[239,935,937,940,943],[239,977],[239,980],[239,986],[239,983],[239,989],[239,992],[239,998],[239,995],[239,1001],[239,1004],[239,1010],[239,1007],[239,1013],[239,242,244,245,249,321,335],[239,487,488,489,490,491,492,493,494,495,496,497,1088],[239,293,300],[239,662],[239,453],[239,480],[239,499],[239,352],[239,527],[183,239],[239,481],[77,239,692],[45,48,239,399,409,410,412,415,417,419,420,442,444,446,448,450,452],[239,273,482],[239,500,501,505],[239,506,507],[239,697],[239,702],[239,510,511],[239,554],[146,239,560],[239,711],[239,483,563],[239,273,275],[239,720],[239,271],[239,726,789],[77,239,733],[204,239,313,319,363,368,388,453,481,1025,1026,1027],[239,473],[239,354],[239,475,1031],[239,742],[239,673,747],[239,750],[239,756],[239,708],[124,127,131,135,136,137,139,239,475,569,717,761,1031],[239,570,572],[239,574],[239,318,1015],[239,640],[239,577],[239,483,579],[164,239],[239,484],[239,584],[239,765],[239,366,453],[141,239],[239,770],[239,778],[239,485],[239,794],[239,799],[160,239],[239,589],[239,658],[239,809],[239,590,591,592,593,596,598,600],[239,367],[239,293,1019,1021,1022],[202,203,204,239,313,319,389,542,546,624,678,1034,1035,1036],[239,814],[146,177,239,820],[159,239],[239,623,825],[239,830],[239,835],[175,239],[239,380],[146,177,239],[239,841],[239,846],[239,852],[239,858],[239,863],[239,868],[239,372],[1024,1039],[239,601],[239,602],[239,603],[239,604],[239,605],[239,606],[239,607],[239,609],[239,608],[239,610],[239,611],[239,612],[239,613],[239,614],[63,115,208,232,236,659,662],[153],[57,62,63,64,66,70,85,114,115,121,139,158,159,160,164,175,177,202,207,222,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,660,661,663,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[660],[52,58,78,79,89,105,108,114,116,117,139,143,144,156,167,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,659,662,681,708,711,726,830],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,454,458,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[52],[32,58,62,63,64,66,70,78,79,85,89,108,114,115,116,117,118,119,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,230,232,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,455,456,457,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[456],[52,58,67,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,454,458,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,63,232,239,338,455,458],[55,330,681],[32,56,63,78,92,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,232,308,321,329,350,365,370,398,455,458,472,504,514,517,554,559,570,600,624,626,631,644,657,681,847],[454],[32,36,52,62,63,64,66,70,85,105,108,113,114,121,126,139,143,160,164,175,177,200,202,212,223,230,232,239,251,270,284,297,314,318,346,365,368,372,380,453,455,458,473,475,515,516,518,522,527,531,536,542,546,551,554,569,572,589,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[516],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,456,459,467,478,485,514,515,516,517,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[60,455,652,654],[59],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,651,653,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,61,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,654,657,658,681,708,711,726,830],[518,649,656],[514],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,650,654,655,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,654,657,658,681,708,711,726,830],[122,666,668],[105],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,667,669,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[116],[653,670,673],[652],[52,62,63,64,66,70,85,105,108,114,121,139,143,160,164,175,177,202,212,232,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,625,638,640,642,654,656,662,668,671,672,674,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[671],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,625,641,642,651,657,658,673,681,708,711,726,830],[21,25,39,122,141,223,234,235,519,522],[105,523],[32,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,239,284,368,372,458,473,475,517,520,521,523,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,520],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,519,522,523,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[79,82,89,90,101,146,183,185,187,189,192,207,214,215,217,218,220,232,239,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[65,185],[22,25,26,56,71,78,81,85,89,108,114,115,118,121,122,124,139,141,178,182,183,184,186,189,202,205,207,208,213,214,217,223,232,233,235,236,239,251,308,314,318,321,326,329,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[32,54,63,85,214,232,458],[52,53,105,108,143,212,251,365,380,554,642],[51,57,62,63,64,66,70,78,81,83,84,108,114,115,118,121,127,128,131,137,139,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,210,214,216,217,230,232,233,236,239,241,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,368,372,387,389,396,398,458,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[54,80],[121,223,525,527],[105,141,235,524],[50,62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,524,526,528,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[524],[21,52,79,105,108,116,141,143,212,235,251,365,380,525,554,642],[547,675,678],[141,235,539],[32,57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,676,677,679,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,676],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,675,678,681,708,711,726,830],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,230,232,239,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,56,63,68,70,78,108,118,122,141,178,182,183,185,207,208,213,214,217,223,232,235,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[25,55,63,108,121,214,223,232,239,330,518,681],[56,78,105,108,118,121,124,141,178,182,183,185,207,208,213,214,217,223,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[39,52,108,141,143,212,235,251,365,380,554,642],[25,39,57,58,62,63,64,66,70,75,78,79,85,89,104,108,114,115,116,117,118,119,120,122,128,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,210,217,223,230,232,233,236,239,251,284,293,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,65,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[39,52,55,58,67,78,79,89,105,108,114,115,116,117,121,139,141,143,144,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[21,25,55,56,58,78,79,85,89,108,114,115,116,117,118,119,121,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,213,214,216,217,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,337,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,531,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[122,682,685],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,683,684,686,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[683],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,682,685,708,711,726,830],[63,232,529,531],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,239,284,346,368,372,458,473,475,517,522,527,530,532,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,531,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[23,32,34,73,115,141,217,222,223,232,236,239,289,337,338,350,383,385,389,458,687,729],[63,232,689,692],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,688,690,691,693,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[690],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,689,692,708,711,726,830],[77,141,233,235],[50,56,58,78,79,85,88,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,204,205,207,208,213,214,217,230,232,251,284,308,309,314,318,321,326,329,343,350,352,353,354,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,503,504,511,516,518,551,554,559,560,561,563,570,589,597,600,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926],[63,92,115,223,232,236,694,697],[62,63,64,66,70,75,85,114,121,139,158,159,160,164,175,177,202,223,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,695,696,698,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[695],[52,55,58,78,79,89,105,108,114,115,116,117,139,143,144,156,167,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,694,697,708,711,726,830],[58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,230,232,239,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,626,640,641,657,658,681,708,711,726,737,830,841,926],[115,122,236,699,702],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,700,701,703,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[700],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,702,708,711,726,830],[58,78,79,89,108,114,116,117,128,139,143,144,183,189,191,202,207,210,214,217,230,232,239,251,284,293,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,647,657,658,681,708,711,726,830],[26,30,115,214,222,223,236],[223,232,518,704,711],[39,141,235,514],[21,58,62,63,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,222,230,232,235,236,239,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,705,708,709,710,712,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,705],[21,52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,704,708,711,726,830],[523,533,536],[519],[62,63,64,66,70,85,104,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,534,535,537,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,534],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,520,533,536,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[26,63,141,196,202,223,232,235],[105,141,235],[58,62,63,64,66,70,76,78,79,85,89,108,114,115,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,196,197,198,199,200,201,205,207,208,217,223,230,232,235,236,239,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,197],[22,26,58,78,79,89,108,114,116,117,139,141,143,144,183,189,191,196,202,223,230,235,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,35,36,77,113,115,126,222,270,297,314,318,453,458,475,569,572,589,777],[23,63,101,103,124,232,714,720],[101,103,141,235,713],[23,32,57,62,63,64,66,70,85,101,103,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,714,717,719,721,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[714,718],[109],[25,107,723,726],[106,722],[25,32,58,62,63,64,66,70,78,79,85,89,92,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,217,230,232,235,239,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,722,724,725,727,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,724],[58,78,79,89,108,110,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,722,723,726,773,830],[31,32,34,73,108,115,141,159,207,217,222,223,232,236,239,252,289,382,383,385,389,458,484,560,688,728,772],[63,232,730,733],[25,105],[25,55,62,63,64,66,70,85,92,114,121,139,160,164,175,177,202,232,239,284,330,338,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,731,732,734,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[731],[52,55,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,730,733,830],[25,77,141,217,223,232,233,234,235,239],[63,217,368,375],[141,235,369,374],[32,62,63,64,66,70,85,87,114,115,121,139,160,164,175,177,202,217,230,232,236,284,361,366,367,372,374,376,380,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[232,374,376],[55,58,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,224,230,235,251,284,309,330,352,353,360,368,373,375,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[57,63,115,223,236,467,735,737],[32,52,62,63,64,65,66,70,78,85,105,108,114,118,121,127,131,137,139,143,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,212,216,217,223,232,239,241,251,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,365,366,367,368,372,380,387,389,396,398,458,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,736,738,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[32,58,67,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,352,353,360,396,458,459,467,478,485,516,544,554,559,561,589,597,624,641,657,658,681,708,711,726,737,830],[51,52,56,63,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,232,251,308,321,329,350,365,370,380,398,455,471,473,504,518,554,559,570,600,624,626,631,642,644,657,681,758,847],[102],[62,63,64,66,70,75,85,114,121,128,136,139,160,164,175,177,202,210,214,223,224,232,239,284,293,368,372,458,470,472,474,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[123],[56,75,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,232,239,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,600,624,625,631,635,640,644,647,657,658,681,737,830,841,847,926,1022],[32,63,124,232,458,466,475],[36,50,57,62,63,64,66,70,78,85,108,113,114,115,118,121,124,126,139,160,164,175,177,178,182,183,185,200,202,205,207,208,214,217,222,223,232,233,236,270,284,297,308,314,318,326,352,366,368,372,389,396,398,453,458,467,468,469,473,474,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,572,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,232,467,468],[52,55,57,58,78,79,80,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,466,467,475,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[63,742],[675],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,230,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,740,741,743,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[740],[52,105,108,143,191,212,251,365,380,554,642,676,739],[122,744,747],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,744,745,746,748,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[745],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,747,830],[63,538,542],[32,57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,540,541,543,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[543],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,538,542,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[63,750],[57,62,63,64,65,66,70,85,114,115,121,139,141,160,164,175,177,202,230,232,235,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,749,751,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[676],[214,232,239,473,475],[63,232,753,756],[52,105,106,108,143,212,251,365,380,554,642],[36,62,63,64,66,70,85,113,114,115,121,126,139,160,164,175,177,200,202,223,232,236,270,284,297,314,318,368,372,391,453,458,473,475,517,522,527,531,536,542,546,551,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,753,754,755,757,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[206,232,754],[52,58,78,79,89,105,108,110,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,753,756,773,830],[25,52,66,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,365,370,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[52,105,108,143,212,251,365,380,554,642],[32,56,58,60,62,63,64,65,67,70,78,79,85,89,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,544,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[55,58,66,78,79,89,108,114,116,117,139,141,143,144,183,189,191,202,224,230,235,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[63,223,232,706,708],[39,53,141,235],[58,62,63,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,707,709,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,58,78,79,80,89,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,52,63,101,102,103,105,108,124,128,133,135,139,143,210,212,223,224,232,251,293,365,380,458,554,642],[32,53,55,103,141,235,330,458,681],[26,32,52,57,58,62,63,64,66,70,75,78,79,85,89,101,102,103,105,108,111,114,115,116,117,118,121,122,123,124,136,137,138,139,140,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,217,223,224,230,232,235,236,239,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,123,140,232],[52,55,58,78,79,80,89,102,105,108,114,116,117,139,141,143,144,178,183,189,191,202,212,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[51,63,84,232,472],[54],[62,63,64,66,70,85,114,121,128,139,160,164,175,177,202,210,214,232,284,293,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,760,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,81,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,761,830],[140,713,717],[57,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,715,716,718,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[718],[52,58,78,79,89,105,108,114,116,117,123,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,713,717,726,830],[63,68,101,130,232,569],[53,101,103],[32,35,36,62,63,64,66,70,85,101,113,114,115,121,126,130,137,139,160,164,175,177,200,202,220,222,232,239,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,566,567,568,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,214,566],[55,58,78,79,80,89,108,114,116,117,130,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,569,589,597,624,641,657,658,681,708,711,726,830],[23,56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,643,647,648,657,681,847],[647,648],[32,52,63,105,108,115,143,208,212,232,236,251,365,380,458,554,640,642,648],[39,52,105,108,141,143,208,212,224,235,251,365,380,554,641,642],[57,62,63,64,66,70,78,85,108,114,115,118,121,139,159,160,164,175,177,178,182,183,185,202,205,207,208,217,223,232,236,239,284,308,314,318,326,352,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,627,628,638,639,641,643,647,648,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,641,643],[39,49,52,55,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,208,212,214,224,230,235,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,640,641,642,643,647,657,658,681,708,711,726,830],[214,645],[207,214,217,232,239,626,633,643,644,645,646],[23,214,626,643,647,648],[52,56,57,58,63,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,212,213,214,217,224,230,232,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[63,207,214,539,546],[141,235,538],[32,57,62,63,64,66,67,70,85,114,115,121,139,160,164,175,177,202,207,223,232,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,544,545,547,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[544],[52,58,67,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,539,543,546,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[58,60,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,207,214,230,232,239,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[154,155,165,214],[63,154,161,164,167,232],[21,153,166,167],[25,57,62,63,64,66,70,85,92,114,115,121,139,158,159,160,162,163,165,166,167,175,177,202,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,65,154,165,167,214,223],[21,58,78,79,89,108,114,116,117,139,143,144,156,164,166,167,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[217,626,627,631],[55,214,330,631,681],[239,626,631,633,635],[52,78,85,105,108,118,127,131,137,143,146,183,187,189,204,207,209,212,214,216,217,232,241,251,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,365,366,367,380,387,389,479,482,484,486,507,511,513,554,560,563,577,579,584,589,600,626,631,634,638,642,647,657,681,737,1022],[56,63,78,84,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,630,638,643,644,648,657,681,847],[54,629,642],[54,57,62,63,64,66,70,85,114,115,121,139,159,160,164,175,177,189,202,217,223,230,232,233,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,626,630,631,632,635,636,637,639,640,648,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,232,631,636],[52,58,78,79,81,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,629,630,635,638,641,642,657,658,681,708,711,726,830],[214,762,765],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,763,764,766,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[763],[52,58,67,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,762,765,830],[32,63,122,458,767,769,770],[50,62,63,64,66,70,75,85,87,114,115,117,119,121,139,141,160,164,175,177,202,203,207,215,217,222,227,232,235,236,251,275,284,309,311,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,768,769,771,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,116,458],[223,230,232,768],[31,63,65,76,107,108,109,114,115,159,207,214,223,232,236,239,252,385,484,560,729],[55,108,141,235,330,681],[32,75,106,108,109,114,115,214,223,224,232,236,458],[52,58,78,79,89,105,108,109,114,116,117,139,143,144,183,185,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[58,62,63,64,65,66,70,78,79,85,89,107,108,110,111,112,113,115,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,232,236,239,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,773,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,65,78,79,89,108,114,116,117,139,143,144,183,189,191,202,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[52,58,67,78,79,89,105,106,108,109,114,115,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,63,458,773],[21,63,110,115,207,232,236,239,774],[63,778],[68],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,207,214,222,232,236,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,775,776,777,779,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[775],[52,80,105,108,143,212,251,365,380,554,642],[32,36,77,113,126,200,222,270,297,314,318,453,458,475,569,572,589],[22,25,32,55,56,58,64,66,75,78,79,85,87,88,89,92,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,232,236,239,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,338,339,341,343,346,350,352,353,354,358,360,365,366,367,370,380,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,573,577,579,581,584,589,597,600,624,625,626,631,635,640,641,644,656,657,658,681,708,711,726,737,830,841,847,848,926,1022],[68,781,784],[53],[32,62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,782,783,785,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[782],[52,58,78,79,80,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,781,784,830],[727,786,789],[723],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,787,788,790,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[787],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,724,726,786,789,830],[734,791,794],[730],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,792,793,795,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[792],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,731,791,794,830],[63,796,799],[52,62,63,64,66,70,85,105,108,114,121,139,141,143,160,164,175,177,202,207,212,224,232,235,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,797,798,800,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[115,797],[52,105,108,141,143,212,235,251,365,380,554,642,676,796],[154,160,232],[55,154,214,330,681],[63,153,160,208,214,232],[105,141,155,208,235],[57,62,63,64,66,70,85,114,115,121,139,153,154,155,156,157,158,159,164,167,175,176,177,202,208,217,223,232,233,236,239,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,154,160,183,189,191,202,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[21,52,58,71,78,79,89,105,108,114,116,117,139,141,143,144,153,154,155,160,183,189,191,202,208,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[53,56,70],[62,63,64,66,68,69,80,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,70,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[52,53,58,67,70,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[70,232,801,804],[62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,338,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,802,803,805,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[802],[79,80,143,801],[47,58,63,78,79,85,89,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,214,217,222,223,230,232,236,239,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,681,708,711,726,737,830,841,926],[75,223,232,638,640],[738,806,809],[735],[32,62,63,64,66,70,85,114,115,121,139,160,164,175,177,202,232,236,284,356,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,807,808,810,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[807],[55,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,736,806,809,830],[56,59,64],[32,60,61,62,63,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,64,67,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,544,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[653,811,814],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,812,813,815,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[812],[52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,651,657,658,681,708,711,726,811,814,830],[111,141,149,176,235,820,821],[63,223,232,816,820,822],[142,821],[23,55,62,63,64,66,70,85,92,111,114,115,121,139,159,160,164,175,176,177,202,223,232,236,239,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,816,817,818,819,821,822,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[821],[21,39,55,58,78,79,89,91,108,114,116,117,139,141,143,144,183,189,191,202,230,235,251,284,309,330,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,816,820,830],[63,232,821,822],[23,62,63,64,66,70,85,103,114,121,136,137,139,160,164,175,177,202,223,224,232,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,623,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,823,824,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[823],[58,78,79,89,108,114,116,117,123,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,623,624,641,657,658,681,708,711,726,825,830],[32,63,178,232,458,826,830],[141,235,466],[58,62,63,64,66,70,78,79,85,88,89,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,204,205,207,208,217,230,232,239,251,284,308,309,314,318,326,343,352,353,354,360,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,503,504,511,516,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,827,828,829,831,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[827],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,826,830],[25,32,55,63,214,223,232,239,330,458,681,827,830,831],[55,141,214,235,330,681,836],[32,52,63,105,108,143,212,214,223,232,251,365,380,458,554,642,832,835,837],[52,837],[25,26,52,57,58,62,63,64,66,70,78,79,85,89,92,105,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,204,212,223,230,232,236,251,284,309,352,353,360,365,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,832,833,834,836,837,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,214,833,836],[52,58,67,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,544,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,832,835,837],[169,175],[21,52,63,105,108,143,167,168,170,175,212,214,232,251,365,380,554,642],[63,170,175],[63,65,168,169,171,172,175,214,223,232],[142,171,172],[26,57,62,63,64,66,70,85,92,114,115,121,139,148,159,160,163,164,169,170,171,172,173,174,176,177,202,222,223,232,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,172],[26,36,52,55,79,91,105,108,113,126,141,143,144,170,171,200,212,214,223,235,251,270,297,314,318,330,365,380,453,475,554,569,572,589,642,681,777],[23,149],[25,148,177],[57,63,124,142,147,149,177,232,467],[26,50,55,57,62,63,64,66,70,85,91,92,114,115,121,124,139,141,142,144,146,148,149,150,151,152,160,164,175,176,178,202,207,217,223,232,233,235,236,239,284,330,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[63,65,91,144,148,232],[21,22,39,52,55,58,78,79,80,89,91,105,108,114,116,117,139,141,142,143,144,177,183,189,191,202,212,230,234,235,237,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[52,105,108,141,143,160,175,207,212,214,232,233,235,251,365,380,554,642],[107,838,841],[106],[62,63,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,232,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,839,840,842,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[839],[52,58,78,79,89,105,108,110,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,773,830,838,841],[23,55,86,87,88,182,183,204,217,223,230,232,239,330,343,354,380,389,503,511,560,624,657,681,830,847],[56,63,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,232,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,843,846],[62,63,64,66,70,85,114,118,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,844,845,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[844],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,843,846],[68,849,852],[32,62,63,64,66,70,75,85,114,115,121,139,160,164,175,177,202,232,236,239,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,850,851,853,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[850],[52,58,78,79,80,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,849,852],[63,232,854,858],[23,32,55,57,58,62,63,64,66,70,75,78,79,85,89,108,114,115,116,117,121,132,139,143,144,147,160,164,175,177,183,189,191,202,223,230,232,233,236,251,284,309,330,352,353,360,368,372,390,392,393,394,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,855,856,857,859,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,856],[21,39,52,55,58,78,79,80,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,330,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,854,858],[23,132,232,390,393,854],[25,121,214,232,548,551],[25,32,50,57,62,63,64,66,70,78,85,108,114,115,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,230,232,236,284,308,314,318,326,352,357,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,549,550,552,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[65,549],[39,52,58,78,79,89,105,108,114,116,117,139,141,143,144,183,189,191,202,212,230,235,251,284,309,352,353,360,365,380,396,459,467,478,485,516,548,551,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[121,232,860,863],[32,50,57,62,63,64,66,70,75,85,114,115,121,139,160,164,175,177,201,202,217,232,236,239,284,368,372,458,467,473,475,500,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,861,862,864,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[861],[52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,860,863],[24,63,232,394,865,868,869],[23,24,57,62,63,64,66,70,85,114,115,121,139,147,160,164,175,177,202,207,223,232,236,239,284,368,372,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,866,867,869,870,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[866],[26,52,58,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,223,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830,865,868],[23,204,232,239,394,868,870],[25,29,56,63,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,232,308,321,329,350,365,369,372,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[47,58,62,63,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,232,233,236,239,251,284,309,352,353,360,368,369,370,371,373,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[232,370,373],[55,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,330,352,353,360,369,372,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[38,232],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,873,874,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,223,282,872],[283,875],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,876,877,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[282],[283,878],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,239,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,879,880,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,881],[283,881],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,883,884,886,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[882],[885,887],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,891,892,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,143,212,223,251,282,365,380,554,642,872],[283,893],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,894,895,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[891],[892,896],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,888,889,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,890],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,897,898,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[282,872],[283,899],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,900,901,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,902],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,909,910,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,911],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,903,904,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,905],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,906,907,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,908],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,912,913,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,914],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,921,922,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,923],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,915,916,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,917],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,918,919,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,920],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,882,885,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,884],[32,56,58,62,63,64,66,70,78,79,85,89,108,114,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,232,233,235,251,280,281,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,500,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,924,925,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,141,143,212,223,235,251,282,365,380,554,642,924,926],[283,926],[207],[66,280],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,927,928,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,929],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,930,931,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[26,223,282],[283,932],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,934,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,935],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,936,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[933],[934,937],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,939,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[934,940],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,940,942,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[934,943],[21,62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,223,232,239,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,945,946,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[21,26,58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,223,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,947],[283,947],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,948,949,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,950],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,951,952,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,953],[32,56,63,115,214,232,236,282,283,284,458],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,954,955,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,956],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,207,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,957,958,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[52,105,108,143,212,251,282,365,380,554,642],[283,959],[62,63,64,65,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,960,961,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,962],[32,56,63,66,223,232,280,281,458,969,970],[63,283,971],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,963,964,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[885,965],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,972,973,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,974],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,966,967,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,968],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,975,976,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,977],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,978,979,983,986,989,992,995,998,1001,1004,1007,1010,1013],[283,980],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,982,983,985,989,992,995,998,1001,1004,1007,1010,1013],[872,981],[984,986],[58,62,63,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,217,230,232,251,280,281,282,283,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[67,544],[56,284],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,981,984,986,989,992,995,998,1001,1004,1007,1010,1013],[26,52,105,108,143,191,212,223,251,282,365,380,554,642,872],[283,983],[62,63,64,65,66,70,85,114,121,139,141,160,164,175,177,202,223,232,235,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,987,988,992,995,998,1001,1004,1007,1010,1013],[26,56,66,141,223,235,282,987],[283,989],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,990,991,995,998,1001,1004,1007,1010,1013],[885,992],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,996,997,1001,1004,1007,1010,1013],[283,998],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,993,994,998,1001,1004,1007,1010,1013],[283,995],[26,32,50,58,62,63,64,66,70,75,78,79,85,89,108,114,115,116,117,118,121,139,143,144,160,164,175,177,183,189,191,202,203,217,223,230,231,232,236,239,251,280,281,284,309,346,352,353,354,355,357,358,360,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,999,1000,1004,1007,1010,1013],[55,191,282,330,681,1001],[63,1001],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,217,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1002,1003,1007,1010,1013],[283,1004],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,871,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1008,1009,1013],[283,1010],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1005,1006,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,282,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830,1007],[283,1007],[62,63,64,66,70,85,114,121,139,160,164,175,177,202,232,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1011,1012],[283,1013],[36,78,85,108,113,114,118,121,126,127,131,137,139,146,178,182,183,185,187,189,200,202,204,205,207,208,209,216,217,232,239,241,252,268,270,271,275,293,297,303,308,313,318,319,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,453,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,569,570,572,577,579,584,589,600,624,625,626,635,640,657,658,681,737,777,830,841,926,1022],[26,32,62,64,66,70,85,87,114,117,121,128,139,160,164,175,177,195,202,203,207,210,215,217,220,222,223,227,230,232,239,251,275,284,293,309,310,311,313,314,318,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[36,77,78,85,108,113,114,118,121,126,139,178,182,183,185,195,200,202,205,207,208,217,220,230,232,239,270,297,308,314,315,316,317,326,352,366,389,396,398,453,458,475,478,480,485,504,551,554,559,563,569,570,572,589,600,624,625,626,640,657,658,681,737,777,830,841,926],[63,65,233,251,309],[36,58,62,64,66,70,78,79,85,87,89,90,101,108,113,114,116,117,121,126,139,141,143,144,146,160,164,175,177,183,187,189,191,192,200,202,203,204,215,217,218,227,230,232,235,240,251,267,270,275,284,289,297,300,309,310,311,314,318,332,334,339,340,344,346,350,352,353,354,358,360,367,368,372,387,388,389,396,453,458,459,467,473,475,478,481,482,485,511,516,517,522,527,531,536,542,546,551,554,559,560,561,569,572,577,585,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,220,230,232,238,239,240,251,267,275,284,289,300,309,310,319,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1014,1022],[26,27,65,78,85,87,88,117,118,127,131,137,146,182,183,187,189,192,194,203,204,207,209,215,216,217,220,223,227,230,232,237,239,240,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,511,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[193,204,217,220,230,232,239],[65,192,204],[21,22,26,79,89,90,101,146,183,187,191,215,217,218,223,237,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[32,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,220,222,223,230,232,239,241,252,268,271,275,293,303,310,311,312,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[65,310],[79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[27,38,217,232,1016,1020],[118,203,207,220,231,232,266,291,293,346,352,353,354,355,357,358,380,1017,1018,1020],[27,62,64,65,66,70,85,87,114,117,118,121,128,139,160,164,175,177,202,203,210,215,227,231,232,239,251,266,267,275,284,293,300,301,309,311,334,346,350,352,353,354,355,357,358,367,368,372,380,458,473,475,481,493,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1019,1020,1021],[1016],[27,78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,220,232,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,573,577,579,581,584,589,597,600,626,635,657,681,737,1016,1018,1021,1022],[267],[118,128,196,197,198,203,207,209,210,214,217,220,223,231,232,291,293,300,346,352,353,354,355,357,358,380,1019],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,240,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[58,78,79,85,89,90,101,108,114,116,117,118,127,131,137,139,143,144,146,183,187,189,191,192,202,204,207,209,214,215,216,217,218,223,230,240,241,248,249,250,251,252,267,268,271,275,284,289,293,300,303,305,306,307,308,309,310,313,314,320,322,323,326,327,328,329,332,334,335,338,339,340,341,344,346,352,353,354,358,360,366,367,387,388,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[27,33,73,223,232,242,243,247,248,335],[254,263,264,289,290,295,296,297,298,302],[27,242,249],[27,38,217,249,303],[56,78,85,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,205,207,208,213,214,217,242,246,249,308,314,318,321,326,329,335,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[217,242,246,249,335],[242,249],[27,204,217,223,242,249,303,335],[52,105,108,143,207,212,251,335,365,380,554,642],[207,243,303,335],[207,214,217,242,249,322,326],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,335,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,241,242,243,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,223,242,246,249],[27,31,78,85,108,115,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,236,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[56,78,85,108,118,122,124,127,131,137,141,146,178,182,183,185,187,189,204,207,208,209,213,214,216,217,235,241,252,268,271,275,293,303,308,313,314,321,326,329,335,338,339,341,346,350,354,358,365,366,367,370,387,389,398,455,472,479,482,484,486,504,507,511,513,518,554,559,560,563,570,577,579,584,589,600,624,626,631,635,644,657,681,737,847,1022],[55,79,89,90,101,141,146,183,187,192,215,217,218,235,240,251,267,275,289,300,309,310,330,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,681,1022],[27,217,242,243,306,335],[217],[251],[79,87,89,90,101,117,146,183,187,192,203,215,217,218,227,240,251,267,275,289,300,309,310,311,332,334,339,340,344,346,350,352,353,354,358,360,367,387,388,389,459,481,482,511,560,561,577,585,597,770,1022],[27,37,73,223,335],[37,246,335],[27,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,73,207,214,217,223,230,335],[27],[27,33,232],[26,27,115,207,217,223,224,236],[27,32,72,73,223,224,387,458],[19,22,23,24,28,32,49,58,78,79,87,88,89,108,114,116,117,118,128,139,143,144,180,182,183,189,191,195,202,203,204,207,210,214,215,217,223,224,227,228,230,231,240,251,275,284,293,309,311,334,343,346,350,352,353,354,355,357,358,360,367,380,389,396,458,459,467,478,481,485,503,511,516,554,559,560,561,585,589,597,624,641,657,658,681,708,711,726,770,830,848],[56,78,79,87,89,90,101,108,117,118,122,124,141,146,178,180,182,183,185,187,192,195,203,207,208,213,214,215,217,218,227,230,240,251,267,275,289,300,308,309,310,311,321,329,332,334,337,339,340,344,346,350,352,353,354,355,357,358,360,365,367,370,380,387,388,389,398,455,459,472,481,482,504,511,518,554,559,560,561,570,577,585,597,600,624,626,631,644,657,681,770,847,1022],[32,58,78,79,85,87,89,108,114,116,117,118,121,139,143,144,178,180,182,183,185,189,191,195,202,203,205,207,208,215,217,227,230,231,251,275,284,308,309,311,314,318,326,334,346,350,351,352,353,354,355,357,358,360,366,367,380,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[32,56,57,58,74,78,79,85,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,181,182,183,184,185,187,189,191,192,202,204,205,207,208,209,210,213,214,215,216,217,218,224,230,234,235,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,365,366,367,370,380,387,388,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926,1022],[56,58,74,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,213,214,217,230,235,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[183],[87,117,118,141,180,195,203,214,215,217,227,234,235,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,215,227,230,231,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[24,32,78,85,86,87,88,117,118,127,131,137,141,146,180,182,183,187,189,195,203,204,207,209,214,215,216,217,223,227,230,231,235,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,503,507,511,513,560,563,573,577,579,581,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[118,180,195,203,230,231,311,346,350,352,353,354,355,357,358,380,585],[118,180,195,203,204,230,311,350,352,353,354,355,357,380,585],[19,20,58,78,79,87,89,108,114,116,117,118,139,143,144,180,183,189,191,195,202,203,207,215,217,227,230,231,240,251,275,284,309,311,334,346,350,352,353,354,355,357,358,360,367,380,396,459,467,478,481,485,504,511,516,554,559,561,585,589,597,624,641,657,658,681,708,711,726,770,830],[32,217,223,225,226,227,230,346,458],[32,87,117,203,215,225,226,227,228,230,251,275,309,311,334,346,350,352,353,354,367,458,481,511,585,770],[23,32,78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,214,215,216,217,225,226,227,230,231,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,366,367,380,387,389,458,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[87,117,118,180,195,203,215,227,230,251,275,309,310,311,313,334,346,350,352,353,354,355,357,367,380,481,511,585,770],[87,117,181,203,215,227,251,275,309,311,334,343,344,346,350,352,353,354,367,481,511,585,770],[56,78,85,108,114,117,118,119,121,122,124,127,131,137,139,141,146,178,180,182,183,185,187,189,195,202,203,204,205,207,208,209,213,214,216,217,223,230,231,241,252,268,271,275,293,303,308,311,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,365,366,367,370,380,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,585,589,600,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[22,25,92,117,118,223,230],[20,23,32,86,87,117,203,215,222,223,227,230,251,275,309,311,334,346,350,352,353,354,367,458,481,504,511,560,585,770,848],[87],[52,87,88,105,108,117,118,143,180,182,183,195,203,204,207,212,215,217,227,230,231,251,275,309,311,334,343,346,350,352,353,354,355,357,358,365,367,368,377,378,380,389,481,503,511,554,560,585,624,642,657,770,830,848],[87,223,377,380],[92,118,119,180,195,203,217,230,231,311,346,350,352,353,354,355,357,358,380,585],[78,79,85,87,88,89,90,101,117,118,127,131,137,146,182,183,187,189,192,203,204,207,209,215,216,217,218,227,230,231,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,366,367,380,387,388,389,459,479,481,482,484,486,503,507,511,513,560,561,563,577,579,584,585,589,597,600,624,626,635,657,681,737,770,830,848,1022],[22,25,26,27,49,56,58,62,64,66,70,78,79,85,87,88,89,90,101,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,160,164,175,177,178,182,183,185,187,189,191,192,202,203,204,205,207,208,209,210,213,214,215,216,217,218,222,223,224,227,230,231,240,241,251,252,267,268,271,275,284,289,293,300,303,308,309,310,311,313,314,318,321,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,387,388,389,396,398,455,458,459,467,472,473,475,478,479,480,481,482,484,485,486,503,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,573,577,579,581,584,585,589,597,600,624,625,626,631,635,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[72,74,78,79,85,89,90,101,118,127,131,137,141,146,183,187,189,192,204,207,209,215,216,217,218,235,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,337,338,339,340,341,344,346,350,354,358,360,366,367,386,387,388,389,459,479,482,484,486,507,511,513,560,561,563,573,577,579,581,584,589,597,600,626,635,657,681,737,1022],[78,85,91,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,267,268,271,275,277,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[27,32,78,79,85,89,90,101,118,126,127,128,131,136,137,140,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,458,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[25,27,32,34,73,78,79,85,87,88,89,90,101,108,114,117,118,121,127,131,137,139,141,146,178,182,183,185,187,189,192,202,203,204,205,207,208,209,215,216,217,218,222,223,227,230,240,241,251,252,267,268,271,275,289,293,300,303,308,309,310,311,313,314,318,326,329,332,334,335,338,339,340,341,343,344,346,350,352,353,354,358,360,366,367,380,385,387,388,389,396,398,458,459,475,478,479,480,481,482,484,485,486,503,504,507,511,513,551,554,559,560,561,563,570,577,579,584,585,589,597,600,624,625,626,635,640,657,658,681,688,729,737,770,830,841,848,926,1022],[21,141,235],[79,89,90,101,146,183,187,192,215,217,218,220,238,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1015,1022],[58,78,79,87,89,108,114,116,117,131,139,143,144,183,185,187,189,191,202,203,207,215,217,227,230,251,275,284,309,311,334,346,350,352,353,354,360,367,387,396,459,467,478,481,485,486,507,511,513,516,554,559,561,573,581,585,589,597,624,641,657,658,681,708,711,726,770,830],[23,390,391,392],[220,237,238,1015],[272],[25,26,27,28,49,58,78,79,85,89,108,114,116,117,118,127,131,137,139,143,144,146,183,185,186,187,189,191,202,204,207,209,214,216,217,223,224,230,241,251,252,268,271,275,284,293,303,309,313,314,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,459,467,478,479,482,484,485,486,507,511,513,516,554,559,560,561,563,577,579,584,589,597,600,624,626,635,641,657,658,681,708,711,726,737,830,1022],[56,78,85,88,108,114,118,121,122,124,139,141,178,182,183,184,185,189,202,204,205,207,208,213,214,217,308,314,318,321,326,329,343,350,352,354,365,366,370,380,389,396,398,455,458,472,475,478,480,485,503,504,511,518,551,554,559,560,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,848,926],[23,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,337,338,339,341,346,350,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[27,79,89,90,101,128,146,183,187,192,209,210,215,217,218,240,251,267,275,289,293,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[25,27,78,79,85,89,90,101,115,118,127,128,131,137,146,183,187,189,192,204,207,209,210,214,215,216,217,218,223,230,236,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[26,37,115,223,236],[25,26,27,34,73,141,222,223,289,385,389,688,729],[21,22,25,26,27,28,29,30,31,32,108,115,141,159,207,222,223,224,235,236,252,385,458,484,560,729,772],[32,141,223,224,235,382,385,458],[22,25,26,32,36,113,115,126,141,200,222,223,235,236,270,297,314,318,453,458,475,569,572,589,777],[21,23,25,26,27,28,30,32,33,34,35,36,38,73,92,113,115,126,141,200,223,224,236,237,270,289,297,314,318,385,389,453,458,475,569,572,589,688,729,777],[23,31,32,34,73,108,115,141,159,207,222,223,236,252,289,337,350,381,384,385,386,389,458,484,560,688,729,772],[32,35,36,113,115,126,200,270,297,314,318,453,458,475,569,572,589,777],[222,223],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[21,22,23,25,31,32,52,55,56,58,76,78,79,85,89,92,105,107,108,114,115,116,117,118,121,122,124,139,141,143,144,159,178,182,183,185,189,191,202,205,207,208,212,213,214,217,223,224,230,236,251,252,284,308,309,314,318,321,326,329,330,350,352,353,360,365,366,370,380,385,389,396,398,455,458,459,467,472,475,478,480,484,485,504,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,729,737,772,830,841,847,926],[48,58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,224,230,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[41,48,52,58,66,78,79,89,105,108,114,116,117,139,143,144,183,189,191,202,212,230,251,284,309,352,353,360,365,380,396,459,467,478,485,516,554,559,561,589,597,624,641,642,657,658,681,708,711,726,830],[32,49,52,56,57,78,92,105,108,115,118,122,124,141,143,178,182,183,185,207,208,211,212,213,214,217,223,224,232,235,236,251,308,321,329,350,365,370,380,398,455,458,467,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[25,31,32,36,47,49,50,51,52,56,57,58,62,63,64,66,70,78,79,85,89,105,108,113,114,115,116,117,118,121,122,124,126,127,128,131,137,139,141,143,144,146,159,160,164,175,177,178,182,183,185,187,189,191,200,202,203,204,205,207,208,209,210,212,213,214,216,217,223,224,230,231,232,235,236,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,355,357,358,360,365,366,367,368,370,372,380,385,387,389,396,398,453,455,458,459,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,572,577,579,584,589,597,600,624,625,626,631,635,638,640,641,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,758,761,765,770,772,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[56,58,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,350,352,353,358,360,365,366,370,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,926],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[19,20,79,89,90,101,146,183,187,192,203,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,353,358,360,387,388,389,459,482,504,560,561,577,597,1022],[23,24,56,58,78,79,85,89,108,114,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,222,223,230,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[26,27,33,37,58,78,79,89,108,114,115,116,117,118,139,143,144,183,189,191,202,203,207,217,223,230,231,236,240,251,284,309,346,352,353,354,355,357,358,360,380,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[41,400,402,410,413,414,415,417,419,420],[41,43,48,400,401,409,415,417,419,420,444,446,448,450,452],[41,400,403,410,413,415,416,417,419,420],[41,400,404,410,413,415,417,418,419,420],[41,400,407,408,410,413,415,417,419,420],[41,48,402,406,407,409,410,414,416,418],[41,48,406,407,408,410,414,416,418],[41,48,403,406,407,409,414,416,418],[41,48,406,407,409,410,414,416,418],[41,48,406,407,408,409,414,416,418],[41,48,405,410],[400,415,417,419,420],[41,45,46,47],[41,46,48],[48,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441],[41,42,43,45,48,443,444,446,448,450,452],[41,43,44,48,444,446,448,450,452],[41,43,45,48,444,445,446,448,450,452],[41,43,45,48,442,444,446,447,448,450,452],[41,43,45,48,444,446,448,449,450,452],[41,43,45,48,444,446,448,450,451,452],[25,79,89,90,101,118,146,183,187,192,203,209,215,217,218,222,223,224,231,240,251,254,255,256,258,260,262,263,264,265,267,275,289,290,293,295,296,297,298,300,301,302,309,310,332,334,339,340,344,346,352,353,354,355,357,358,360,380,387,388,389,459,482,487,488,489,490,491,492,493,494,495,496,497,560,561,577,597,1022],[209,217,223,263,264,293,300,301],[301],[115,223,236,251,253,260,262,289,300,302],[223,251,254,260,261,289,290,295,296,297,298,300],[25,118,203,223,231,251,254,260,261,263,264,289,290,295,296,297,298,300,346,352,353,354,355,357,358,380],[22,23,25,36,113,115,126,200,222,223,236,251,254,260,261,262,263,264,270,289,290,295,296,297,298,300,302,314,318,453,475,569,572,589,777],[32,34,38,73,79,89,90,101,141,146,183,187,192,215,217,218,222,223,240,251,253,254,260,261,267,275,289,290,295,296,297,298,300,309,310,332,334,339,340,344,358,360,385,387,388,389,458,459,482,560,561,577,597,688,729,1022],[223,255,256,257,258,262,263,302],[25,256,258,259,261,263,264,300,302],[23,128,210,223,254,257,262,289,290,293,295,296,297,298,301,302],[23,207,230,256,258,262,263,264,302],[27,78,85,91,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,241,252,266,267,268,271,275,277,287,293,300,302,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1017,1019,1022],[209],[27,217,278,279,285,286,301,302],[287,301,302],[209,293],[217,287,301,302],[287,302],[257,265,300,487,488,489,490,491,492,493,494,495,496,497],[256,258,263,265,300,301,487,488,489,490,491,492,493,494,495,496,497],[141,235,251,260,265,487,488,489,490,491,492,493,494,495,496,497],[21,263,265,487,488,489,490,491,492,493,494,495,496,497],[257,265,487,488,489,490,491,492,493,494,495,496,497],[23,263,264,265,487,488,489,490,491,492,493,494,495,496,497],[26,39,71,223,251,255,256,258,260,263,265,300,301,302,487,488,489,490,491,492,493,494,495,496,497],[23,251,256,258,260,263,264,265,300,487,488,489,490,491,492,493,494,495,496,497],[32,257,265,300,458,487,488,489,490,491,492,493,494,495,496,497],[256,257,258,263,265,487,488,489,490,491,492,493,494,495,496,497],[251,256,258,260,261,263,265,300,301,487,488,489,490,491,492,493,494,495,496,497],[32,36,113,126,200,222,270,297,314,318,453,458,475,569,572,589,777],[63,207,217,230,233],[25,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,465,478,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[52,58,63,78,79,85,89,105,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,212,214,217,230,251,284,308,309,314,318,326,352,353,360,365,366,380,389,396,398,458,459,465,467,475,478,479,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,642,657,658,681,708,711,726,737,830,841,926],[207,217,459,461,480],[85],[63,78,85,108,114,118,121,139,178,182,183,185,202,205,207,208,217,308,314,318,326,352,366,389,396,398,458,459,465,475,478,480,485,504,551,554,559,563,570,589,600,624,625,626,640,657,658,681,737,830,841,926],[35,115,207,222,223,236],[78,79,85,89,90,91,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[79,89,90,91,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[21,22,26,39,71,87,117,203,215,223,227,228,230,240,251,275,309,311,334,346,350,352,353,354,367,481,511,585,770],[78,79,85,87,89,90,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,215,216,217,218,227,230,240,241,251,252,267,268,271,275,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,409,459,479,481,482,484,486,507,511,513,560,561,563,577,579,584,585,589,597,600,626,635,657,681,737,770,1022],[47,78,207,230,504],[88,182,183,191,204,217,230,343,354,380,389,503,511,560,624,657,830,848],[20,47,52,56,62,64,66,70,78,85,105,108,114,118,121,122,124,139,141,143,160,164,175,177,178,182,183,185,190,202,203,205,207,208,212,213,214,217,251,284,308,314,318,321,326,329,350,352,353,365,366,368,370,372,380,389,396,398,455,458,472,473,475,478,480,485,501,504,517,518,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,631,638,640,642,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[554],[25,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,214,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,555,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[23,32,52,56,58,78,79,85,89,105,108,114,116,117,118,121,122,124,128,139,141,143,144,178,182,183,185,189,191,202,205,207,208,210,212,213,214,217,223,230,251,284,293,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,513,516,518,551,554,555,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[128,210,223,230,293,508],[508],[78,85,87,88,117,118,127,131,137,146,182,183,187,189,203,204,207,209,215,216,217,227,230,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,343,346,350,352,353,354,358,366,367,380,387,389,479,481,482,484,486,503,507,508,510,511,513,560,563,577,579,584,585,589,600,624,626,635,657,681,737,770,830,848,1022],[25,31,52,58,62,64,66,70,78,79,85,86,87,88,89,90,101,105,108,114,115,116,117,118,121,127,131,137,139,141,143,144,146,159,160,164,175,177,182,183,187,189,191,192,202,204,207,209,212,214,215,216,217,218,222,223,224,230,235,236,240,241,251,252,267,268,271,275,284,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,343,344,346,352,353,354,358,360,365,366,367,368,372,380,385,387,388,389,396,458,459,467,473,475,478,479,482,484,485,486,503,507,511,513,516,517,522,527,531,536,542,546,551,554,557,559,560,561,563,569,577,579,584,589,597,600,624,626,635,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,729,733,737,742,747,750,756,761,765,770,772,778,784,789,794,799,804,809,814,820,825,830,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[557],[56,58,62,64,66,70,78,79,85,89,108,114,116,117,118,121,122,124,139,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,368,370,372,389,396,398,455,458,459,467,472,473,475,478,480,485,504,516,517,518,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,631,638,640,641,644,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[38,78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,216,217,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[27,33,78,79,85,87,89,90,91,101,117,118,127,131,137,146,183,187,189,192,203,204,207,209,215,216,217,218,222,223,224,227,240,241,251,252,267,268,271,275,276,277,289,293,300,303,309,310,311,313,314,326,329,332,334,335,338,339,340,341,344,346,350,352,353,354,358,360,366,367,387,388,389,459,479,481,482,484,486,507,511,513,560,561,563,573,577,579,581,584,585,589,597,600,626,635,657,681,737,770,1022],[91,251,267,276,277,561],[36,113,126,200,222,270,297,314,318,453,475,569,572,589,777],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[79,143],[23,52,56,58,78,79,85,89,90,101,105,108,114,116,117,118,121,122,124,139,141,143,144,146,178,182,183,185,187,189,191,192,202,205,207,208,212,213,214,215,217,218,223,230,240,251,267,275,284,289,300,308,309,310,314,318,321,326,329,332,334,339,340,344,350,352,353,358,360,365,366,370,380,387,388,389,396,398,455,458,459,467,472,475,478,480,482,485,504,516,518,551,554,559,560,561,563,570,577,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926,1022],[70,79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,577,597,1022],[79,89,90,101,146,183,187,192,215,217,218,240,251,267,275,289,300,309,310,332,334,339,340,344,358,360,387,388,389,459,482,560,561,575,577,597,1022],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,223,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,575,577,579,584,589,597,600,626,635,657,681,737,1022],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,276,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[251,276,561],[25,31,78,85,108,118,127,131,137,146,159,183,187,189,204,207,209,216,217,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,385,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,729,737,772,1022],[88,182,183,204,209,217,223,340,341,343,346,354,380,389,503,511,560,624,657,830,848],[78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,343,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[340],[87,117,118,180,195,203,215,227,230,251,275,309,311,334,346,350,352,353,354,355,357,367,380,481,511,584,585,770],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,230,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1022],[207,584],[21,25,34,56,73,78,108,115,118,122,124,141,178,182,183,185,207,208,213,214,217,222,223,224,235,236,289,308,321,329,350,365,370,385,389,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,688,729,847],[58,78,79,85,87,89,108,114,116,117,118,121,139,141,143,144,178,182,183,185,189,191,202,203,205,207,208,215,217,223,227,230,235,251,275,284,308,309,311,314,318,326,334,346,350,352,353,354,360,366,367,389,396,398,458,459,467,475,478,480,481,485,504,511,516,551,554,559,561,563,570,585,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,770,830,841,926],[25,27,78,85,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,230,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[36,58,78,79,85,89,108,113,114,116,117,118,121,126,127,131,137,139,143,144,146,178,182,183,185,187,189,191,200,202,204,205,207,208,209,216,217,222,223,230,241,251,252,268,270,271,275,284,293,297,303,308,309,313,314,318,326,329,335,338,339,341,346,352,353,354,358,360,366,367,387,389,396,398,453,458,459,467,475,478,479,480,482,484,485,486,504,507,511,513,516,551,554,559,560,561,563,569,570,572,577,579,584,586,589,597,600,624,625,626,635,640,641,657,658,681,708,711,726,737,777,830,841,926,1022],[594],[56,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,590,592,593,596,599,600,624,625,626,631,635,640,644,657,658,681,737,830,841,847,926,1022],[590,591],[214,217,592,593,594],[217,596],[78,85,87,117,118,127,131,137,146,183,187,189,203,204,207,209,215,216,217,227,230,241,251,252,268,271,275,293,303,309,311,313,314,326,329,334,335,338,339,341,346,350,352,353,354,358,366,367,387,389,479,481,482,484,486,507,511,513,560,563,577,579,584,585,589,600,626,635,657,681,737,770,1022],[31,108,159,207,223,252,385,484,560,729,772],[32,115,214,217,223,236,360,362,366,458],[78,85,108,114,118,121,127,131,137,139,146,178,182,183,185,187,189,202,204,205,207,208,209,214,216,217,223,241,252,268,271,275,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,360,362,363,366,367,387,389,396,398,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,570,577,579,584,589,600,624,625,626,635,640,657,658,681,737,830,841,926,1022],[23,52,56,78,105,108,118,122,124,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,360,365,366,370,374,380,398,455,472,504,518,554,559,570,600,624,626,631,642,644,657,681,847],[78,85,101,102,103,118,127,130,131,137,146,183,187,189,204,207,209,216,217,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,573,577,579,581,584,589,600,626,635,657,681,737,1022],[78,85,90,118,127,131,137,146,183,187,189,204,207,209,216,217,222,223,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[90],[127,128,137,209,210,293],[23,25,101,103,135,137,223,224],[32,93,99,100,101,103,458],[804],[517,522,531,536,656,685,737,784],[64,66,70,114,121,458,654,668],[239,284,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[239,284,884],[239,415,417,419,420,444,446,448,450,452],[239,789],[239,1025,1026,1027],[139,239,475,569,717,1031],[239,542,678,1034,1035,1036],[177,239,820],[115,154,208,236,659,662],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,121,139,143,144,158,160,164,175,177,183,189,191,202,207,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,660,662,663,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,284,308,314,318,326,352,366,368,372,389,396,398,455,456,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[458],[32,56,78,92,108,118,122,124,141,178,182,183,185,207,208,213,214,217,223,308,321,329,350,365,370,398,455,458,472,504,514,517,518,554,559,570,600,624,626,631,644,657,681,847],[32,36,52,62,64,66,70,85,105,108,113,114,121,126,139,143,160,164,175,177,200,202,212,223,230,251,270,284,297,314,318,346,365,368,372,380,453,458,473,475,516,517,518,522,527,531,536,542,546,551,554,569,572,589,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,651,653,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,650,654,655,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,667,668,669,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[52,62,64,66,70,85,105,108,114,121,139,143,160,164,175,177,202,212,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,625,638,640,642,654,656,662,668,671,673,674,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,520,522,523,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[520],[189,217],[185],[22,25,26,56,71,78,81,85,89,108,114,115,118,121,122,124,139,141,178,182,183,184,185,186,189,202,205,207,208,213,214,217,223,235,236,251,308,314,318,321,326,329,350,352,365,366,370,389,396,398,455,458,472,475,478,480,485,504,518,551,554,559,563,570,589,600,624,625,626,631,640,644,657,658,681,737,830,841,847,926],[32,54,68,85,458],[51,57,62,64,66,70,78,81,84,85,108,114,115,118,121,127,128,131,137,139,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,210,214,216,217,230,236,241,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,366,367,368,372,387,389,396,398,458,467,472,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[50,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,524,527,528,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,676,678,679,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[39,56,57,68,70,78,108,115,118,122,124,141,178,182,183,185,207,208,213,214,217,235,236,308,321,329,350,365,370,398,455,467,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[121],[25,39,57,58,62,64,66,70,78,79,85,89,104,108,114,115,116,117,118,121,122,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,121,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[21,55,56,58,78,79,85,89,108,114,116,117,118,119,121,122,124,127,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,213,214,216,217,223,230,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,330,335,337,338,339,341,346,350,352,353,354,358,360,365,366,367,370,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,504,507,511,513,516,518,551,554,559,560,561,563,570,577,579,584,589,597,600,624,625,626,631,635,640,641,644,657,658,681,708,711,726,737,830,841,847,926,1022],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,683,685,686,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,518,529,531],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,530,531,532,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,32,34,73,115,141,217,222,223,236,289,383,385,389,458,688,729],[122,689,692],[62,64,66,70,85,114,121,139,160,164,175,177,202,222,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,690,692,693,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[141,235,386],[56,58,78,79,85,88,89,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,204,205,207,208,213,214,217,230,251,284,308,309,314,318,321,326,329,343,350,352,353,354,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,503,504,511,516,518,551,554,559,560,561,563,570,589,597,600,624,625,626,631,640,641,644,657,658,681,708,711,726,737,830,841,847,848,926],[92,115,154,223,236,694,697],[62,64,66,70,85,114,121,139,158,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,695,697,698,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,85,89,108,114,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,230,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,700,702,703,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,128,139,143,144,183,189,191,202,207,210,214,217,230,251,284,293,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,647,657,658,681,708,711,726,830],[223,518,704,711],[58,62,64,66,70,78,79,85,89,104,108,114,115,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,230,235,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,705,708,709,711,712,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[705],[62,64,66,70,85,104,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,534,536,537,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[534],[26,122,141,196,202,223,235],[58,62,64,66,70,78,79,85,89,108,114,115,116,117,118,121,139,141,143,144,160,164,175,177,178,182,183,185,189,191,196,197,198,200,201,202,205,207,208,217,230,235,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[197],[23,124,714,715,720],[23,32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,714,717,719,720,721,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,58,62,64,66,70,78,79,85,89,92,108,114,116,117,121,139,141,143,144,160,164,175,177,183,189,191,202,217,230,235,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,722,724,726,727,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[724],[31,32,34,73,108,115,141,159,207,222,223,236,252,289,383,385,389,458,484,560,688,729,772],[121,730,733],[55,62,64,66,70,85,92,114,121,139,160,164,175,177,202,222,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,731,733,734,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[217,368,370,375],[62,64,66,70,85,87,114,121,139,160,164,175,177,202,207,217,230,284,368,372,374,376,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[374],[57,115,214,223,236,467,735,737],[52,62,64,66,70,78,85,105,108,114,118,121,127,131,137,139,143,146,160,164,175,177,178,182,183,185,187,189,202,204,205,207,208,209,212,216,217,223,241,251,252,268,271,275,284,293,303,308,313,314,318,326,329,335,338,339,341,346,352,354,358,365,366,367,368,372,380,387,389,396,398,458,473,475,478,479,480,482,484,485,486,504,507,511,513,517,522,527,531,536,542,546,551,554,559,560,563,569,570,577,579,584,589,600,624,625,626,635,638,640,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,736,737,738,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1022],[51,52,56,78,105,108,118,122,124,140,141,143,178,182,183,185,207,208,212,213,214,217,251,308,321,329,350,365,370,380,398,455,471,472,473,504,518,554,559,570,600,624,626,631,642,644,657,681,758,847],[62,64,66,70,85,114,121,128,136,139,160,164,175,177,202,210,214,223,284,293,368,372,458,470,472,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[56,78,85,108,114,118,121,122,124,127,131,137,139,141,146,178,182,183,185,187,189,202,204,205,207,208,209,213,214,216,217,241,252,268,271,275,293,303,308,313,314,318,321,326,329,335,338,339,341,346,350,352,354,358,365,366,367,370,387,389,396,398,455,458,472,475,478,479,480,482,484,485,486,504,507,511,513,518,551,554,559,560,563,570,577,579,584,589,600,624,625,626,631,635,640,644,647,657,658,681,737,830,841,847,926,1022],[32,68,124,458,466,475],[36,50,57,62,64,66,70,78,85,108,113,114,115,118,121,124,126,139,160,164,175,177,178,182,183,185,200,202,205,207,208,214,217,223,236,270,284,297,308,314,318,326,352,366,368,372,389,396,398,453,458,467,468,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,572,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[467],[679,742],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,230,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,740,742,743,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,744,745,747,748,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,538,542],[32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,223,236,284,368,372,458,467,473,475,517,522,527,531,536,540,542,543,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[678,750],[57,62,64,66,70,85,114,115,121,139,141,160,164,175,177,202,235,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,749,750,751,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[214,473,475],[107,214,753,756],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,391,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,754,756,757,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[754],[32,56,58,62,64,66,67,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,544,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,214,223,706,708,712],[58,62,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,707,708,709,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,52,68,101,102,103,105,108,124,128,135,139,143,210,212,223,224,251,293,365,380,458,554,642],[52,57,58,62,64,66,70,78,79,85,89,101,102,103,105,108,111,114,115,116,117,118,121,123,124,137,139,140,141,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,212,217,223,224,230,235,236,251,284,308,309,314,318,326,352,353,360,365,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,642,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[51,84,140,472,758],[62,64,66,70,85,114,121,128,139,160,164,175,177,202,210,214,284,293,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,758,760,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,715,717,718,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,70,101,130,569],[32,35,36,62,64,66,70,85,101,113,114,115,121,126,130,137,139,160,164,175,177,200,202,220,270,284,297,314,318,368,372,453,458,473,475,517,522,527,531,536,542,546,551,566,567,569,572,589,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,777,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[566],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[32,52,105,108,115,143,208,212,214,236,251,365,380,458,554,640,642,648],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,230,236,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,627,638,640,641,643,647,648,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[641],[207,214,217,626,643,645,646],[626],[52,56,57,58,78,79,85,89,105,108,114,116,117,118,121,122,124,139,141,143,144,178,182,183,185,189,191,202,205,207,208,212,213,214,217,224,230,251,284,308,309,314,318,321,326,329,350,352,353,360,365,366,370,380,389,396,398,455,458,459,467,472,475,478,480,485,504,516,518,551,554,559,561,563,570,589,597,600,624,625,626,631,640,641,642,644,657,658,681,708,711,726,737,830,841,847,926],[207,214,539,542,546],[32,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,223,236,284,368,372,458,467,473,475,517,522,527,531,536,542,544,546,547,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,207,214,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[154,161,164,167],[57,58,62,64,66,70,78,79,85,89,92,108,114,115,116,117,121,139,143,144,158,160,164,165,166,167,175,177,183,189,191,202,207,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[167],[52,78,85,105,108,118,127,131,137,143,146,183,187,189,204,207,209,212,214,216,217,241,251,252,268,271,275,293,303,313,314,326,329,335,338,339,341,346,354,358,365,366,367,380,387,389,479,482,484,486,507,511,513,554,560,563,577,579,584,589,600,626,631,635,638,642,647,657,681,737,1022],[56,78,84,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,630,631,638,643,644,648,657,681,847],[57,62,64,66,70,85,114,115,121,139,160,164,175,177,189,202,217,223,230,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,630,631,632,635,636,638,640,648,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[636],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,625,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,763,765,766,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,122,458,767,770],[50,62,64,66,70,85,87,114,115,117,121,139,141,160,164,175,177,202,203,215,227,235,236,251,275,284,309,311,334,346,350,352,353,354,367,368,372,458,473,475,481,511,517,522,527,531,536,542,546,551,569,585,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,768,770,771,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[223,230,768],[31,108,114,159,207,223,252,385,484,560,729,772],[32,106,108,114,115,214,223,224,236,458],[58,62,64,66,70,78,79,85,89,107,108,110,111,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,205,207,208,217,223,230,251,284,308,309,314,318,326,352,353,360,366,368,372,389,396,398,458,459,467,473,475,478,480,485,504,516,517,522,527,531,536,542,546,551,554,559,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,773,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[32,107,458,773],[21,110,114,115,207,236,773,774],[68,778],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,214,222,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,775,778,779,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[56,58,64,66,78,79,85,87,88,89,108,114,115,116,117,118,121,122,124,127,128,131,137,139,141,143,144,146,178,182,183,185,187,189,191,202,204,205,207,208,209,210,213,214,216,217,223,230,236,241,251,252,268,271,275,284,293,303,308,309,313,314,318,321,326,329,335,338,339,341,343,346,350,352,353,354,358,360,365,366,367,370,380,387,389,396,398,455,458,459,467,472,475,478,479,480,482,484,485,486,503,504,507,511,513,516,518,551,554,559,560,561,563,570,573,577,579,581,584,589,597,600,624,625,626,631,635,640,641,644,656,657,658,681,708,711,726,737,830,841,847,848,926,1022],[32,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,782,784,785,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,787,789,790,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,792,794,795,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[122,796,799],[52,62,64,66,70,85,105,108,114,121,139,141,143,160,164,175,177,202,207,212,224,235,251,284,365,368,372,380,458,473,475,517,522,527,531,536,542,546,551,554,569,638,640,642,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,797,799,800,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[797],[154,160],[121,153,160,208],[57,58,62,64,66,70,78,79,85,89,108,114,115,116,117,121,139,143,144,153,154,155,156,158,160,164,167,175,177,183,189,191,202,207,208,217,223,230,236,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[58,78,79,89,108,114,116,117,139,143,144,160,183,189,191,202,230,251,284,309,352,353,360,396,459,467,478,485,516,554,559,561,589,597,624,641,657,658,681,708,711,726,830],[58,62,64,66,68,70,78,79,80,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,207,230,251,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,801,804],[62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,802,804,805,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[47,58,78,79,85,89,108,114,115,116,117,118,121,139,143,144,178,182,183,185,189,191,202,205,207,208,217,223,230,236,251,284,308,309,314,318,326,352,353,360,366,389,396,398,458,459,467,475,478,480,485,504,516,551,554,559,561,563,570,589,597,600,624,625,626,640,641,657,658,681,708,711,726,737,830,841,926],[223,638,640],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,356,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,807,809,810,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,60,61,62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,812,814,815,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[148,214,223,816,820,822],[23,55,62,64,66,70,85,92,111,114,121,139,160,164,175,177,202,284,330,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,816,817,818,820,821,822,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[152,821,822],[23,62,64,66,70,85,103,114,121,136,139,160,164,175,177,202,223,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,823,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,178,458,468,826,830],[58,62,64,66,70,78,79,85,88,89,108,114,116,117,118,121,139,143,144,160,164,175,177,178,182,183,185,189,191,202,204,205,207,208,217,230,251,284,308,309,314,318,326,343,352,353,354,360,366,368,372,380,389,396,398,458,459,467,473,475,478,480,485,503,504,511,516,517,522,527,531,536,542,546,551,554,559,560,561,563,569,570,589,597,600,624,625,626,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,827,829,830,831,835,841,846,848,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[25,32,55,214,223,330,458,681,827,830,831],[32,52,56,105,108,143,212,214,251,365,380,458,554,642,832,835,837],[25,57,62,64,66,70,85,92,114,115,121,139,160,164,175,177,202,204,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,832,833,835,836,837,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[833],[21,52,105,108,122,143,167,168,170,175,212,251,365,380,554,642],[149,170,175],[57,148,168,169,171,172,175,223,467],[57,62,64,66,70,85,92,114,115,121,139,148,160,164,169,170,171,172,173,175,177,202,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[172],[57,68,107,124,142,147,149,177,467],[50,55,57,62,64,66,70,85,91,92,114,115,121,124,139,141,144,148,149,150,152,160,164,175,176,177,178,202,207,217,223,235,236,284,330,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[91,144],[52,105,108,141,143,160,175,207,212,214,235,251,365,380,554,642],[62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,839,841,842,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,86,87,88,182,183,204,217,230,343,354,380,389,503,511,560,624,657,830,848],[56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,370,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,843,846,847],[62,64,66,70,85,87,114,121,139,160,164,175,177,202,230,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,844,846,847,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,850,852,853,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[68,854,858],[23,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,236,284,368,372,390,392,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,855,856,858,859,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[856],[23,132,390,393,854],[25,121,548,551],[32,50,57,62,64,66,70,78,85,108,114,115,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,230,236,284,308,314,318,326,352,357,366,368,372,389,396,398,458,467,473,475,478,480,485,504,517,522,527,531,536,542,546,549,551,552,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[549],[121,860,863],[32,50,57,62,64,66,70,85,114,115,121,139,160,164,175,177,201,202,217,236,284,368,372,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,861,863,864,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[24,122,394,865,868,869],[23,24,57,62,64,66,70,85,114,115,121,139,160,164,175,177,202,207,236,284,368,372,394,458,467,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,866,868,869,870,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[23,394,868,870],[25,29,56,78,108,118,122,124,141,178,182,183,185,207,208,213,214,217,308,321,329,350,365,369,370,372,398,455,472,504,518,554,559,570,600,624,626,631,644,657,681,847],[47,62,64,66,70,85,104,114,121,139,160,164,175,177,202,207,230,284,368,369,370,372,373,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[373],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,873,874,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,876,877,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,879,880,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,883,884,886,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,891,892,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,894,895,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,888,889,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,897,898,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,900,901,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,909,910,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,903,904,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,906,907,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,912,913,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,921,922,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,915,916,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,918,919,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,882,884,885,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,56,62,64,66,70,78,85,108,114,118,121,139,160,164,175,177,178,182,183,185,202,205,207,208,217,223,280,281,284,308,314,318,326,352,366,368,372,389,396,398,458,473,475,478,480,485,504,517,522,527,531,536,542,546,551,554,559,563,569,570,589,600,624,625,626,638,640,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,924,925,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,927,928,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,930,931,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,934,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,936,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,939,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,933,935,937,940,942,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,207,223,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,945,946,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,948,949,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,951,952,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[115,236,282,283,284],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,954,955,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,957,958,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,960,961,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[32,56,66,280,281,284,458,969,970],[283,971],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,963,964,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,972,973,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,966,967,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,975,976,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,978,979,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,982,983,985,986,989,992,995,998,1001,1004,1007,1010,1013],[58,62,64,66,70,78,79,85,89,108,114,116,117,121,139,143,144,160,164,175,177,183,189,191,202,217,230,251,280,281,282,283,284,309,352,353,360,368,372,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,981,983,984,986,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,987,988,989,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,990,991,992,995,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,996,997,998,1001,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,993,994,995,998,1001,1004,1007,1010,1013],[26,50,58,62,64,66,70,78,79,85,89,108,114,116,117,118,121,139,143,144,160,164,175,177,183,189,191,202,203,217,223,230,231,251,280,281,284,309,346,352,353,354,355,357,358,360,368,372,380,396,458,459,467,473,475,478,485,516,517,522,527,531,536,542,546,551,554,559,561,569,589,597,624,638,640,641,654,656,657,658,662,668,673,678,681,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,999,1000,1001,1004,1007,1010,1013],[283,1001],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1002,1003,1004,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1008,1009,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1005,1006,1007,1010,1013],[62,64,66,70,85,114,121,139,160,164,175,177,202,280,281,284,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1011,1012,1013],[36,78,85,108,113,114,118,121,126,127,131,137,139,146,178,182,183,185,187,189,200,202,204,205,207,208,209,216,217,241,252,268,270,271,275,293,297,303,308,313,314,318,319,326,329,335,338,339,341,346,352,354,358,366,367,387,389,396,398,453,458,475,478,479,480,482,484,485,486,504,507,511,513,551,554,559,560,563,569,570,572,577,579,584,589,600,624,625,626,635,640,657,658,681,737,777,830,841,926,1022],[62,64,66,70,85,114,121,128,139,160,164,175,177,195,202,207,210,217,223,230,251,284,293,309,310,313,368,372,458,473,475,517,522,527,531,536,542,546,551,569,638,640,654,656,662,668,673,678,685,692,697,702,708,711,717,720,726,733,737,742,747,750,756,761,765,770,778,784,789,794,799,804,809,814,820,825,830,835,841,846,852,858,863,868,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,947,950,953,956,959,962,965,968,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013],[36,78,85,108,113,114,118,121,126,139,178,182,183,185,200,202,205,207,208,217,230,270,297,308,314,318,326,352,366,389,396,398,453,458,475,478,480,485,504,551,554,559,563,569,570,572,589,600,624,625,626,640,657,658,681,737,777,830,841,926],[251,309],[36,113,126,200,270,297,314,318,453,475,569,572,589,777],[58,78,79,89,90,101,108,114,116,117,139,143,144,146,183,187,189,191,192,202,215,217,218,220,230,238,240,251,267,275,284,289,300,309,310,319,332,334,339,340,344,352,353,358,360,387,388,389,396,459,467,478,482,485,516,554,559,560,561,577,589,597,624,641,657,658,681,708,711,726,830,1015,1022],[27,78,85,88,118,127,131,137,146,182,183,187,189,192,204,207,209,216,217,223,230,240,241,252,268,271,275,293,303,313,314,326,329,335,338,339,341,343,346,354,358,366,367,380,387,389,479,482,484,486,503,507,511,513,560,563,577,579,584,589,600,624,626,635,657,681,737,830,848,1022],[204,217,230],[192,204],[32,78,85,118,127,128,131,137,146,183,187,189,204,207,209,210,216,217,222,223,230,241,252,268,271,275,293,303,310,313,314,326,329,335,338,339,341,346,354,358,366,367,387,389,458,479,482,484,486,507,511,513,560,563,577,579,584,589,600,626,635,657,681,737,1022],[310],[27,217,1016],[118,203,231,266,293,346,352,353,354,355,357,358,380,1017,1019,1020],[266,267,1017,1019],[78,79,85,89,90,101,118,127,131,137,146,183,187,189,192,204,207,209,215,216,217,218,240,241,251,252,267,268,271,275,289,293,300,303,309,310,313,314,326,329,332,334,335,338,339,340,341,344,346,354,358,360,366,367,387,388,389,459,479,482,484,486,507,511,513,560,561,563,577,579,584,589,597,600,626,635,657,681,737,1016,1021,1022],[118,128,196,203,207,209,210,217,231,293,300,346,352,353,354,355,357,358,380]],"referencedMap":[[1174,1],[1176,2],[241,3],[335,4],[249,5],[304,6],[250,7],[305,8],[308,9],[306,10],[320,11],[323,12],[324,13],[322,14],[327,15],[321,16],[326,17],[328,18],[252,19],[329,20],[330,21],[307,22],[242,23],[331,24],[251,25],[334,26],[333,27],[332,28],[246,29],[248,30],[303,31],[245,32],[247,33],[243,34],[244,35],[224,36],[75,37],[74,38],[230,39],[350,40],[348,41],[347,42],[180,43],[229,44],[88,45],[215,46],[231,47],[352,48],[183,49],[178,50],[179,51],[181,52],[359,53],[353,54],[354,55],[355,56],[195,57],[203,58],[225,59],[226,60],[228,61],[227,62],[346,63],[345,64],[344,65],[311,66],[356,67],[118,68],[117,69],[119,70],[87,71],[349,72],[20,73],[380,74],[377,75],[379,76],[357,77],[358,78],[217,79],[387,80],[219,81],[268,82],[187,83],[388,84],[137,85],[389,86],[233,87],[235,88],[234,89],[65,90],[220,91],[188,92],[390,93],[393,94],[391,93],[132,93],[392,95],[239,96],[238,97],[273,98],[325,99],[189,100],[184,101],[89,102],[182,103],[338,104],[336,105],[218,106],[209,107],[210,108],[25,109],[26,110],[38,111],[73,112],[337,93],[29,113],[77,114],[395,115],[76,116],[30,90],[237,117],[381,118],[236,119],[382,120],[384,121],[223,122],[386,123],[92,124],[383,118],[222,125],[385,126],[113,127],[36,128],[221,129],[339,130],[108,131],[55,132],[396,133],[397,134],[214,135],[213,136],[212,137],[211,138],[207,139],[398,140],[206,141],[205,142],[58,143],[63,144],[62,145],[57,146],[71,147],[240,148],[78,149],[79,150],[232,151],[415,152],[402,153],[410,154],[401,155],[417,156],[403,157],[419,158],[404,153],[420,159],[408,160],[414,161],[409,162],[416,163],[418,164],[407,165],[399,166],[412,167],[411,168],[405,169],[48,170],[47,171],[442,172],[422,173],[423,174],[424,175],[425,175],[426,175],[427,175],[428,175],[429,175],[430,175],[431,175],[432,175],[433,175],[434,175],[435,175],[436,175],[437,175],[438,175],[439,175],[440,175],[441,175],[444,176],[443,177],[45,178],[42,179],[44,180],[446,181],[445,182],[448,183],[447,182],[450,184],[449,182],[452,185],[451,182],[300,186],[302,187],[294,188],[301,189],[264,190],[261,191],[296,192],[288,193],[290,194],[298,195],[297,196],[260,197],[289,198],[295,199],[256,200],[257,201],[262,202],[259,203],[255,204],[263,205],[258,206],[293,207],[292,208],[267,209],[291,210],[287,211],[279,212],[299,213],[285,214],[286,215],[265,216],[487,217],[488,218],[489,219],[491,220],[493,221],[492,222],[494,223],[495,224],[496,225],[490,226],[497,227],[453,228],[499,229],[477,230],[479,231],[459,232],[478,233],[465,234],[498,90],[460,235],[461,236],[464,237],[462,238],[463,239],[480,240],[115,241],[146,242],[145,243],[91,244],[481,245],[482,246],[501,247],[500,248],[505,249],[503,250],[502,235],[191,251],[504,252],[507,253],[483,254],[556,255],[555,256],[553,257],[512,258],[513,259],[554,260],[510,261],[509,262],[508,263],[511,264],[560,265],[558,266],[557,267],[559,268],[563,269],[562,270],[561,271],[275,272],[269,273],[276,274],[270,275],[271,276],[277,277],[565,278],[143,279],[570,280],[571,281],[572,282],[574,283],[573,284],[576,285],[575,286],[577,287],[579,288],[578,289],[580,290],[484,291],[343,292],[341,293],[342,294],[340,295],[585,296],[584,297],[582,298],[581,299],[583,300],[141,301],[485,302],[486,303],[589,304],[587,305],[586,306],[588,305],[591,307],[595,308],[597,309],[600,310],[593,311],[592,116],[596,312],[590,116],[594,313],[599,314],[367,315],[159,316],[601,317],[602,318],[603,319],[604,320],[605,320],[606,318],[607,317],[608,320],[609,319],[610,317],[611,320],[612,321],[613,320],[614,317],[363,322],[364,323],[360,324],[615,23],[366,325],[362,326],[365,327],[378,116],[103,328],[131,329],[127,330],[125,331],[90,332],[128,333],[126,334],[133,335],[136,336],[129,337],[101,338],[135,339],[93,340],[100,341],[95,342],[94,343],[96,342],[97,342],[99,344],[98,342],[616,345],[617,346],[618,346],[619,346],[620,346],[621,346],[623,347],[622,346],[1023,348],[1029,349],[1030,350],[1024,351],[1033,352],[1038,353],[1041,354],[1042,355],[1043,356],[1044,357],[1045,358],[1046,359],[1047,360],[1048,361],[1049,362],[1050,363],[1051,364],[1052,365],[1053,366],[1054,367],[1055,368],[1056,369],[1057,290],[1058,370],[1059,371],[1060,372],[1061,373],[1062,374],[1063,375],[1064,376],[1065,377],[1066,378],[1067,379],[1068,380],[1069,381],[1070,382],[1071,383],[1072,384],[1073,385],[1074,386],[1075,387],[1076,388],[1077,389],[1078,390],[1079,391],[1080,392],[1081,393],[1082,394],[1083,395],[1084,396],[1085,397],[1086,398],[1087,399],[1089,400],[1088,401],[1090,402],[1091,403],[1092,404],[1093,405],[1034,406],[1094,407],[1031,408],[1095,409],[1096,410],[1097,411],[1098,412],[1035,413],[1099,414],[1100,415],[1101,416],[1102,417],[1103,418],[1104,419],[1105,420],[1106,421],[1107,422],[1108,423],[1109,424],[1110,425],[1111,426],[1028,427],[1112,428],[1113,429],[1114,430],[1115,431],[1116,432],[1117,433],[1118,434],[1119,435],[1032,436],[1120,437],[1036,438],[1039,439],[1121,440],[1122,441],[1123,442],[1124,443],[1125,444],[1126,445],[1127,446],[1025,447],[1128,448],[1129,449],[1130,450],[1131,451],[1132,452],[1133,453],[1134,454],[1135,455],[1136,456],[1137,457],[1138,458],[1026,459],[1139,460],[1037,461],[1140,462],[1141,463],[1142,464],[1143,465],[1144,466],[1145,467],[1146,468],[1147,469],[1148,470],[1149,471],[1150,472],[1151,473],[1152,474],[1153,475],[1154,476],[1027,477],[1040,478],[1155,479],[1156,480],[1157,481],[1158,482],[1159,483],[1160,484],[1161,485],[1162,486],[1163,487],[1164,488],[1165,489],[1166,490],[1167,491],[1168,492],[663,493],[659,494],[662,495],[661,496],[660,497],[455,498],[454,499],[458,500],[457,501],[456,502],[664,503],[515,504],[518,505],[514,506],[517,507],[665,508],[516,509],[653,510],[652,511],[654,512],[651,513],[650,514],[649,515],[656,516],[655,517],[669,518],[666,519],[668,520],[667,521],[674,522],[670,523],[673,524],[672,525],[671,526],[523,527],[519,528],[522,529],[521,530],[520,531],[83,532],[82,533],[185,534],[84,535],[54,536],[85,537],[81,538],[528,539],[525,540],[527,541],[526,542],[524,543],[679,544],[675,545],[678,546],[677,547],[676,548],[111,549],[124,550],[680,551],[122,552],[105,553],[121,554],[120,555],[116,556],[681,557],[686,558],[682,519],[685,559],[684,560],[683,561],[532,562],[529,515],[531,563],[530,564],[688,565],[693,566],[689,519],[692,567],[691,568],[690,569],[687,570],[624,571],[698,572],[694,494],[697,573],[696,574],[695,575],[625,576],[703,577],[699,519],[702,578],[701,579],[700,580],[648,581],[147,582],[712,583],[704,584],[711,585],[710,586],[705,587],[537,588],[533,589],[536,590],[535,591],[534,592],[198,593],[196,594],[202,595],[199,596],[197,597],[200,598],[721,599],[714,600],[720,601],[719,602],[722,603],[727,604],[723,605],[726,606],[725,607],[724,608],[729,609],[734,610],[730,611],[733,612],[732,613],[731,614],[728,615],[376,616],[375,617],[368,618],[361,619],[374,620],[738,621],[735,499],[737,622],[736,623],[472,624],[471,625],[473,626],[470,627],[626,628],[468,629],[466,536],[475,630],[469,631],[467,632],[743,633],[739,634],[742,635],[741,636],[740,637],[748,638],[744,519],[747,639],[746,640],[745,641],[540,642],[538,519],[542,643],[541,644],[543,645],[751,646],[752,634],[750,647],[749,648],[474,649],[757,650],[753,651],[756,652],[755,653],[754,654],[56,655],[52,656],[66,657],[67,658],[709,659],[706,660],[708,661],[707,662],[140,663],[102,664],[139,665],[138,666],[123,667],[758,668],[759,669],[761,670],[760,671],[715,672],[713,625],[717,673],[716,674],[718,675],[567,676],[130,677],[569,678],[568,679],[566,680],[644,681],[627,682],[643,683],[642,684],[640,685],[628,686],[641,687],[646,688],[645,99],[647,689],[633,690],[208,691],[547,692],[539,693],[546,694],[545,695],[544,696],[201,697],[166,698],[165,699],[161,700],[164,701],[162,702],[167,703],[632,704],[629,705],[634,706],[635,707],[631,708],[630,709],[638,710],[637,711],[636,712],[766,713],[762,499],[765,714],[764,715],[763,716],[163,118],[771,717],[767,519],[770,718],[768,719],[769,720],[772,721],[109,722],[107,723],[106,724],[114,725],[112,726],[110,727],[774,728],[773,729],[779,730],[780,731],[778,732],[776,733],[775,734],[777,735],[657,736],[785,737],[781,738],[784,739],[783,740],[782,741],[790,742],[786,743],[789,744],[788,745],[787,746],[795,747],[791,748],[794,749],[793,750],[792,751],[800,752],[796,519],[799,753],[798,754],[797,755],[158,756],[155,757],[154,758],[153,759],[160,760],[157,761],[156,762],[68,763],[53,499],[70,764],[69,765],[80,766],[805,767],[801,738],[804,768],[803,769],[802,770],[658,771],[639,772],[810,773],[806,774],[809,775],[808,776],[807,777],[60,778],[59,499],[64,779],[61,780],[815,781],[811,523],[814,782],[813,783],[812,784],[822,785],[817,786],[816,787],[820,788],[819,789],[821,790],[818,791],[825,792],[824,793],[823,794],[831,795],[826,796],[830,797],[828,798],[827,799],[829,800],[837,801],[836,802],[832,803],[835,804],[834,805],[833,806],[173,807],[171,808],[169,809],[170,810],[168,811],[175,812],[174,813],[172,814],[150,815],[149,816],[148,817],[142,738],[177,818],[151,819],[144,820],[176,821],[842,822],[838,823],[841,824],[840,825],[839,826],[848,827],[847,828],[843,519],[846,829],[845,830],[844,831],[853,832],[849,738],[852,833],[851,834],[850,835],[859,836],[854,738],[858,837],[857,838],[856,839],[855,840],[552,841],[548,519],[551,842],[550,843],[549,844],[864,845],[860,519],[863,846],[862,847],[861,848],[870,849],[865,519],[868,850],[867,851],[866,852],[869,853],[370,854],[369,594],[372,855],[371,856],[373,857],[278,858],[875,859],[873,860],[874,861],[878,862],[876,863],[877,864],[881,865],[879,866],[880,867],[887,868],[883,869],[886,870],[893,871],[891,872],[892,873],[896,874],[894,875],[895,876],[890,877],[888,863],[889,878],[899,879],[897,880],[898,881],[902,882],[900,863],[901,883],[911,884],[909,869],[910,885],[905,886],[903,863],[904,887],[908,888],[906,863],[907,889],[914,890],[912,869],[913,891],[923,892],[921,863],[922,893],[917,894],[915,860],[916,895],[920,896],[918,863],[919,897],[884,898],[882,863],[885,899],[926,900],[925,901],[924,902],[280,903],[281,904],[929,905],[927,863],[928,906],[932,907],[930,908],[931,909],[935,910],[933,863],[934,911],[937,912],[938,913],[936,914],[940,915],[941,913],[939,916],[943,917],[944,913],[942,918],[947,919],[945,920],[946,921],[950,922],[948,863],[949,923],[953,924],[951,863],[952,925],[872,926],[956,927],[954,863],[955,928],[959,929],[957,930],[958,931],[962,932],[960,860],[961,933],[971,934],[969,863],[970,935],[965,936],[963,869],[964,937],[974,938],[972,908],[973,939],[968,940],[966,863],[967,941],[977,942],[975,863],[976,943],[980,944],[978,863],[979,945],[986,946],[982,947],[985,948],[284,949],[282,950],[283,951],[983,952],[981,953],[984,954],[989,955],[988,956],[987,957],[992,958],[990,869],[991,959],[998,960],[996,863],[997,961],[995,962],[993,863],[994,963],[1001,964],[999,965],[1000,966],[1004,967],[1002,863],[1003,968],[1010,969],[1008,863],[1009,970],[1007,971],[1005,972],[1006,973],[1013,974],[1011,863],[1012,975],[314,976],[319,977],[318,978],[315,979],[309,980],[316,127],[1015,981],[1014,28],[204,982],[194,983],[193,984],[192,985],[313,986],[312,987],[310,988],[1021,989],[1019,990],[1017,991],[1018,992],[1022,993],[1016,994],[1020,995],[317,23]],"exportedModulesMap":[[1174,1],[1176,2],[241,996],[335,997],[249,998],[304,999],[250,1000],[305,1001],[308,1002],[306,1003],[320,1004],[323,1005],[324,1006],[322,1007],[327,1008],[321,1009],[326,1010],[328,1011],[252,1012],[329,1013],[330,1014],[307,1015],[242,1016],[331,1017],[251,25],[334,1018],[333,27],[332,28],[246,1019],[248,1020],[303,1021],[245,1022],[247,1023],[243,1024],[244,1023],[224,36],[75,1025],[74,1026],[230,1027],[350,1028],[348,41],[347,42],[180,43],[229,42],[88,45],[215,46],[231,47],[352,1029],[183,1030],[178,1031],[179,1032],[181,1033],[359,53],[353,1034],[354,1035],[355,1036],[195,1037],[203,1038],[225,59],[226,60],[228,1039],[227,1040],[346,1041],[345,64],[344,65],[311,1042],[356,1043],[118,1044],[117,69],[119,1045],[87,1046],[349,1047],[20,73],[380,1048],[377,75],[379,1049],[357,1050],[358,1051],[217,1052],[387,1053],[219,284],[268,1054],[187,83],[388,1055],[137,1056],[389,1057],[233,1058],[235,88],[234,89],[220,1059],[188,1060],[390,93],[393,1061],[391,93],[132,93],[392,95],[239,1062],[238,97],[273,1063],[325,99],[189,1064],[184,101],[89,102],[182,1065],[338,1066],[336,1067],[218,106],[209,1068],[210,108],[25,109],[26,110],[38,1069],[73,1070],[337,93],[29,113],[77,115],[395,115],[30,90],[237,117],[381,118],[236,119],[382,120],[384,121],[223,1071],[386,1072],[92,1073],[383,118],[222,1074],[385,1075],[113,1076],[36,128],[221,1077],[339,1078],[108,1079],[55,132],[396,1080],[397,1081],[214,1082],[213,136],[212,137],[211,138],[207,1083],[398,1084],[206,145],[205,142],[58,143],[63,1085],[62,145],[57,146],[71,1016],[240,1086],[78,1087],[79,150],[232,1088],[415,1089],[402,153],[410,1090],[401,155],[417,1091],[403,157],[419,1092],[404,153],[420,1093],[408,160],[414,1094],[409,1095],[416,1096],[418,1097],[407,1098],[399,166],[412,1099],[411,168],[405,1100],[48,1101],[47,1102],[442,1103],[422,173],[423,174],[424,174],[425,174],[426,174],[427,174],[428,174],[429,174],[430,174],[431,174],[432,174],[433,174],[434,174],[435,174],[436,174],[437,174],[438,174],[439,174],[440,174],[441,174],[444,1104],[443,177],[45,1105],[42,179],[44,180],[446,1106],[445,182],[448,1107],[447,182],[450,1108],[449,182],[452,1109],[451,182],[300,1110],[302,1111],[294,1112],[301,189],[264,190],[261,1113],[296,1114],[288,193],[290,1115],[298,1114],[297,1116],[260,197],[289,1117],[295,1114],[256,1118],[257,201],[262,1119],[259,203],[255,1120],[263,1121],[258,206],[293,1122],[292,994],[267,209],[291,1123],[287,1124],[279,1125],[299,1126],[285,1127],[286,1128],[265,216],[487,1129],[488,1130],[489,1131],[491,1132],[493,1133],[492,1134],[494,1135],[495,1136],[496,1137],[490,1138],[497,1139],[453,1140],[499,1141],[479,1142],[459,232],[478,1143],[465,234],[460,235],[461,236],[464,1144],[462,1145],[463,239],[480,1146],[115,1147],[146,1148],[145,1149],[91,244],[481,1150],[482,1151],[501,248],[500,248],[505,1152],[503,1153],[502,235],[191,251],[504,1154],[507,1155],[556,255],[555,256],[553,1156],[512,258],[513,1157],[554,1158],[510,1159],[509,1160],[508,263],[511,1161],[560,1162],[558,1163],[557,267],[559,1164],[563,1165],[562,270],[561,271],[275,1166],[269,1167],[276,274],[270,1168],[271,1169],[277,277],[565,1170],[143,279],[570,1171],[571,1172],[572,1168],[574,1016],[573,284],[576,1173],[575,286],[577,1174],[579,1175],[578,1176],[580,290],[484,1177],[343,1178],[341,1179],[342,1180],[340,295],[585,1181],[584,1182],[582,298],[581,299],[583,1183],[141,1184],[485,1185],[486,1186],[589,1187],[587,305],[586,306],[588,305],[591,307],[595,1188],[597,309],[600,1189],[593,1190],[596,1191],[594,313],[599,1192],[367,1193],[159,1194],[601,28],[602,28],[603,28],[604,28],[605,28],[606,28],[607,28],[608,28],[609,28],[610,28],[611,28],[612,28],[613,28],[614,28],[363,1195],[364,323],[360,324],[615,1016],[366,1196],[362,95],[365,1197],[103,328],[131,1198],[127,1199],[125,1200],[90,332],[128,1201],[126,334],[133,335],[136,1202],[129,340],[101,338],[135,1203],[93,340],[100,341],[95,342],[94,343],[96,342],[97,342],[99,344],[98,342],[616,345],[617,346],[618,346],[619,346],[620,346],[621,346],[623,347],[622,346],[1023,1204],[1029,349],[1030,1205],[1024,1206],[1033,352],[1038,353],[1041,354],[1042,355],[1043,356],[1044,357],[1045,358],[1046,359],[1047,360],[1048,361],[1049,362],[1050,363],[1051,364],[1052,365],[1053,366],[1054,367],[1055,368],[1056,369],[1057,290],[1058,370],[1059,1207],[1060,1208],[1061,373],[1062,374],[1063,375],[1064,376],[1065,377],[1066,378],[1067,379],[1068,380],[1069,381],[1070,382],[1071,383],[1072,384],[1073,385],[1074,386],[1075,387],[1076,388],[1077,389],[1078,390],[1079,391],[1080,392],[1081,393],[1082,394],[1083,395],[1084,396],[1085,397],[1086,398],[1087,290],[1089,400],[1088,290],[1090,402],[1091,290],[1092,290],[1093,290],[1034,290],[1094,407],[1031,290],[1095,290],[1096,290],[1097,1209],[1098,290],[1035,290],[1099,290],[1100,415],[1101,416],[1102,290],[1103,290],[1104,290],[1105,420],[1106,290],[1107,290],[1108,423],[1109,290],[1110,1210],[1111,290],[1028,1211],[1112,428],[1113,290],[1114,430],[1115,290],[1116,432],[1117,433],[1118,434],[1119,435],[1032,1212],[1120,290],[1036,290],[1039,290],[1121,290],[1122,290],[1123,290],[1124,443],[1125,290],[1126,290],[1127,446],[1025,290],[1128,290],[1129,449],[1130,290],[1131,290],[1132,452],[1133,453],[1134,454],[1135,290],[1136,290],[1137,457],[1138,290],[1026,290],[1139,290],[1037,1213],[1140,462],[1141,1214],[1142,290],[1143,290],[1144,290],[1145,467],[1146,468],[1147,290],[1148,290],[1149,471],[1150,290],[1151,473],[1152,474],[1153,475],[1154,476],[1027,290],[1040,478],[1155,290],[1156,290],[1157,290],[1158,290],[1159,290],[1160,290],[1161,290],[1162,290],[1163,290],[1164,290],[1165,290],[1166,290],[1167,290],[1168,290],[663,1215],[659,494],[662,1216],[661,496],[660,497],[455,498],[454,499],[458,1217],[457,501],[456,502],[664,1218],[515,504],[518,1219],[514,506],[517,1220],[665,508],[516,509],[653,510],[652,511],[654,1221],[651,513],[650,514],[649,515],[656,1222],[655,517],[669,518],[666,519],[668,1223],[667,521],[674,522],[670,523],[673,1224],[672,525],[671,526],[523,527],[519,528],[522,1225],[521,1226],[520,531],[83,1227],[82,1228],[185,1229],[84,1230],[54,536],[85,1231],[81,538],[528,539],[525,540],[527,1232],[526,542],[524,543],[679,544],[675,545],[678,1233],[677,648],[676,548],[111,145],[124,1234],[680,1235],[122,552],[105,553],[121,1236],[120,1237],[116,556],[681,1238],[686,558],[682,519],[685,1239],[684,560],[683,561],[532,1240],[529,515],[531,1241],[530,564],[688,1242],[693,1243],[689,519],[692,1244],[691,568],[690,569],[687,1245],[624,1246],[698,1247],[694,494],[697,1248],[696,574],[695,575],[625,1249],[703,577],[699,519],[702,1250],[701,579],[700,580],[648,1251],[147,582],[712,1252],[704,584],[711,1253],[710,1254],[705,587],[537,588],[533,589],[536,1255],[535,1256],[534,592],[198,1257],[196,594],[202,1258],[199,1259],[197,597],[200,1168],[721,1260],[714,600],[720,1261],[719,602],[722,603],[727,604],[723,605],[726,1262],[725,1263],[724,608],[729,1264],[734,1265],[730,611],[733,1266],[732,613],[731,614],[728,1245],[376,1267],[375,617],[368,1268],[361,1269],[374,620],[738,1270],[735,499],[737,1271],[736,623],[472,1272],[471,625],[473,1273],[470,627],[626,1274],[468,1275],[466,536],[475,1276],[469,1277],[467,632],[743,1278],[739,634],[742,1279],[741,636],[740,637],[748,638],[744,519],[747,1280],[746,640],[745,641],[540,1281],[538,519],[542,1282],[541,644],[543,645],[751,1283],[752,634],[750,1284],[749,648],[474,1285],[757,1286],[753,651],[756,1287],[755,1288],[754,654],[56,655],[52,656],[66,1289],[67,658],[709,1290],[706,660],[708,1291],[707,662],[140,1292],[102,664],[139,1293],[138,627],[123,667],[758,1294],[759,669],[761,1295],[760,671],[715,672],[713,625],[717,1296],[716,674],[718,675],[567,1297],[130,677],[569,1298],[568,1299],[566,680],[644,1300],[627,682],[643,1301],[642,684],[640,1302],[628,1303],[641,687],[646,688],[645,99],[647,1304],[633,1305],[208,1306],[547,1307],[539,693],[546,1308],[545,695],[544,696],[201,1309],[166,698],[165,1310],[161,700],[164,1311],[162,1312],[167,703],[632,704],[629,705],[634,1305],[635,1313],[631,1314],[630,709],[638,1315],[637,1316],[636,712],[766,713],[762,499],[765,1317],[764,715],[763,716],[163,118],[771,1318],[767,519],[770,1319],[768,719],[769,1320],[772,1321],[109,722],[107,1322],[106,724],[114,1323],[112,1324],[110,727],[774,1325],[773,1326],[779,1327],[780,731],[778,1328],[776,733],[775,734],[777,1168],[657,1329],[785,737],[781,738],[784,1330],[783,740],[782,741],[790,742],[786,743],[789,1331],[788,745],[787,746],[795,747],[791,748],[794,1332],[793,750],[792,751],[800,1333],[796,519],[799,1334],[798,1335],[797,755],[158,1336],[155,757],[154,1337],[153,759],[160,1338],[157,1339],[156,762],[68,763],[53,499],[70,1340],[69,765],[80,766],[805,1341],[801,738],[804,1342],[803,769],[802,770],[658,1343],[639,1344],[810,773],[806,774],[809,1345],[808,776],[807,777],[60,778],[59,499],[64,1346],[61,780],[815,781],[811,523],[814,1347],[813,783],[812,784],[822,785],[817,1348],[816,787],[820,1349],[819,789],[821,790],[818,1350],[825,1351],[824,793],[823,794],[831,1352],[826,796],[830,1353],[828,798],[827,799],[829,1354],[837,801],[836,1355],[832,803],[835,1356],[834,1357],[833,806],[173,807],[171,1358],[169,1359],[170,1360],[168,811],[175,1361],[174,1362],[172,814],[150,815],[149,816],[148,1363],[142,738],[177,1364],[151,1365],[144,820],[176,1366],[842,822],[838,823],[841,1367],[840,825],[839,826],[848,1368],[847,1369],[843,519],[846,1370],[845,830],[844,831],[853,832],[849,738],[852,1371],[851,834],[850,835],[859,1372],[854,738],[858,1373],[857,1374],[856,839],[855,1375],[552,1376],[548,519],[551,1377],[550,1378],[549,844],[864,1379],[860,519],[863,1380],[862,847],[861,848],[870,1381],[865,519],[868,1382],[867,851],[866,852],[869,1383],[370,1384],[369,594],[372,1385],[371,1386],[373,857],[875,1387],[873,860],[874,861],[878,1388],[876,863],[877,864],[881,1389],[879,866],[880,867],[887,1390],[883,869],[886,870],[893,1391],[891,872],[892,873],[896,1392],[894,875],[895,876],[890,1393],[888,863],[889,878],[899,1394],[897,880],[898,881],[902,1395],[900,863],[901,883],[911,1396],[909,869],[910,885],[905,1397],[903,863],[904,887],[908,1398],[906,863],[907,889],[914,1399],[912,869],[913,891],[923,1400],[921,863],[922,893],[917,1401],[915,860],[916,895],[920,1402],[918,863],[919,897],[884,1403],[882,863],[885,899],[926,1404],[925,901],[924,902],[280,903],[281,904],[929,1405],[927,863],[928,906],[932,1406],[930,908],[931,909],[935,1407],[933,863],[934,911],[937,1408],[938,913],[936,914],[940,1409],[941,913],[939,916],[943,1410],[944,913],[942,918],[947,1411],[945,920],[946,921],[950,1412],[948,863],[949,923],[953,1413],[951,863],[952,925],[872,1414],[956,1415],[954,863],[955,928],[959,1416],[957,930],[958,931],[962,1417],[960,860],[961,933],[971,1418],[969,863],[970,1419],[965,1420],[963,869],[964,937],[974,1421],[972,908],[973,939],[968,1422],[966,863],[967,941],[977,1423],[975,863],[976,943],[980,1424],[978,863],[979,945],[986,1425],[982,947],[985,948],[284,1426],[282,950],[283,951],[983,1427],[981,953],[984,954],[989,1428],[988,956],[987,957],[992,1429],[990,869],[991,959],[998,1430],[996,863],[997,961],[995,1431],[993,863],[994,963],[1001,1432],[999,965],[1000,1433],[1004,1434],[1002,863],[1003,968],[1010,1435],[1008,863],[1009,970],[1007,1436],[1005,972],[1006,973],[1013,1437],[1011,863],[1012,975],[314,1438],[319,1439],[318,1440],[315,1441],[309,980],[316,1442],[1015,1443],[1014,28],[204,1444],[194,1445],[193,1446],[192,985],[313,1447],[312,1448],[310,988],[1021,1449],[1019,1450],[1017,1451],[1018,992],[1022,1452],[1016,994],[1020,1453],[317,1016]],"semanticDiagnosticsPerFile":[1174,1170,1169,1172,1171,1173,1176,1175,17,18,4,6,5,2,7,8,9,10,11,12,13,14,3,15,16,1,241,335,249,304,250,305,308,306,320,323,324,322,327,321,326,328,252,329,330,307,242,331,251,334,333,332,246,248,303,245,247,243,244,224,75,74,72,230,350,348,347,180,229,88,215,231,351,352,183,178,179,181,359,353,354,355,195,203,225,226,228,227,346,345,344,311,356,118,117,119,87,349,86,19,20,380,377,379,357,358,49,217,387,219,216,268,187,388,137,389,233,21,235,234,65,220,33,40,188,390,393,391,132,392,134,239,238,273,272,325,189,184,186,89,182,338,336,218,209,210,22,25,26,39,27,28,38,37,73,394,337,23,29,77,395,76,30,24,237,381,236,382,384,223,386,31,92,32,383,222,385,34,35,113,36,221,339,50,108,55,396,397,51,214,213,212,211,207,398,206,205,58,63,62,57,71,240,78,79,232,415,402,410,401,400,417,403,419,404,420,408,414,409,406,416,418,407,399,41,412,411,405,48,47,46,442,422,423,421,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,444,443,45,42,44,43,446,445,448,447,450,449,452,451,300,302,294,301,264,261,296,288,290,298,297,253,260,289,295,254,256,257,262,259,255,263,258,293,292,266,267,291,287,279,299,285,286,265,487,488,489,491,493,492,494,495,496,490,497,453,499,477,476,479,459,478,465,498,460,461,464,462,463,480,115,146,145,91,481,482,501,500,190,505,503,502,191,504,507,506,483,556,555,553,512,513,554,510,509,508,511,560,558,557,559,563,562,561,275,269,276,270,271,277,564,565,143,570,571,572,574,573,576,575,577,579,578,580,484,343,341,342,340,585,584,582,581,583,141,485,274,486,589,587,586,588,591,595,597,598,600,593,592,596,590,594,599,367,159,601,602,603,604,605,606,607,608,609,610,611,612,613,614,363,364,360,615,366,362,365,378,103,131,127,125,90,128,126,133,136,129,101,135,93,100,95,94,96,97,99,98,616,617,618,619,620,621,623,622,1023,1029,1030,1024,1033,1038,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1089,1088,1090,1091,1092,1093,1034,1094,1031,1095,1096,1097,1098,1035,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1028,1112,1113,1114,1115,1116,1117,1118,1119,1032,1120,1036,1039,1121,1122,1123,1124,1125,1126,1127,1025,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1026,1139,1037,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1027,1040,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,663,659,662,661,660,455,454,458,457,456,664,515,518,514,517,665,516,653,652,654,651,650,649,656,655,669,666,668,667,674,670,673,672,671,523,519,522,521,520,83,82,185,84,54,85,81,528,525,527,526,524,679,675,678,677,676,111,124,680,104,122,105,121,120,116,681,686,682,685,684,683,532,529,531,530,688,693,689,692,691,690,687,624,698,694,697,696,695,625,703,699,702,701,700,648,147,712,704,711,710,705,537,533,536,535,534,198,196,202,199,197,200,721,714,720,719,722,727,723,726,725,724,729,734,730,733,732,731,728,376,375,368,361,374,738,735,737,736,472,471,473,470,626,468,466,475,469,467,743,739,742,741,740,748,744,747,746,745,540,538,542,541,543,751,752,750,749,474,757,753,756,755,754,56,52,66,67,709,706,708,707,140,102,139,138,123,758,759,761,760,715,713,717,716,718,567,130,569,568,566,644,627,643,642,640,628,641,646,645,647,633,208,547,539,546,545,544,201,166,165,161,164,162,167,632,629,634,635,631,630,638,637,636,766,762,765,764,763,163,771,767,770,768,769,772,109,107,106,114,112,110,774,773,779,780,778,776,775,777,657,785,781,784,783,782,790,786,789,788,787,795,791,794,793,792,800,796,799,798,797,158,155,154,153,160,157,156,68,53,70,69,80,805,801,804,803,802,658,639,810,806,809,808,807,60,59,64,61,815,811,814,813,812,822,817,816,820,819,821,818,825,824,823,831,826,830,828,827,829,837,836,832,835,834,833,173,171,169,170,168,175,174,172,150,149,148,142,177,151,144,152,176,842,838,841,840,839,848,847,843,846,845,844,853,849,852,851,850,859,854,858,857,856,855,552,548,551,550,549,864,860,863,862,861,870,865,868,867,866,869,370,369,372,371,373,278,413,875,873,874,878,876,877,881,879,880,887,883,886,893,891,892,896,894,895,871,890,888,889,899,897,898,902,900,901,911,909,910,905,903,904,908,906,907,914,912,913,923,921,922,917,915,916,920,918,919,884,882,885,926,925,924,280,281,929,927,928,932,930,931,935,933,934,937,938,936,940,941,939,943,944,942,947,945,946,950,948,949,953,951,952,872,956,954,955,959,957,958,962,960,961,971,969,970,965,963,964,974,972,973,968,966,967,977,975,976,980,978,979,986,982,985,284,282,283,983,981,984,989,988,987,992,990,991,998,996,997,995,993,994,1001,999,1000,1004,1002,1003,1010,1008,1009,1007,1005,1006,1013,1011,1012,314,319,318,315,309,316,1015,1014,204,194,193,192,313,312,310,1021,1019,1017,1018,1022,1016,1020,317],"latestChangedDtsFile":"./masters/themes/sunset.src.d.ts"},"version":"5.4.5"} \ No newline at end of file diff --git a/highcharts-3d.js b/highcharts-3d.js index 8958ebfbf6..b866b29cef 100644 --- a/highcharts-3d.js +++ b/highcharts-3d.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-3d * @requires highcharts * diff --git a/highcharts-3d.src.js b/highcharts-3d.src.js index f5e995375c..a403a9782a 100644 --- a/highcharts-3d.src.js +++ b/highcharts-3d.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-3d * @requires highcharts * diff --git a/highcharts-gantt.js b/highcharts-gantt.js index 72e9c3ff28..54b6f05699 100644 --- a/highcharts-gantt.js +++ b/highcharts-gantt.js @@ -1,16 +1,16 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i,s,o;var r,n,a,h,l,d,c,p,u,g,f,m,x,y,b,v,M,k,w,S,A,T,P={};P.d=(t,e)=>{for(var i in e)P.o(e,i)&&!P.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},P.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};P.d(C,{default:()=>go}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.0",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(r||(r={}));let O=r,{charts:E,doc:L,win:B}=O;function I(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=H(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),Z(s,function(e,i){t+=` - - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}J(O,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);B.console&&-1===I.messages.indexOf(n)&&console.warn(n)}),I.messages.push(n)}function D(t,e){return parseInt(t,e||10)}function R(t){return"string"==typeof t}function N(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function z(t,e){return!!t&&"object"==typeof t&&(!e||!N(t))}function W(t){return z(t)&&"number"==typeof t.nodeType}function G(t){let e=t&&t.constructor;return!!(z(t,!0)&&!W(t)&&e&&e.name&&"Object"!==e.name)}function H(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function F(t){return null!=t}function X(t,e,i){let s;let o=R(e)&&!F(i),r=(e,i)=>{F(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return R(e)?r(i,e):Z(e,r),s}function Y(t){return N(t)?t:[t]}function j(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function U(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(I||(I={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let q=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let Q=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();B.jQuery&&(B.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new O[R(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):E[X(this[0],"data-highcharts-chart")]});let tt={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;O.Point&&t instanceof O.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!O.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){K(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=Y(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=B.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),U(s,"opacity"!==i)&&(o=D(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return _(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:Z,offset:function(t){let e=L.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(B.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(B.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:U,pInt:D,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:K,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:Y,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return R(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:Q,useSerialIds:function(e){return t=U(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{win:te}=O,{defined:ti,error:ts,extend:to,isNumber:tr,isObject:tn,isString:ta,merge:th,objectEach:tl,pad:td,splat:tc,timeUnits:tp,ucfirst:tu}=tt,tg=O.isSafari&&te.Intl&&!te.Intl.DateTimeFormat.prototype.formatRange,tf=t=>void 0===t.main,tm=t=>["D","L","M","X","J","V","S"].indexOf(t),tx=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=te.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=th(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||te.Date||Date;let s=t.timezone;ti(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,tm(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale){let s=JSON.stringify(t)+i;ta(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(ts(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):ts(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&to(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||tg||(a-=36e5)}}return a}parse(t){if(!ta(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tr(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-(36e5*(s+r/60));if(tr(n))return n}return 0}dateFormat(t,e,i){let s=O.defaultOptions?.lang;if(!ti(e)||isNaN(e))return s?.invalidDate||"";if(ta(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(ta(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;tl(to({a:u?u[c]:p[c].substr(0,3),A:p[c],d:td(n),e:td(n,2," "),w:c,b:f[r],B:g[r],m:td(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:td(a),k:a,I:td(a%12||12),l:a%12||12,M:td(h),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:td(l),L:td(d,3)},O.dateFormats),function(s,o){if(ta(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(tn(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(to({timeZone:s},t),e)+r}return i?tu(t):t}resolveDTLFormat(t){return tn(t,!0)?tn(t,!0)&&tf(t)?{main:t}:t:{main:(t=tc(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],n={},{count:a=1,unitRange:h}=t,[l,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),ti(e)){if(f=h>=tp.second?0:a*Math.floor(f/a),h>=tp.second&&(g=h>=tp.minute?0:a*Math.floor(g/a)),h>=tp.minute&&(u=h>=tp.hour?0:a*Math.floor(u/a)),h>=tp.hour&&(p=h>=tp.day?0:a*Math.floor(p/a)),h>=tp.day&&(c=h>=tp.month?1:Math.max(1,a*Math.floor(c/a))),h>=tp.month&&(d=h>=tp.year?0:a*Math.floor(d/a)),h>=tp.year&&(l-=l%a),h===tp.week){a&&(e=o.makeTime(l,d,c,p,u,g,f));let t=tm(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tp.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*a):t+=h*a,x++;r.push(t),h<=tp.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(n[t]="day")})}return r.info=to(t,{higherRanks:n,totalRange:h*a}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",h=a;for(a in tp){if(t===tp.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(tp[a]>t){a=h;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(h=a)}return this.resolveDTLFormat(s[a]).main}},{isTouchDevice:ty}=O,{fireEvent:tb,merge:tv}=tt,tM={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:ty?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};tM.chart.styledMode=!0,tM.chart.styledMode=!1;let tk=new tx(tM.time),tw={defaultOptions:tM,defaultTime:tk,getOptions:function(){return tM},setOptions:function(t){return tb(O,"setOptions",{options:t}),tv(!0,tM,t),t.time&&tk.update(tM.time),t.lang&&"locale"in t.lang&&tk.update({locale:t.lang.locale}),tM}},{isNumber:tS,merge:tA,pInt:tT,defined:tP}=tt;class tC{static parse(t){return t?new tC(t):tC.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=O.Color;if(r&&r!==tC)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tC(t[1]));else if("string"==typeof t)for(this.input=t=tC.names[t.toLowerCase()]||t,s=tC.parsers.length;s--&&!i;)(e=(o=tC.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tA(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tS(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tS(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tT(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tS(i[0])||!tS(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}tC.names={white:"#ffffff",black:"#000000"},tC.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tT(t[1]),tT(t[2]),tT(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tT(t[1]),tT(t[2]),tT(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tT(t[1]+t[1],16),tT(t[2]+t[2],16),tT(t[3]+t[3],16),tP(t[4])?tT(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tT(t[1],16),tT(t[2],16),tT(t[3],16),tP(t[4])?tT(t[4],16)/255:1]}}],tC.None=new tC("");let{parse:tO}=tC,{win:tE}=O,{isNumber:tL,objectEach:tB}=tt;class tI{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tB(h,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),n=t.isArea,a=n?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{let i=tX(t.options.animation);r=tW(e)&&tD(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=tF(t,e.options.chart.animation,!0)},stop:tY},{SVG_NS:tU,win:tV}=O,{attr:t$,createElement:t_,css:tq,error:tZ,isFunction:tK,isString:tJ,objectEach:tQ,splat:t0}=tt,{trustedTypes:t1}=tV,t2=t1&&tK(t1.createPolicy)&&t1.createPolicy("highcharts",{createHTML:t=>t}),t3=t2?t2.createHTML(""):"";class t5{static filterUserAttributes(t){return tQ(t,(e,i)=>{let s=!0;-1===t5.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tJ(e)&&t5.allowedReferences.some(t=>0===e.indexOf(t))),s||(tZ(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tJ(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t5.emptyHTML,e&&new t5(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return t0(e).forEach(function(e){let o;let r=e.tagName,n=e.textContent?O.doc.createTextNode(e.textContent):void 0,a=t5.bypassHTMLFiltering;if(r){if("#text"===r)o=n;else if(-1!==t5.allowedTags.indexOf(r)||a){let s="svg"===r?tU:i.namespaceURI||tU,h=O.doc.createElementNS(s,r),l=e.attributes||{};tQ(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),t$(h,a?l:t5.filterUserAttributes(l)),e.style&&tq(h,e.style),n&&h.appendChild(n),t(e.children||[],h),o=h}else tZ(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t2?t2.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=t_("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t5.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t5.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t5.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t5.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t5.emptyHTML=t3,t5.bypassHTMLFiltering=!1;let{defaultOptions:t6,defaultTime:t9}=tw,{doc:t4}=O,{extend:t8,getNestedProperty:t7,isArray:et,isNumber:ee,isObject:ei,isString:es,pick:eo,ucfirst:er}=tt,en={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!et(t)&&t.map((i,s)=>el(e.body,t8(ei(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:er,unless:t=>!t},ea={},eh=t=>/^["'].+["']$/.test(t);function el(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],n=/f$/,a=/\.(\d)/,h=i?.options.lang||t6.lang,l=i&&i.time||t9,d=i&&i.numberFormatter||ed,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:eh(t)?t.slice(1,-1):t7(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let n=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");en[n]&&(u.isBlock&&n===u.fn&&g++,u.fn||(u.fn=n));let a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a)){if(g)!a&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],n=f.length,a=0,h;for(p=0;p<=n;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==n||(o.push(f.substr(a,p-a)),a=p+1)}for(p=en[m].length;p--;)t.unshift(c(o[p+1]));r=en[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=el(r?u:g,e,i))}else{let t=eh(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(n.test(e)){let t=parseInt((e.match(a)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&es(r)&&(r=`"${r}"`)}t=t.replace(s.find,eo(r,""))}),f?el(t,e,i):t}function ed(t,e,i,s){e=+e;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||t6.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):ee(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),ee(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||h.locale||t4.body.closest("[lang]")?.lang,g=JSON.stringify(c)+u;return o=(ea[g]??(ea[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/\,/g,s??",").replace(".",i??".")),(e||0!=+o)&&(!(a<0)||d)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let ec={dateFormat:function(t,e,i){return t9.dateFormat(t,e,i)},format:el,helpers:en,numberFormat:ed};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,O.Renderer=s)}}(n||(n={}));let ep=n,{clamp:eu,pick:eg,pushUnique:ef,stableSort:em}=tt;(a||(a={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,n=(t,e)=>t.target-e.target,a=[],h=e.length,l=[],d=a.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(em(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>r;)f=e[c=Math.floor(p)],ef(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(a,e.splice(t,1)))}for(em(e,n),e=e.map(t=>({size:t.size,targets:[t.target],align:eg(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=eu(m-f.size*f.align,0,i-f.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,a),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),em(o,n),o};let ex=a,{animate:ey,animObject:eb,stop:ev}=tj,{deg2rad:eM,doc:ek,svg:ew,SVG_NS:eS,win:eA,isFirefox:eT}=O,{addEvent:eP,attr:eC,createElement:eO,crisp:eE,css:eL,defined:eB,erase:eI,extend:eD,fireEvent:eR,getAlignFactor:eN,isArray:ez,isFunction:eW,isNumber:eG,isObject:eH,isString:eF,merge:eX,objectEach:eY,pick:ej,pInt:eU,pushUnique:eV,replaceNested:e$,syncTimeout:e_,uniqueKey:eq}=tt;class eZ{_defaultGetter(t){let e=ej(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o={"text-align":t?.align},r=this.renderer,n=r.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let h=!i||eF(i)?i||"renderer":void 0;h&&(a&&eV(n,this),i=void 0);let l=ej(i,r[h],r),d=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*eN(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*eN(t.verticalAlign);return o[e?"translateX":"x"]=Math.round(d),o[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](o),this.placed=!0),this.alignAttr=o,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=eb(ej(e,this.renderer.globalAnimation,!0)),o=s.defer;return ek.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),e_(()=>{this.element&&ey(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eY(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&O.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ek.createElementNS(eS,"tspan");eC(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=ek.createElementNS(eS,"tspan");n.textContent="​",eC(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eZ.symbolCustomAttribs,n,a,h=this,l;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eY(t,function(e,i){l=!1,s||ev(this,i),this.symbolName&&-1!==r.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eq()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eD(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=eE(i,e),a=eE(s,e);return eD(t,{x:n,y:a,width:eE(o,e)-n,height:eE(r,e)-a}),eB(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,h,l,d,c,p,u,g=[],f;eR(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],h=s.gradients,l=t.stops,p=i.radialReference,ez(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eB(n.gradientUnits)&&(a=n,n=eX(n,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),eY(n,function(t,e){"id"!==e&&g.push(e,t)}),eY(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{n.id=u=eq();let t=h[g]=s.createElement(r).attr(n).add(s.defs);t.radAttr=a,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tC.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eY(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eD(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eU(t.width)),eD(this.styles,t),o&&!ew&&this.renderer.forExport&&delete t.width;let r=eT&&t.fontSize||null;r&&(eG(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=eX(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color)),eL(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eU(s[e])*ej(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ev(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;ne&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:n,element:a,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=a.namespaceURI===this.SVG_NS,g=ej(e,this.rotation,0),f=h.styledMode?a&&eZ.prototype.getStyle.call(a,"font-size"):l.fontSize;if(eB(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,n,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&eL(e,{display:t})},eW(o)&&o("none"),i=a.getBBox?eD({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},eW(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eR(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eN(n),c=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*eM,u=(e-90)*eM,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,M],[k,w]]=[h,l].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,P=T-m,C=s+c-d*x-M+k+c*b,O=C+x,E=O-r*b,L=E-x,B=Math.min(S,A,T,P),I=Math.min(C,O,E,L),D=Math.max(S,A,T,P)-B,R=Math.max(C,O,E,L)-I;return{x:B,y:I,width:D,height:R,polygon:[[S,C],[A,O],[T,E],[P,L]]}}getStyle(t){return eA.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eS,this.element="span"===e||"body"===e?eO(e):ek.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eR(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eP(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eF(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eX(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eH(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eU(t):""!==t&&(eC(i=ek.createElementNS(eS,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eZ.symbolCustomAttribs.forEach(function(i){e[i]=ej(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ek.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=e$(ej(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:n,scaleY:a,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eB(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+ej(o,e.getAttribute("x"),0)+" "+ej(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eB(n)||eB(a))&&d.push("scale("+ej(n,1)+" "+ej(a,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,h,l,d=!1,c,p=this.added,u;if(eB(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eB(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!eB(l=(h=a[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(eU(l)<=t||c&&(!eB(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[n?3:0]),d=!0)}return d}}eZ.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eZ.prototype.strokeSetter=eZ.prototype.fillSetter,eZ.prototype.yGetter=eZ.prototype.xGetter,eZ.prototype.matrixSetter=eZ.prototype.rotationOriginXSetter=eZ.prototype.rotationOriginYSetter=eZ.prototype.rotationSetter=eZ.prototype.scaleXSetter=eZ.prototype.scaleYSetter=eZ.prototype.translateXSetter=eZ.prototype.translateYSetter=eZ.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eK=eZ,{defined:eJ,extend:eQ,getAlignFactor:e0,isNumber:e1,merge:e2,pick:e3,removeEvent:e5}=tt;class e6 extends eK{constructor(t,e,i,s,o,r,n,a,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e6.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=e0(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e1(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e2(t),e6.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eK.prototype.css.call(this,t)}destroy(){e5(this.element,"mouseenter"),e5(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eK.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=e3(this.paddingLeft,i),h=e??(this.rotation||0),l={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e3(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eJ(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e1(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e1(this.widthSetting)||!e1(this.heightSetting)||this.textAlign)&&eJ(e.textStr)?e.getBBox(void 0,0):e6.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(eQ(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+e0(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e1(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e3(this.paddingLeft,t),i=e3(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e6.emptyBBox={width:0,height:0,x:0,y:0},e6.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e9,isNumber:e4,pick:e8}=tt;function e7(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=e8(o.r,i),h=e8(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(a,1)),d=Math.abs((o.end||0)-n-2*Math.PI)0&&h0)return l;if(t+a>i-n){if(h>e+n&&he+n&&h0){let i=hs&&an&&l.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return e7(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:it,roundedRect:ie,square:it,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:is,SVG_NS:io,win:ir}=O,{attr:ia,extend:ih,fireEvent:il,isString:id,objectEach:ic,pick:ip}=tt,iu=(t,e)=>t.substring(0,e)+"…",ig=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=ip(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new t5(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),n&&n.removeChild(e)}}else e.appendChild(is.createTextNode(this.unescapeEntities(s)));id(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=ia(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),ia(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===d&&c||0,s,l,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,iu),t.textContent=t.textContent?.replace("…","")+"…");break}a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(is.createTextNode(e),t);let s=is.createElementNS(io,"tspan");s.textContent="​",ia(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,iu)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===ir.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===ir.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,h=this.renderer.styledMode;if("b"===a||"strong"===a?h?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(h?o.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),ih(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),il(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),h=f(g,a&&a.length-1),p===u?p=u+1:h>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,iu)}i&&i.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ic(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:im}=tw,{charts:ix,deg2rad:iy,doc:ib,isFirefox:iv,isMS:iM,isWebKit:ik,noop:iw,SVG_NS:iS,symbolSizes:iA,win:iT}=O,{addEvent:iP,attr:iC,createElement:iO,crisp:iE,css:iL,defined:iB,destroyObjectProperties:iI,extend:iD,isArray:iR,isNumber:iN,isObject:iz,isString:iW,merge:iG,pick:iH,pInt:iF,replaceNested:iX,uniqueKey:iY}=tt;class ij{constructor(t,e,i,s,o,r,n){let a,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;n||l.css(this.getStyle(s||{})),t.appendChild(d),iC(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iC(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ib.createTextNode("Created with Highcharts 12.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),iv&&t.getBoundingClientRect&&((a=function(){iL(t,{left:0,top:0}),h=t.getBoundingClientRect(),iL(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iP(iT,"resize",a))}definition(t){return new t5([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iv||ik)&&ib.getElementsByTagName("base").length){if(!iB(e)){let t=iY(),i=new t5([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ib.body);iL(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ib.elementFromPoint(6,6);e="hitme"===(s&&s.id),ib.body.removeChild(i)}if(e)return iX(iT.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iD({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iI(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iG({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ig(t).buildSVG()}getContrast(t){let e=tC.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,n,a,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iG(im.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t5.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iG(m[0],t5.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iP(d.element,iM?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iP(d.element,iM?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iz(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iD({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iB(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iE(i[1],e)),iB(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iE(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iR(t)?e.d=t:iz(t)&&iD(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iz(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;iz(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=iz(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,iD(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,iC(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iH(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};iN(e)&&(n.x=e),iN(i)&&(n.y=i),iN(s)&&(n.width=s),iN(o)&&(n.height=o);let a=this.createElement("image").attr(n),h=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iT.Image;iP(e,"load",h),e.src=t,e.complete&&h({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),iD(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iD(n,r);else if(p){h=t.match(c)[1];let s=n=this.image(h);s.imgwidth=iH(r&&r.width,iA[h]&&iA[h].width),s.imgheight=iH(r&&r.height,iA[h]&&iA[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:h}=this,l="width"===e?a:h,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&h?(d=Math.min(o/a,n/h),iC(s,{width:Math.round(a*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&a&&h&&this.translate(((o||0)-a*d)/2,((n||0)-h*d)/2)}}),iB(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iB(s.imgwidth)&&iB(s.imgheight)?l(s):(s.attr({width:0,height:0}),iO("img",{onload:function(){let t=ix[d.chartIndex];0===this.width&&(iL(this,{position:"absolute",top:"-999em"}),ib.body.appendChild(this)),iA[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iB(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iD(ij.prototype,{Element:eK,SVG_NS:iS,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ii,draw:iw}),ep.registerRendererType("svg",ij,!0);let{composed:iU}=O,{attr:iV,css:i$,createElement:i_,defined:iq,extend:iZ,getAlignFactor:iK,isNumber:iJ,pInt:iQ,pushUnique:i0}=tt;function i1(t,e,i){let s=this.div?.style||i.style;eK.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i2=(t,e)=>{if(!t.div){let i=iV(t.element,"class"),s=t.css,o=i_("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i1,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eK.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i3 extends eK{static compose(t){i0(iU,this.compose)&&(t.prototype.html=function(t,e,i){return new i3(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=iQ(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iJ(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iZ(this.styles,t),i$(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:n,styles:a,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:f}=a;if(i$(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let a;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(i$(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(i$(t,{width:e>s||i||r?l+"px":"auto",display:g,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(a=e.fontMetrics(t).b,iq(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iq(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,a,iK(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${u+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??u)-x-u-c}px`};(r||n)&&(y.transform=`scale(${r??1},${n??1})`),i$(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){i$(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i2(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t5.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i5=i3.prototype;i5.visibilitySetter=i5.opacitySetter=i1,i5.ySetter=i5.rotationSetter=i5.rotationOriginXSetter=i5.rotationOriginYSetter=i5.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(h||(h={}));let i6=h,{addEvent:i9,isFunction:i4,objectEach:i8,removeEvent:i7}=tt;(l||(l={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i8(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i7(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i4(e)&&(t.eventOptions[i]=e,i9(t,i,e,{order:0})))})};let st=l,{deg2rad:se}=O,{clamp:si,correctFloat:ss,defined:so,destroyObjectProperties:sr,extend:sn,fireEvent:sa,getAlignFactor:sh,isNumber:sl,merge:sd,objectEach:sc,pick:sp}=tt,su=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sa(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,n=e.names,a=t.pos,h=sp(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=a===l[0],c=a===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?sp(o[a],n[a],a):a);r&&sl(y)&&(y=ss(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[a]||u.unitName])).main:sl(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:a,tick:t,tickPositionInfo:u,value:y};sa(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),ec.format(h.format,t,s)):e.defaultLabelFormatter.call(t),M=v.call(b,b),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;x0&&s+d*c>a&&(x=Math.round((o-s)/Math.cos(l*se))):(f=s-d*c,m=s+(1-d)*c,fa&&(u=a-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(h.styles||{}).width)&&(x=u)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(sn({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sc(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=sp(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),h=a.x,l=a.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(ss(p)c)&&(i=0);let u=sp(i,this.label&&this.label.newOpacity,1);i=sp(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,sa(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=sp(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),n||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+a,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,h=t.y,l=sp(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(a,h,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,h=n.labels,l=h.step,d=sp(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;a&&sl(c)&&(a.xy=t=this.getLabelPosition(c,p,a,r,h,d,s,l),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):u=!1,l&&s%l&&(u=!1),u&&sl(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sg}=tj,{xAxis:sf,yAxis:sm}=i6,{defaultOptions:sx}=tw,{registerEventOptions:sy}=st,{deg2rad:sb}=O,{arrayMax:sv,arrayMin:sM,clamp:sk,correctFloat:sw,defined:sS,destroyObjectProperties:sA,erase:sT,error:sP,extend:sC,fireEvent:sO,getClosestDistance:sE,insertItem:sL,isArray:sB,isNumber:sI,isString:sD,merge:sR,normalizeTickInterval:sN,objectEach:sz,pick:sW,relativeLength:sG,removeEvent:sH,splat:sF,syncTimeout:sX}=tt,sY=(t,e)=>sN(e,void 0,void 0,sW(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sC(sx,{xAxis:sf,yAxis:sR(sf,sm)});class sj{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sO(this,"init",{userOptions:e}),this.opposite=sW(e.opposite,this.opposite),this.side=sW(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sO(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sW(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sB(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sS(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=sW(r.crosshair,sF(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sL(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sS(this.reversed)&&(this.reversed=!0),this.labelRotation=sI(n.rotation)?n.rotation:void 0,sy(this,r),sO(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sR(e,sx[this.coll],t),sO(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sI(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,n=sx.lang,a=n.numericSymbols,h=n.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=a&&a.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&a&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==a[d]&&0!==i&&(p=e(i/c,-1)+a[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sO(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,sI(n)||n instanceof Date||(o=o.filter(sI),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(sW(e.dataMin,n),n),e.dataMax=Math.max(sW(e.dataMax,a),a)));else{let t=i.applyExtremes();sI(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(sW(e.dataMin,n),n)),sI(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(sW(e.dataMax,a),a)),sS(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sO(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!sI(a))return NaN;let h=n.minPixelPadding,l=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-h)/p+a,l&&(u=n.lin2val(u))):(l&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*h+(sI(r)?p*r:0),n.isRadial||(u=sw(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sk(t,e,i):x=!0),t}let b={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sO(this,"getPlotLinePath",b,function(t){u=f=(c=sk(c=sW(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=m=h-c-d,sI(c)?e.horiz?(g=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=l-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],a||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let n=sw(Math.floor(e/t)*t),a=sw(Math.ceil(i/t)*t),h=[];if(sw(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(h.push(s),(s=sw(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sW(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,a=[],h;if(n&&n/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sI(s)&&sI(o)&&sI(r)&&s-o=r,n=(r-s+o)/2,h=[o-n,i.parse(t.min)??o-n],a&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sv(h))+r,i.parse(t.max)??o+r],a&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sM(l))-ot-e),t=sE([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sB(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sS(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sW(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sI(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,h=0,l,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sW(e.options.pointRange,n,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&sD(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&n&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,sO(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sI(t)&&sI(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:h,softThreshold:l}=this,d=i.time,c=sI(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=h,y=sI(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,M=h.minPadding,k=0,w,S=sI(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,P,C;if(r||e||y||this.getTickAmount(),P=sW(this.userMin,d.parse(h.min)),C=sW(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sW(w.min,w.dataMin),this.max=sW(w.max,w.dataMax),this.type!==y.type&&sP(11,!0,i)):(l&&sS(c)&&sI(s)&&sI(o)&&(o>=c?(A=c,M=0):s<=c&&(T=c,v=0)),this.min=sW(P,A,o),this.max=sW(C,T,s)),sI(this.max)&&sI(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sW(o,this.min))&&sP(10,!0,i),this.min=sw(a.log2lin(this.min),16),this.max=sw(a.log2lin(this.max),16)),this.range&&sI(o)&&(this.userMin=this.min=P=Math.max(o,this.minFromRange()||0),this.userMax=C=this.max,this.range=void 0)),sO(this,"foundExtremes"),this.adjustForMinRange(),sI(this.min)&&sI(this.max)){if(!sI(this.userMin)&&sI(x)&&xthis.max&&(this.max=C=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(k=this.max-this.min)||(!sS(P)&&M&&(this.min-=k*M),sS(C)||!v||(this.max+=k*v)),!sI(this.userMin)&&sI(g)&&(this.min=Math.max(this.min,g)),!sI(this.userMax)&&sI(u)&&(this.max=Math.min(this.max,u)),l&&sI(o)&&sI(s)){let t=c||0;!sS(P)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sS(C)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sS(h.min)?this.max=this.min:sS(h.max)&&(this.min=this.max)),k=this.max-this.min}if(this.min!==this.max&&sI(this.min)&&sI(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sW(S,this.tickAmount?k/Math.max(this.tickAmount-1,1):void 0,e?1:k*b/Math.max(this.len,b)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sO(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sO(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=sW(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))a=[this.min,this.max],sP(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=sY(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(h=i.apply(this,[this.min,this.max]))&&(a=h))}this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&sI(this.min)&&sI(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sO(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sO(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);sI(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sI(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sI(this.threshold)){let t=sk((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sS(t.tickInterval)||i||!(this.lenr.push(sw(r[r.length-1]+p)),f=()=>r.unshift(sw(r[0]-p));if(sI(a)&&(u=a<.5?Math.ceil(a*(n-1)):Math.floor(a*(n-1)),o.reversed&&(u=n-1-u)),t.hasData()&&sI(s)&&sI(i)){let a=()=>{t.transA*=(h-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sI(u)&&sI(t.threshold)){for(;r[u]!==l||r.length!==n||r[0]>s||r[r.length-1]t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sO(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sO(this,"setExtremes",o=sC(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sG(sW(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sG(sW(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(sG(sW(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(sG(sW(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?sw(t.lin2log(this.min)):this.min,max:t?sw(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sW(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sO(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,n=sw(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),sw(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sI(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(n/Math.sin(sb*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0:a&&(p=h),l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,n={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sC(n,{width:`${p}px`,lineClamp:u})):!i.styles.width||n.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sS(this.min)&&sS(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(sR(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new su(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sI(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,M,k;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sW(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sz(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sS(y=d.offset)?0:sW(d.margin,i?5:10))),t.renderLine(),t.offset=f*sW(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},k=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M-=k,M+=f*(i?sW(c.y,t.tickRotCorr.y+f*c.distance):sW(c.x,f*c.distance))),t.axisTitleMargin=sW(y,M),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,M,n&&n.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[h]=Math.max(g[h],i)}sO(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+l:g+(a?this.width:0)+h+l,y:e?g+d-(a?this.height:0)+h:u+d};return sO(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new su(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new su(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sg(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sz(t,function(t){t.isActive=!1})}),sI(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&sI(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new su(i,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(r,n){e=void 0!==h[n+1]?h[n+1]+m:i.max-m,n%2==0&&r=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&a.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():n.tickInterval,c=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sK(t=sJ("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),a=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(c||(c={}));let sQ=c,{erase:s0,extend:s1,isNumber:s2}=tt;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,n=!s2(this.min)||!s2(this.max)||tthis.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(a&&s)for(n&&(d=a.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s3.compose(oo,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){ot(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=s4(c)&&s4(d),v=s4(p),M=!m,k={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(k.stroke=o||"#999999",k["stroke-width"]=os(e.width,1),e.dashStyle&&(k.dashstyle=e.dashStyle)):b&&(k.fill=o||"#e6e9ff",u&&(k.stroke=e.borderColor,k["stroke-width"]=u))),l.zIndex=n,w+="-"+n,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=a.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=a.path().attr(k).add(y)),s4(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s4(c)&&s4(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(oi(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(s4(g.text)||s4(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=oe({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,n)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(oe({fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s9(h),c=s9(l),p=s6(h)-d;a.align(t,!1,{x:d,y:c,width:p,height:s6(l)-c}),(!a.alignValue||"left"===a.alignValue||s4(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(a.alignAttr.x-o.left)))+"px"}),a.show(!0)}getLabelText(t){return s4(t.formatter)?t.formatter.call(this):t.text}destroy(){s7(this.axis.plotLinesAndBands,this),delete this.axis,s8(this)}}let{animObject:or}=tj,{format:on}=ec,{composed:oa,dateFormats:oh,doc:ol,isSafari:od}=O,{distribute:oc}=ex,{addEvent:op,clamp:ou,css:og,discardElement:of,extend:om,fireEvent:ox,isArray:oy,isNumber:ob,isObject:ov,isString:oM,merge:ok,pick:ow,pushUnique:oS,splat:oA,syncTimeout:oT}=tt;class oP{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oA(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),of(this.container)),tt.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if((t=oA(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+ow(t.colorIndex,o.colorIndex),r&&r.className].filter(oM).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ep.getRendererType();this.container=n=O.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),og(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return n&&!n.parentElement&&O.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=ol,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?y(t):b(e),n?x.left-s+y(c+h):x.top-s+b(p+l),0,n?m:f]:[n?t:e,n?c+h:p+l,n?h:l,n?h+o.plotWidth:l+o.plotHeight])},M=v("y"),k=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&ow(i.ttBelow,!d&&!a===S),T=function(t,e,i,o,n,a,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+g)}},P=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},C=function(t){[M,k]=[k,M],w=t},O=()=>{!1!==T.apply(0,M)?!1!==P.apply(0,k)||w||(C(!0),O()):w?u.x=u.y=0:(C(!0),O())};return(a&&!d||this.len>1)&&C(),O(),u}hide(t){let e=this;tt.clearTimeout(this.hideTimer),t=ow(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oT(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=ow(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=or(!o.isHidden&&o.options.animation),n=o.followPointer||(o.len||0)>1,a={x:t,y:e};n||(a.anchorX=i,a.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(a,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,n=oA(t),a=n[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!a.series)return;tt.clearTimeout(this.hideTimer),this.allowShared=!(!oy(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(n),n.forEach(t=>t.setState("hover")),a.points=n),this.len=n.length;let f=oM(h)?on(h,a,i):l.call(a,this);a.points=void 0;let m=a.series;if(this.distance=ow(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,n);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(a),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:ou(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||a.color||m.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:a.negative,ttBelow:a.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ox(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?ol.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,M=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:k,top:w}=f.getChartPosition(),S=h+x,A=0,T=n-l;function P(t,e,s,o,r=!0){let n,a;return s?(n=M?0:T,a=ou(t-o/2,y.left,y.right-o-(i.outside?k:0))):(n=e-S,a=ou(a=r?t-o-p:t+p,r?a:y.left,y.right)),{x:a,y:n}}oM(t)&&(t=[!1,t]);let C=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,M&&(S-=A));let{anchorX:k,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(a+o,a),i=h+n/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+ou(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=ou(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=g?g.call(i,x,e,r):P(k,w,l,x);t.push({align:g?0:void 0,anchorX:k,anchorY:w,boxWidth:x,point:r,rank:ow(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!g&&C.some(t=>{let{outside:e}=i,s=(e?k:0)+t.anchorX;return ss})&&(C=C.map(t=>{let{x:e,y:i}=P(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return om(t,{target:i,x:e})})),i.cleanSplit(),oc(C,T);let O={left:k,right:k};C.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&k+eO.right&&(O.right=k+e))}),C.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(O.right-O.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:E,outside:L,renderer:B}=i;if(L&&E&&B){let{width:t,height:e,x:i,y:s}=b.getBBox();B.setSize(t+i,e+s,!1),E.style.left=O.left+"px",E.style.top=w+"px"}od&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return ox(this,"headerFormatter",n,function(e){if(r&&!a&&ob(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(ov(a)){let t=a;oh[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=on(h,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,ok(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,h,a,t),g=O.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;n&&i&&(o.positioner&&(u.x+=l-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,n.setSize(ou(h+x,0,g.documentElement.clientWidth)-1,a+x,!1),(1!==c||1!==p)&&(og(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-u.x,m+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),f,m)}}!function(t){t.compose=function(e){oS(oa,"Core.Tooltip")&&op(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oP||(oP={}));let oC=oP,{animObject:oO}=tj,{defaultOptions:oE}=tw,{format:oL}=ec,{addEvent:oB,crisp:oI,erase:oD,extend:oR,fireEvent:oN,getNestedProperty:oz,isArray:oW,isFunction:oG,isNumber:oH,isObject:oF,merge:oX,pick:oY,syncTimeout:oj,removeEvent:oU,uniqueKey:oV}=tt;class o${animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oR({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oR(this,t=o$.prototype.optionsToObject.call(this,t)),this.options=this.options?oR(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=o$.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oH(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oH(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oO(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oU(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oD(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oj(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oN(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oz(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oV()),this.resolveColor(),t.chart.pointCount++,oN(this,"afterInit")}isValid(){return(oH(this.x)||this.x instanceof Date)&&oH(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,h=0;if(oH(t)||null===t)r[s[0]]=t;else if(oW(t))for(!i&&t.length>o&&("string"==(n=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);h0?o$.prototype.setNestedProperty(r,t[a],s[h]):r[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,h=0;if(oH(i)&&oH(e))return t&&(a=r?r.pos:o.plotLeft,h=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+h,r.len-i+a]:[i+a,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=oY(this.options.colorIndex,n),this.color=oY(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oF(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oL(t,this,e)}update(t,e,i,s){let o;let r=this,n=r.series,a=r.graphic,h=n.chart,l=n.options;function d(){r.applyOptions(t);let s=a&&r.hasMockGraphic,d=null===r.y?!s:s;a&&d&&(r.graphic=a.destroy(),delete r.hasMockGraphic),oF(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of n.dataColumnKeys())c[t]=r[t];n.dataTable.setRow(c,o),l.data[o]=oF(l.data[o],!0)||oF(t,!0)?r.options:oY(t,l.data[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oY(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oY(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oX(this.series.options.point,this.options),i=e.events?.[t];oG(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oB(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oU(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oE.plotOptions[i.type].marker&&i.options.marker,n=r&&!1===r.enabled,a=r&&r.states&&r.states[t||"normal"]||{},h=!1===a.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||n&&!1===a.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=oY(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oH(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,oY(d.options.chart.animation,a.animation,r.animation)),m&&m.hide()}else t&&a&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oX(r,a)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oY(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oR({fill:this.color||i.color,"fill-opacity":y.opacity},t5.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oN(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oI(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let o_=o$,{parse:oq}=tC,{charts:oZ,composed:oK,isTouchDevice:oJ}=O,{addEvent:oQ,attr:o0,css:o1,extend:o2,find:o3,fireEvent:o5,isNumber:o6,isObject:o9,objectEach:o4,offset:o8,pick:o7,pushUnique:rt,splat:re}=tt;class ri{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!O.chartCount&&(ri.unbindDocumentMouseUp.forEach(t=>t.unbind()),ri.unbindDocumentMouseUp.length=0,ri.unbindDocumentTouchEnd&&(ri.unbindDocumentTouchEnd=ri.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o4(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o5(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=n?1:o.plotHeight,r&&(s=t-a,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+a),n&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o9(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(ua+l&&(u=a+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-a,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:n||oq("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o5(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o6(i.index)&&(this.selectionMarker=s.destroy())}i&&o6(i.index)&&(o1(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o9(r,!0)&&r.series&&(!o9(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&o6(o.x)&&o6(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o8(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&o7(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o5(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o3(t.points,function(t){return t.x===c.x&&!t.isNull});o9(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),n.push(e))}):n.push(c)),o5(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o0(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o5(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o7(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o2(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o5(i.series,"click",o2(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o2(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o5(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),O.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oZ[o7(ri.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oZ[o7(ri.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===n&&o7(h?.options.followTouchMove,!0);n>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(o5(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n&&n.shared?r:o;t&&a&&re(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&re(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,h=a&&a.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(a,h,o,l,n,t);a=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=n&&h&&!h.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=c,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?c:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=oQ(s.container.ownerDocument,"mousemove",t=>oZ[ri.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o7((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o3(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(oQ(t,"mouseenter",this.onContainerMouseEnter.bind(this)),oQ(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ri.unbindDocumentMouseUp.some(t=>t.doc===e)||ri.unbindDocumentMouseUp.push({doc:e,unbind:oQ(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(oQ(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(oQ(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),oQ(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ri.unbindDocumentTouchEnd||(ri.unbindDocumentTouchEnd=oQ(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),oQ(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oJ)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o7(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(oQ(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),oQ(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o1(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o1(i,{"touch-action":o7(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=O.charts[o7(ri.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(ri.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o7(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o7(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}ri.unbindDocumentMouseUp=[],function(t){t.compose=function(e){rt(oK,"Core.Pointer")&&oQ(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(ri||(ri={}));let rs=ri,{fireEvent:ro,isArray:rr,objectEach:rn,uniqueKey:ra}=tt,rh=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||ra(),this.modified=this,this.rowCount=0,this.versionTag=ra();let e=0;rn(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,rn(this.columns,e=>{rr(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;rn(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ro(this,"afterSetColumns"),this.versionTag=ra())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;rn(t,(t,n)=>{let a=o[n]||s?.addColumns!==!1&&Array(r);a&&(i?a.splice(e,0,t):a[e]=t,o[n]=a)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(ro(this,"afterSetRows"),this.versionTag=ra())}},{extend:rl,merge:rd,pick:rc}=tt;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:n=0,symbolWidth:a,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=n-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){let t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,n],["L",x,n]]})}if(m&&!1!==m.enabled&&a){let t=Math.min(rc(m.radius,d),d);0===l.indexOf("url")&&(m=rd(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,a/2-t,u-t,2*t,2*t,rl({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,n=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,n,o,rc(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(u||(u={}));let rp=u,{defaultOptions:ru}=tw,{extend:rg,extendClass:rf,merge:rm}=tt;!function(t){function e(e,i){let s=ru.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=o_),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=O.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,n){let a=ru.plotOptions||{};if(s=s||"",a[i]=rm(a[s],o),delete t.seriesTypes[i],e(i,rf(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,n){class e extends o_{}rg(e.prototype,n),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(g||(g={}));let rx=g,{animObject:ry,setAnimation:rb}=tj,{defaultOptions:rv}=tw,{registerEventOptions:rM}=st,{svg:rk,win:rw}=O,{seriesTypes:rS}=rx,{arrayMax:rA,arrayMin:rT,clamp:rP,correctFloat:rC,crisp:rO,defined:rE,destroyObjectProperties:rL,diffObjects:rB,erase:rI,error:rD,extend:rR,find:rN,fireEvent:rz,getClosestDistance:rW,getNestedProperty:rG,insertItem:rH,isArray:rF,isNumber:rX,isString:rY,merge:rj,objectEach:rU,pick:rV,removeEvent:r$,syncTimeout:r_}=tt;class rq{constructor(){this.zoneAxis="y"}init(t,e){let i;rz(this,"init",{options:e}),this.dataTable??(this.dataTable=new rh);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rR(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rM(this,o);let n=o.events;(n&&n.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rV(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rH(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rz(this,"afterInit")}is(t){return rS[t]&&this instanceof rS[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rz(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rV(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rH(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rD(18,!0,s)})}),rz(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rV(this.pointInterval,i.pointInterval,1),o&&rX(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&rX(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;rR(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rE(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rj(t),n=i.styledMode,a={plotOptions:s,userOptions:r};rz(this,"setOptions",a);let h=a.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rv.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=a.userOptions;let u=rj(h,s.series,p,r);this.tooltipOptions=rj(rv.tooltip,rv.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rV(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===h.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rE(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),rz(this,"afterSetOptions",{options:u}),u}getName(){return rV(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,n=`${t}Index`,a=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rE(o=rV("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%h,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rv.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,n=t.x,a=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof o_&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rN(a,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rX(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rX(o)&&a[o]&&a[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],n=this.requireSorting,a=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rE(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rX(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,n&&(c=l+1)):o[l]&&(o[l].touched=!0),(!a||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!a||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rA(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,n=this.options,a=this.chart,h=n.dataSorting,l=this.xAxis,d=n.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=n.keys,m,x,y=0,b=1,v;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rj(!0,t));let M=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),a.options.chart.allowMutatingData&&!1!==s&&M&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&M>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,M-1,-1),o=t=>!!(rF(t)&&(f||rX(t[0])));if(rX(i)&&rX(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rG(i,t),o=rG(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||l>n||e.forceCrop)&&(m[l-1]f?x=new rh:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rW([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rD(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rz(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,h=0,l=o;for(n=0;n=e){h=Math.max(0,n-1);break}for(a=n;ai){l=a+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rh({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?n:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,f,m,x,y=this.data,b;if(!y&&!a){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&a&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rX(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rT(d),dataMax:rA(d)};return rz(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rU(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rz(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=rV(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,h,l=rV(o.radius,s&&s.radius);e&&(a=s.states[e],l=rV((h=o.states&&o.states[e])&&h.radius,a&&a.radius,l&&l+(a&&a.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rX(l)&&d&&(i.crisp&&(d[0]=rO(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-l,n.y=d[1]-l),l&&(n.width=n.height=2*l),n}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,n=t&&t.color,a=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,u=rV(o.lineWidth,i.lineWidth),g=1;return d=r||a||n||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=rV((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,u+rV(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":u,fill:c,opacity:g=rV(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,n=/AppleWebKit\/533/.test(rw.navigator.userAgent),a=o.data||[];for(rz(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rI(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let t of o.zones)rL(t,void 0,!0);tt.clearTimeout(o.animationTimeout),rU(o,function(t,e){t instanceof eK&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rI(r.series,o),r.orderItems("series"),rU(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:h,renderer:l}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rP(d.toPixels(rV(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,u=0,f=r.len,y=n.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(g(v),t&&g(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return rE(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rE(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||r$(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=ry(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rz(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=r_(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rz(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,r_(function(){e.kdTree=function t(i,s,o){let r,n;let a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rk?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rz(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n;let a=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=a.data,g=this.getColumn("x");e=rV(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&mm;)n--;d.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,u,...Object.values(d.getColumns())].filter(rE).forEach(t=>{t.shift()}),d.rowCount-=1,rz(d,"afterDeleteRows"))),!1!==o&&rz(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,h=r[t],l=function(){[n?.length===r.length?n:void 0,r,s.options.data,...Object.values(a.getColumns())].filter(rE).forEach(e=>{e.splice(t,1)}),a.rowCount-=1,rz(a,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rb(i,o),e=rV(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rV(t,!0)&&r.redraw(e)}!1!==i?rz(o,"remove",null,n):n()}update(t,e){rz(this,"update",{options:t=rB(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=rS[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rR(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rj(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rS[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rS[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;rR(i,rS[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rD(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rz(this,"afterUpdate"),rV(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rV(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rE(r)?i!==o:i!==rV(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rz(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rz(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,n=s.states,a=rV(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(h=n[t].lineWidth||h+(n[t].lineWidthPlus||0),l=rV(n[t].opacity,l)),o&&!o.dashstyle&&rX(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rz(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rz(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rp[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rq.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rq.types=rx.seriesTypes,rq.registerType=rx.registerSeriesType,rR(rq.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:o_,requireSorting:!0,sorted:!0}),rx.series=rq;let rZ=rq,{animObject:rK,setAnimation:rJ}=tj,{registerEventOptions:rQ}=st,{composed:r0,marginNames:r1}=O,{distribute:r2}=ex,{format:r3}=ec,{addEvent:r5,createElement:r6,css:r9,defined:r4,discardElement:r8,find:r7,fireEvent:nt,isNumber:ne,merge:ni,pick:ns,pushUnique:no,relativeLength:nr,stableSort:nn,syncTimeout:na}=tt;class nh{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),rQ(this,e),r5(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r5(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=ns(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ni(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=ns(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ni(!0,this.options,t)),"events"in this.options&&rQ(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,ns(e,!0)&&i.redraw(),nt(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof rZ||t instanceof o_)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ni(e?this.itemStyle:i)),n?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,nt(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e&&e.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[r4(e.translateY)?"animate":"attr"](o,void 0,()=>{nt(this,"afterPositionItem",{item:t})})}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r8(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,r9(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?ns(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&ns(i.showInLegend,!r4(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),nt(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(o)&&!r4(t[n])&&(i[r1[n]]=Math.max(i[r1[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+ns(s.margin,12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,h;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=r7(n?t.points:t.points.slice(0).reverse(),function(t){return ne(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),r2(i,e.plotHeight)))t=o.item.legendItem||{},ne(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,n,a,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=nr(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),nn(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),n=(this.widthOption||this.offsetWidth)+s,a=this.lastItemY+this.lastLineHeight+this.titleHeight,a=this.handleOverflow(a)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),n>0&&a>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:n,height:a},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(n=a=0),this.legendWidth=n,this.legendHeight=a,r&&this.align(),this.proximate||this.positionItems(),nt(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ni(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ni(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,h=o.maxHeight,l=o.navigation,d=ns(l.animation,!0),c=l.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?M.attr({height:t}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(n?-r:r)-a,v=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-a,0),this.currentPage=ns(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),M||(M=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(M)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&rJ(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),na(()=>{nt(this,"afterScroll",{currentPage:l})},rK(ns(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof o_,a=t instanceof rZ,h="highcharts-legend-"+(n?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ni(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),nt(s,"itemClick",{browserEvent:e,legendItem:t},i),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&nt(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r6("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r5(t.checkbox,"click",function(e){let i=e.target;nt(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){no(r0,"Core.Legend")&&r5(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(nh||(nh={}));let nl=nh,{animate:nd,animObject:nc,setAnimation:np}=tj,{defaultOptions:nu}=tw,{numberFormat:ng}=ec,{registerEventOptions:nf}=st,{charts:nm,doc:nx,marginNames:ny,svg:nb,win:nv}=O,{seriesTypes:nM}=rx,{addEvent:nk,attr:nw,createElement:nS,css:nA,defined:nT,diffObjects:nP,discardElement:nC,erase:nO,error:nE,extend:nL,find:nB,fireEvent:nI,getAlignFactor:nD,getStyle:nR,isArray:nN,isNumber:nz,isObject:nW,isString:nG,merge:nH,objectEach:nF,pick:nX,pInt:nY,relativeLength:nj,removeEvent:nU,splat:nV,syncTimeout:n$,uniqueKey:n_}=tt;class nq{static chart(t,e,i){return new nq(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(nG(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:nX(t.zoomType,e.type),key:nX(t.zoomKey,e.key),pinchType:nX(t.pinchType,e.pinchType),singleTouch:nX(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:nH(e.resetButton,t.resetZoomButton)}}init(t,e){nI(this,"init",{args:arguments},function(){let i=nH(nu,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=nL({},t),(this.renderTo=nG(o)?nx.getElementById(o):o)||nE(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tx(nL(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ng).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=nm.length,nm.push(this),O.chartCount++,nf(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),nI(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=nM[i];s||nE(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=nV(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?nV(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(l+n,t.pos)&&e<=Math.min(l+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return nI(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){nI(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),np(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&nI(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){nI(t,"afterSetExtremes",nL(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),nI(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),nI(this,"redraw"),nI(this,"render"),a&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=nB(this.axes,i)||nB(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{nX(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=nH(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(nL("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=nH(o),a=i?.textPxLength||0;if(i&&r){nI(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=nH({y:"bottom"===d?h:u+h},{align:"title"===t?gp?this.chartWidth:n.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*nD(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,nI(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:nR(this.renderTo,"width",!0)||0,height:nR(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,nj(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(nA(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(nx.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(nx.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,nx.body.appendChild(e)),("none"===nR(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),nA(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==nx.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=n_(),r=this.renderTo,n=nY(nw(r,s));nz(n)&&nm[n]&&nm[n].hasRendered&&nm[n].destroy(),nw(r,s,this.index),r.innerHTML=t5.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,h=this.chartWidth;nA(r,{overflow:"hidden"}),this.styledMode||(t=nL({position:"relative",overflow:"hidden",width:h+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=nS("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||nA(l,{width:nX(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!nb?ep.getRendererType(i.renderer):ij;if(this.renderer=new d(l,h,a,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),np(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,nI(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!nT(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!nT(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),nI(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ny.forEach(function(i,o){nT(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return nP(this.userOptions,nu)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(tt.clearTimeout(e.reflowTimeout),e.reflowTimeout=n$(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=nk(nv,"resize",e);nk(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,np(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?nd:nA)(s.container,{width:`${n+h}px`,height:`${a+l}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,nI(s,"resize"),setTimeout(()=>{s&&nI(s,"endResize")},nc(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:n,inverted:a,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:n-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),nI(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){nI(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=nW(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=nX(e[i+s],o[r])})}),ny.forEach(function(e,i){t[e]=nX(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:n||"none"},(b||m["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),m.attr(M).shadow(t.shadow)),m[k]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,nI(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=nM[o.type],i=o[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=nM[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(nG(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=nX(t.options.visible,s.options.visible,t.visible))}}),nI(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,h=0;for(let e of(this.setTitle(),nI(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new su(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&nX(i.reserveSpace,!nz(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&h(h?1:1.1),a=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=nH(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(nv.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(nI(e,"destroy"),e.renderer.forExport?nO(nm,e):nm[e.index]=void 0,O.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),nU(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t5.emptyHTML,nU(o),r&&nC(o)),nF(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=nN(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),nI(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),nI(this,"load"),nI(this,"render"),nT(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),nI(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),nA(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=nX(n[x],t.len),v=nX(s[x],t.len),M=10>Math.abs(b)?1:b/v,k=(s[y]||0)+v/2-t.pos,w=k-((n[y]??t.pos)+b/2-t.pos)/M,S=m&&!h||!m&&h?-1:1;if(!o&&(k<0||k>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:g*S),T=t.toValue(w+u/M,!0)-(r||t.isOrdinal?0:g*S||0),P=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===M&&!o&&"yAxis"===t.coll&&!P){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);P??(P={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),nz(t.dataMin)&&nz(t.dataMax)&&(P.dataMin=Math.min(t.dataMin,P.dataMin),P.dataMax=Math.max(t.dataMax,P.dataMax))}t.allExtremes=P}let{dataMin:C,dataMax:O,min:E,max:L}=nL(t.getExtremes(),P||{}),B=l.parse(f.min),I=l.parse(f.max),D=C??B,R=O??I,N=T-A,z=t.categories?0:Math.min(N,R-D),W=D-z*(nT(B)?0:f.minPadding),G=R+z*(nT(I)?0:f.maxPadding),H=t.allowZoomOutside||1===M||"zoom"!==a&&M>1,F=Math.min(B??W,W,H?E:W),X=Math.max(I??G,G,H?L:G);(!t.isOrdinal||t.options.overscroll||1!==M||o)&&(A=1&&(T=A+N)),T>X&&(T=X,M>=1&&(A=T-N)),(o||t.series.length&&(A!==E||T!==L)&&A>=F&&T<=X)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==a,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:a,scale:M}),!o&&(A>F||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),d}}nL(nq.prototype,{callbacks:[],collectionsWithInit:{xAxis:[nq.prototype.addAxis,[!0]],yAxis:[nq.prototype.addAxis,[!1]],series:[nq.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let nZ=nq,{stop:nK}=tj,{composed:nJ}=O,{addEvent:nQ,createElement:n0,css:n1,defined:n2,erase:n3,merge:n5,pushUnique:n6}=tt;function n9(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new n8(this)),t?.applyFixed()}function n4(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class n8{static compose(t,e,i){n6(nJ,this.compose)&&(nQ(t,"afterInit",n4),nQ(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),nQ(e,"render",n9),nQ(i,"show",n4))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=n5(t.plotBox),h.width=t.plotWidth+=i,a[l?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),n2(s)&&(t.scrollablePlotBox=n5(t.plotBox),h.height=t.plotHeight+=s,a[l?"width":"height"]+=s,o=!1)),n2(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=ep.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;let a=this.parentDiv=n0("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=n0("div",{className:"highcharts-scrolling"},n,a),l=this.innerContainer=n0("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=n0("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),n1(t.renderTo,{overflow:"visible"}),nQ(t,"afterShowResetZoom",r),nQ(t,"afterApplyDrilldown",r),nQ(t,"afterLayOutTitles",r),nQ(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),nK(t.container),n1(a,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),n1(s,{width:`${r}px`,height:`${n}px`}),n2(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,M=l+c+o[1]+1,k=l+c-p,w=d+h-u,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",k,y],["L",r,y],["L",r,v],["L",k,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,w],["L",b,n],["L",M,n],["L",M,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=n8.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])n6(n,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])n3(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}n8.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:n7}=ec,{series:at}=rx,{destroyObjectProperties:ae,fireEvent:ai,getAlignFactor:as,isNumber:ao,pick:ar}=tt,an=class{constructor(t,e,i,s,o){let r=t.chart.inverted,n=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){ae(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?n7(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:ar(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,ai(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:h,options:l,textAlign:d}=this,c=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===ar(l.overflow,"justify"),s;n.x=l.x||0,n.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(n,!1,p),(s=c.isInsidePlot(h.alignAttr.x+n.x+o,h.alignAttr.y+n.y+r))||(i=!1),i&&at.prototype.justifyDataLabel.call(a,h,n,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*as(l.textAlign||"center"),rotationOriginY:t.height/2}),ar(!i&&l.crop,!0)&&(s=ao(h.x)&&ao(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}ai(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*as(i)-1),y:t.height/2*2*(1-as(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,h=e.stacking.usePercentage?100:ar(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=ar(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(a||ao(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-n+d.top-i.plotTop,width:p,height:n}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:n,height:p}}},{getDeferredAnimation:aa}=tj,{series:{prototype:ah}}=rx,{addEvent:al,correctFloat:ad,defined:ac,destroyObjectProperties:ap,fireEvent:au,isNumber:ag,objectEach:af,pick:am}=tt;function ax(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,am(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function ay(){let t=this.stacking;if(t){let e=t.stacks;af(e,(t,i)=>{ap(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function ab(){this.stacking||(this.stacking=new aA(this))}function av(t,e,i,s){return!ac(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function aM(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s=r.length,n,h,l;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),h=o[i]?.[n],(l=h?.points[t.key||""])&&a.call(e,l,h,s)})}function ak(t,e,i){let s=e.total?100/e.total:0;t[0]=ad(t[0]*s),t[1]=ad(t[1]*s),this.stackedYData[i]=t[1]}function aw(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?ah.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function aS(t,e){let i,s,o,r,n,a,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,M=t.stacking,k=M.stacks,w=M.oldStacks;for(M.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&k[r]?.[e]?(r=k[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):ad(S+Math.abs(g))):"group"===l?ag(u)&&S++:S=ad(S+g),"group"===l?o.cumulative=(S||1)-1:o.cumulative=ad(am(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[a].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(M.usePercentage=!0),"group"!==l&&(this.stackedYData=p),M.oldStacks={}}class aA{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{af(t,t=>{t.cumulative=t.total})}))}resetStacks(){af(this.stacks,t=>{af(t,(e,i)=>{ag(e.touched)&&e.touched{af(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(f||(f={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(al(t,"init",ab),al(t,"destroy",ay),s.getStacks=ax,o.getStackIndicator=av,o.modifyStacks=aM,o.percentStacker=ak,o.setGroupedPoints=aw,o.setStackedPoints=aS)};let aT=f,{defined:aP,merge:aC,isObject:aO}=tt;class aE extends rZ{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",h=s.dashStyle||t.dashStyle;n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r).shadow(t.shadow&&aC({filterUnits:"userSpaceOnUse"},aO(t.shadow)?t.shadow:{}))),n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,u=l.plotY,g=t[d-1],f=l.isNull||"number"!=typeof u;(l.leftCliff||g&&g.rightCliff)&&!i&&(a=!0),f&&!aP(e)&&d>0?a=!o.connectNulls:f&&!e?a=!0:(0===d||a?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",g.plotX,u]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],n.push(l.x),h&&(n.push(l.x),2===h&&n.push(l.x)),r.push.apply(r,c),a=!1)}),r.xMap=n,s.graphPath=r,r}}aE.defaultOptions=aC(rZ.defaultOptions,{legendSymbol:"lineMarker"}),rx.registerSeriesType("line",aE);let{seriesTypes:{line:aL}}=rx,{extend:aB,merge:aI,objectEach:aD,pick:aR}=tt;class aN extends aL{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=aL.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,h=[],l=[],d=this.index,c=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=aR(r.connectNulls,"percent"===n),f=function(i,s,o){let r=t[i],g=n&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?g[0]:g[1])+m,y=g[0]+m,b=!!f):!n&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?u:a.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?u:a.getThreshold(y),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&n&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,f,m;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),n=2*h-o):op&&n>h?(n=Math.max(p,h),o=2*h-n):n1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;a6(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&a1(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(aJ(s)){if(a2(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=a5(i.borderWidth,s?0:1),r=t.xAxis,n=t.yAxis,a=i.threshold,h=a5(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rZ.prototype.translate.apply(t),t.points.forEach(function(s){let o=a5(s.yBottom,g),m=999+Math.abs(o),x=s.plotX||0,y=aZ(s.plotY,-m,n.len+m),b,v=Math.min(y,o),M=Math.max(y,o)-v,k=d,w=x+c,S=f;h&&Math.abs(M)h?o-h:g-(b?h:0)),aJ(s.options.pointWidth)&&(w-=Math.round(((k=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,k,s,l)),s.barX=w,s.pointWidth=k,s.tooltipPos=e.inverted?[aZ(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,M]:[r.left-e.plotLeft+w+S/2,aZ(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?g:v,S,s.isNull?0:M)}),a0(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=a5(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(a=t.getZone(),l=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,c=a.dashStyle||c,p=a.borderWidth||p)),e&&t&&(h=(n=a3(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=n.color||void 0!==h&&a_(l).brighten(n.brightness).get()||l,d=n[o]||d,p=n[r]||p,c=n.dashStyle||c,u=a5(n.opacity,u));let g={fill:l,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,n=o.animationLimit||250;t.forEach(function(t){let a=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=ht(h)&&ht(l)&&r.isInsidePlot(h,Math.round(l),{inverted:a,paneCoordinates:!0,series:this}),p=0===d&&"justify"===hh(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&ht(h)&&(t.series.forceDL||n&&!p||c||hh(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=he({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),he(i,{width:h.width,height:h.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(hn(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=hs(i.align)*(l.width-h.width),e.alignAttr.y+=hs(i.verticalAlign)*(l.height-h.height),e.attr({"text-align":e.alignAttr["text-align"]||"center"})[e.placed?"animate":"attr"]({x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(hh(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(hr(l)&&l||hr(n)&&n||"#000000"),c=h(i),{animation:p,defer:u}=c[0],g=u?a8(s,p,i):{defer:0,duration:0};hi(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let n=t.dataLabels||[];hd(a(c,t.dlOptions||t.options?.dataLabels)).forEach((a,h)=>{let l=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,a),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=a,f,m,x,y={},b=n[h],v=!b,M;l&&(m=ht(f=hh(a[t.formatPrefix+"Format"],a.format))?a7(f,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a),x=a.rotation,!s.styledMode&&(g.color=hh(a.color,g.color,hr(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(M=c),t.contrastColor=r.getContrast("auto"!==M&&M||t.color||i.color),g.color=M||!ht(u)&&a.inside||0>hl(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:a.borderRadius||0,rotation:x,padding:a.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=a.borderWidth),ha(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&ht(m)&&!!b.div==!!a.useHTML&&(b.rotation&&a.rotation||b.rotation===a.rotation)||(b=void 0,v=!0),l&&ht(m)&&(b?y.text=m:(b=r.label(m,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),b&&(b.options=a,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(a.shadow),hi(b,"beforeAddingDataLabel",{labelOptions:a,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,a,void 0,v),b.isActive=!0,n[h]&&n[h]!==b&&n[h].destroy(),n[h]=b))});let h=n.length;for(;h--;)n[h]&&n[h].isActive?n[h].isActive=!1:(n[h]?.destroy(),n.splice(h,1));t.dataLabel=n[0],t.dataLabels=n})),hi(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>n.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function a(t,e){let i=[],s;if(ho(t)&&!ho(e))i=t.map(function(t){return hn(t,e)});else if(ho(e)&&!ho(t))i=e.map(function(e){return hn(t,e)});else if(ho(t)||ho(e)){if(ho(t)&&ho(e))for(s=Math.max(t.length,e.length);s--;)i[s]=hn(t[s],e[s])}else i=hn(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hd(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,h=a.reversed,l=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:h?-l-c:a.width-l+c,e.startYPos=n?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let a=t.prototype;a.initDataLabels||(a.initDataLabels=o,a.initDataLabelsGroup=s,a.alignDataLabel=i,a.drawDataLabels=r,a.justifyDataLabel=n,a.setDataLabelStartPos=l,a.hasDataLabels=e)}}(m||(m={}));let hc=m,{composed:hp}=O,{series:hu}=rx,{merge:hg,pick:hf,pushUnique:hm}=tt;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,n=t.series,a=(n.xAxis?n.xAxis.len:this.chart.plotSizeX)||0,h=(n.yAxis?n.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hf(t.below,t.plotY>hf(this.translatedThreshold,h)),c=hf(i.inside,!!this.options.stacking);if(l){if(s=hg(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hS(hT.prototype,{drawTracker:hM.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hw(hT,"afterTranslate",function(){this.applyJitter()}),rx.registerSeriesType("scatter",hT);let{deg2rad:hP}=O,{fireEvent:hC,isNumber:hO,pick:hE,relativeLength:hL}=tt;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let u=[hE(r?.[0],"50%"),hE(r?.[1],"50%"),hE(l&&l<0?void 0:t.size,"100%"),hE(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rZ||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=hL(p,[s,o,n,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),hO(a)&&2*a0&&(u[3]=u[2]-2*a),hC(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=hO(t)?t:0,s=hO(e)&&e>i&&e-i<360?e:i+360;return{start:hP*(i+-90),end:hP*(s+-90)}}}(y||(y={}));let hB=y,{setAnimation:hI}=tj,{addEvent:hD,defined:hR,extend:hN,isNumber:hz,pick:hW,relativeLength:hG}=tt;class hH extends o_{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hD(this,"select",s),hD(this,"unselect",s)}isValid(){return hz(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hI(i,s.chart),e=hW(e,!0),this.sliced=this.options.sliced=t=hR(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hN(hH.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,h,l]=n.center,d=l/2,{plotLeft:c,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=hG(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hF}=hB,{noop:hX}=O,{clamp:hY,extend:hj,fireEvent:hU,merge:hV,pick:h$}=tt;class h_ extends rZ{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:h$(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:ii.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,h=Math.asin(hY((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(h)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hV(!0,a,i),hV(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hU(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hF(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,h=n.length,l,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hU(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}h_.defaultOptions=hV(rZ.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hj(h_.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:a4.prototype.drawTracker,getCenter:hB.getCenter,getSymbol:hX,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:a4.prototype.pointAttribs,pointClass:hH,requireSorting:!1,searchPoint:hX,trackerGroups:["group","dataLabelsGroup"]}),rx.registerSeriesType("pie",h_);let{composed:hq,noop:hZ}=O,{distribute:hK}=ex,{series:hJ}=rx,{arrayMax:hQ,clamp:h0,defined:h1,pick:h2,pushUnique:h3,relativeLength:h5}=tt;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,h=n[2]/2,l=Math.cos(r),d=Math.sin(r),c=n[0]+l*h,p=n[1]+d*h,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,h=a[2]/2,l=a[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hJ.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=h5(o?.distance||0,s);0===i&&d[t.half].push(t),!h1(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,n)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,n-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),hK(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,M=(v-l.getBBox().height)/2,k=0,w=y,S="inherit";if(x){if(u&&h1(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)k=p.justify(i,l,h,a);else switch(d.alignTo){case"connectors":k=p.alignToConnectors(e,n,s,r);break;case"plotEdges":k=p.alignToPlotEdges(l,n,s,r);break;default:k=p.radialDistributionX(t,i,w-M,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:k+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=k,x.computed.y=w-M,h2(d.crop,!0)){let t;k-(g=l.getBBox().width)s-b&&0===n&&(t=Math.round(k+g-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===hQ(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},n=s.dataLabelPosition;if(r){let a;u=s.connector,n&&n.distance>0?(a=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[a?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:n.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h0(r,o,e[2]-Math.max(t[0],t[2])):(r=h0(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-a)/(l-a)+s&&(n=!n)}return n}}(v||(v={}));let{pointInPolygon:h9}=v,{addEvent:h4,fireEvent:h8,objectEach:h7,pick:lt}=tt;function le(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(h9({x:i[0],y:i[1]},e))return!0;return!1},o,r,n,a,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{h7(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=lt(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,li(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let lo={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=le,h4(t,"render",ls))}},{defaultOptions:lr}=tw,{noop:ln}=O,{addEvent:la,extend:lh,isObject:ll,merge:ld,relativeLength:lc}=tt,lp={radius:0,scope:"stack",where:void 0},lu=ln,lg=ln;function lf(t,e,i,s,o={}){let r=lu(t,e,i,s,o),{innerR:n=0,r:a=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lc(o.borderRadius||0,a-n),(a-n)/2,a*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*n),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(h.start),p+n*Math.sin(h.start)])):(h.end=d-f,o[6]=c+n*Math.cos(h.end),o[7]=p+n*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?u:p);return r}function lm(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=lr.plotOptions?.[this.type]?.borderRadius,o=lx(t.borderRadius,ll(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:h=0,y:l=0}=n,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=n.y,c=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(lc(o.radius,a),a/2,"all"===u?h/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),lh(n,{brBoxHeight:c,brBoxY:d,r:g})}}}}function lx(t,e){return ll(t)||(t={radius:t||0}),ld(lp,e,t)}function ly(){let t=lx(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lc(t.radius,(i.r||0)-(i.innerR||0)))}}function lb(t,e,i,s,o={}){let r=lg(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:h=e}=o,l=e-h,d=h+a-(e+s),c=l-n>-.1?0:n,p=d-n>-.1?0:n,u=Math.max(c&&l,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],M=[t,e+s-p],k=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=w(c,c-u);f[0]-=t,m[0]+=t,x[1]=k[1]=e+c-u}if(s=lS(i.minWidth,0)&&this.chartHeight>=lS(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lA()),this.matchResponsiveRule(t,o)},this);let n=lw(...o.map(t=>lk((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));n.isResponsiveOptions=!0,o=o.toString()||void 0;let a=s&&s.ruleIds;o===a||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lv(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:n,undoOptions:r},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lM(s,{matchResponsiveRule:e,setResponsive:i}),t}}(M||(M={}));let lT=M;function lP(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function lC(t,e,i,s){return lP(t,e,i/2,s)}function lO(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function lE(t,e,i,s){return lO(t,e,i/2,s)}O.AST=t5,O.Axis=sj,O.Chart=nZ,O.Color=tC,O.DataLabel=hc,O.DataTableCore=rh,O.Fx=tI,O.HTMLElement=i3,O.Legend=nl,O.LegendSymbol=rp,O.OverlappingDataLabels=O.OverlappingDataLabels||lo,O.PlotLineOrBand=oo,O.Point=o_,O.Pointer=rs,O.RendererRegistry=ep,O.Series=rZ,O.SeriesRegistry=rx,O.StackItem=an,O.SVGElement=eK,O.SVGRenderer=ij,O.Templating=ec,O.Tick=su,O.Time=tx,O.Tooltip=oC,O.animate=tj.animate,O.animObject=tj.animObject,O.chart=nZ.chart,O.color=tC.parse,O.dateFormat=ec.dateFormat,O.defaultOptions=tw.defaultOptions,O.distribute=ex.distribute,O.format=ec.format,O.getDeferredAnimation=tj.getDeferredAnimation,O.getOptions=tw.getOptions,O.numberFormat=ec.numberFormat,O.seriesType=rx.seriesType,O.setAnimation=tj.setAnimation,O.setOptions=tw.setOptions,O.stop=tj.stop,O.time=tw.defaultTime,O.timers=tI.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;la(t,"afterColumnTranslate",lm,{order:9}),la(s,"afterTranslate",ly),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lu=o.arc,lg=o.roundedRect,o.arc=lf,o.roundedRect=lb}},optionsToObject:lx}).compose(O.Series,O.SVGElement,O.SVGRenderer),hx.compose(O.Series.types.column),hc.compose(O.Series),sq.compose(O.Axis),i3.compose(O.SVGRenderer),nl.compose(O.Chart),sQ.compose(O.Axis),lo.compose(O.Chart),h6.compose(O.Series.types.pie),oo.compose(O.Chart,O.Axis),rs.compose(O.Chart),lT.compose(O.Chart),n8.compose(O.Axis,O.Chart,O.Series),aT.compose(O.Axis,O.Chart,O.Series),oC.compose(O.Pointer),tt.extend(O,tt);let lL={compose:function(t){let e=t.prototype.symbols;e.arrow=lP,e["arrow-filled"]=lO,e["arrow-filled-half"]=lE,e["arrow-half"]=lC,e["triangle-left"]=lO,e["triangle-left-half"]=lE}},{defined:lB,error:lI,merge:lD,objectEach:lR}=tt,lN=O.deg2rad,lz=Math.max,lW=Math.min,lG=class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,o=this.pathfinder,r={},n=this.graphics&&this.graphics.path;o.group||(o.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),o.group.translate(i.plotLeft,i.plotTop),n&&n.renderer||(n=i.renderer.path().add(o.group),s||n.attr({opacity:0})),n.attr(e),r.d=t,s||(r.opacity=1),n.animate(r),this.graphics=this.graphics||{},this.graphics.path=n}addMarker(t,e,i){let s,o,r,n,a,h,l,d;let c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,f=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(l={x:d[1],y:d[2]},o=g.getRadiansToVector(l,f),s=g.getMarkerVector(o,e.radius,f),r=-o/lN,e.width&&e.height?(a=e.width,h=e.height):a=h=2*e.radius,this.graphics=this.graphics||{},n={x:s.x-a/2,y:s.y-h/2,width:a,height:h,rotation:r,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(n):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(n).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],o=e.chartObstacles;return"function"!=typeof s?(lI('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!o&&(o=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(o)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),lD({chartObstacles:o,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,o={},r=lD(i.options.connectors,e.options.connectors,t.options.connectors,this.options);!i.styledMode&&(o.stroke=r.lineColor||t.color,o["stroke-width"]=r.lineWidth,r.dashStyle&&(o.dashstyle=r.dashStyle)),o.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,lB((r=lD(o,r)).marker.radius)||(r.marker.radius=lW(lz(Math.ceil((r.algorithmMargin||8)/2)-1,1),5));let n=this.getPath(r),a=n.path;n.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(n.obstacles)),this.renderPath(a,o),this.addMarker("start",lD(r.marker,r.startMarker),a),this.addMarker("end",lD(r.marker,r.endMarker),a)}destroy(){this.graphics&&(lR(this.graphics,function(t){t.destroy()}),delete this.graphics)}},{composed:lH}=O,{addEvent:lF,merge:lX,pushUnique:lY,wrap:lj}=tt,lU={color:"#ccd3ff",width:2,label:{format:"%[abdYHM]",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t,!0)},rotation:0,style:{fontSize:"0.7em"}}};function lV(){let t=this.options,e=t.currentDateIndicator;if(e){let i="object"==typeof e?lX(lU,e):lX(lU);i.value=Date.now(),i.className="highcharts-current-date-indicator",t.plotLines||(t.plotLines=[]),t.plotLines.push(i)}}function l$(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function l_(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}let{defaultOptions:lq}=tw,{isArray:lZ,merge:lK,splat:lJ}=tt;class lQ extends nZ{init(t,e){let i;let s=t.xAxis,o=t.yAxis;t.xAxis=t.yAxis=void 0;let r=lK(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=o,r.xAxis=(lZ(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),lK({grid:{borderColor:"#cccccc",enabled:!0},opposite:lq.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=lJ(t.yAxis||{}).map(t=>lK({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}!function(t){t.ganttChart=function(e,i,s){return new t(e,i,s)}}(lQ||(lQ={}));let l0=lQ,{isTouchDevice:l1}=O,{addEvent:l2,merge:l3,pick:l5}=tt,l6=[];function l9(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function l4(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=l5(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+l5(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function l8(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),l5(t.redraw,!0)&&this.redraw(t.animation))}function l7(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function dt(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!l1&&"x"===this.zooming.type||l1&&"x"===this.zooming.pinchType))return!1}function de(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function di(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(l3(!0,this.options.navigator,e),l3(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let ds={compose:function(t,e){if(tt.pushUnique(l6,t)){let s=t.prototype;i=e,s.callbacks.push(de),l2(t,"afterAddSeries",l9),l2(t,"afterSetChartSize",l4),l2(t,"afterUpdate",l8),l2(t,"beforeRender",l7),l2(t,"beforeShowResetZoom",dt),l2(t,"update",di)}}},{isTouchDevice:dr}=O,{addEvent:dn,correctFloat:da,defined:dh,isNumber:dl,pick:dd}=tt;function dc(){this.navigatorAxis||(this.navigatorAxis=new du(this))}function dp(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||dr&&"xy"===n)&&this.options.range){let e=r.previousZoom;dh(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class du{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),dn(t,"init",dc),dn(t,"setExtremes",dp))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=dd(i,o.translate(t,!0,!o.horiz)),a=dd(s,o.translate(e,!0,!o.horiz));return dh(i)||(n=da(n+r)),dh(s)||(a=da(a-r)),dl(n)&&dl(a)||(n=a=void 0),{min:n,max:a}}}let{parse:dg}=tC,{seriesTypes:df}=rx,dm={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:dg("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===df.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:dx}=tt,dy={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,n=dx(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...ii.rect(-r-1,.5,2*r+1,s,{r:n})]}},{defined:db}=tt,{setOptions:dv}=tw,{composed:dM}=O,{getRendererType:dk}=ep,{setFixedRange:dw}={setFixedRange:function(t){let e=this.xAxis[0];db(e.dataMax)&&db(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:dS,extend:dA,pushUnique:dT}=tt;function dP(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let dC={compose:function(t,e,i){du.compose(e),dT(dM,"Navigator")&&(t.prototype.setFixedRange=dw,dA(dk().prototype.symbols,dy),dS(i,"afterUpdate",dP),dv({navigator:dm}))}},{composed:dO}=O,{addEvent:dE,defined:dL,pick:dB,pushUnique:dI}=tt;!function(t){let e;function i(t){let e=dB(t.options&&t.options.min,t.min),i=dB(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:dL(t.dataMin)?Math.min(e,t.min,t.dataMin,dB(t.threshold,1/0)):e,scrollMax:dL(t.dataMax)?Math.max(i,t.max,t.dataMax,dB(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),dE(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:n,scrollMin:a,scrollMax:h}=i(t),l=h-a;if(dL(r)&&dL(n)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+l*this.to,o=a+l*this.from):(s=a+l*(1-this.from),o=a+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(n&&h){if(this.horiz)this.opposite||(h[1]+=a),n.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=a),e=n.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,n.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!dL(this.min)||!dL(this.max)||this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){dI(dO,"Axis.Scrollbar")&&(e=i,dE(t,"afterGetOffset",s),dE(t,"afterInit",o),dE(t,"afterRender",r))}}(k||(k={}));let dD=k,dR={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:dN}=tw,{addEvent:dz,correctFloat:dW,crisp:dG,defined:dH,destroyObjectProperties:dF,fireEvent:dX,merge:dY,pick:dj,removeEvent:dU}=tt;class dV{static compose(t){dD.compose(t,dV)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,dF(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(dV.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dY(dR,dN.scrollbar,e),this.options.margin=dj(this.options.margin,10),this.chart=i,this.size=dj(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dX(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dX(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,n?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-h,translateY:n?s-l:0})}removeEvents(){this._events.forEach(function(t){dU.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-dG(0,r),y:-dG(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(dV.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-dG(0,this.scrollbarStrokeWidth),-dG(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!dH(a))return;let l=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=dW(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dj(this.options.liveRedraw,O.svg&&!O.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!dH(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dX(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dY(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=dW(1-dW(e-t)),e=1),t<0&&(e=dW(e-t),t=0),this.from=t,this.to=e}}dV.defaultOptions=dR,dN.scrollbar=dY(!0,dV.defaultOptions,dN.scrollbar);let{defaultOptions:d$}=tw,{isTouchDevice:d_}=O,{prototype:{symbols:dq}}=ij,{addEvent:dZ,clamp:dK,correctFloat:dJ,defined:dQ,destroyObjectProperties:d0,erase:d1,extend:d2,find:d3,fireEvent:d5,isArray:d6,isNumber:d9,merge:d4,pick:d8,removeEvent:d7,splat:ct}=tt;function ce(t,...e){let i=[].filter.call(e,d9);if(i.length)return Math[t].apply(0,i)}class ci{static compose(t,e,i){ds.compose(t,ci),dC.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,f,m;i?(f=d+e+a,e=d+t+a,m=[["M",g+c,d-h-a],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+l+h]],o&&m.push(["M",g+c,f-n],["L",g+c,e+n])):(g-=h,t+=g+h-a,e+=g+h-a,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+l+2*h,p]],o&&m.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,n,a;let h=this.left,l=this.top,d=this.height;i?(n=[h,h,h],a=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[h,h+t,h+e],a=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=dq[l].call(dq,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(d4(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),dQ(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{d7(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(dZ(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!dQ(i))return;if(this.isDirty&&this.renderElements(),t=dJ(t-n/2),e=dJ(e+n/2),!d9(t)||!d9(e)){if(!l)return;i=0,s=d8(r.width,a.width)}this.left=d8(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=y=d8(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:y+2*u,i=d8(i,r.toPixels(t,!0)),s=d8(s,r.toPixels(e,!0)),d9(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=r.toValue(i,!0),k=r.toValue(s,!0),w=Math.abs(dJ(k-M));wp&&(this.grabbedLeft?i=r.toPixels(k-p-n,!0):this.grabbedRight&&(s=r.toPixels(M+p+n,!0))),this.zoomedMax=dK(Math.max(i,s),0,v),this.zoomedMin=dK(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,d5(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(dZ(e.renderTo,"mousemove",o),dZ(i.ownerDocument,"mouseup",r),dZ(e.renderTo,"touchmove",o),dZ(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(dZ(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(dZ(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,a=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=n,this.dragOffset=h-o):(p=h-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,dQ((c=s.navigatorAxis.toFixedRange(p,p+n,d,l)).min)&&d5(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-a)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&d8(e.scrollbar.options.liveRedraw,!d_&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n;let a=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),dQ((n=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&d5(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&d9(this.zoomedMin)&&d9(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){d7(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&d7(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,h=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new sj(t,d4({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),l.yAxis=new sj(t,d4(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:d8(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=dZ(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,n=ce("min",s.options.min,o.dataMin),a=ce("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=du.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=d4(t.options.scrollbar,{vertical:t.inverted});!d9(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new dV(t.renderer,e,t),dZ(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=d8(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:d8(s.parse(r?.min),ce("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:d8(s.parse(r?.max),ce("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?d3(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(d7(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=d2({color:t.color,visible:t.visible},d6(l)?d$.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},p.dataLabels=ct(p.dataLabels),(h=d4(a,r,p,d)).pointRange=d8(p.pointRange,d.pointRange,d$.plotOptions[h.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,h.data=u||a.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||d6(l))&&(i.hasNavigatorData=!1,(l=ct(l)).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(h=d4(d$.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(dZ(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(dZ(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(dZ(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(dZ(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(dZ(i,"remove",function(){e&&d1(e,i),this.navigatorSeries&&t.series&&(d1(t.series,this.navigatorSeries),dQ(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=d8(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=n)+h),d&&(t=a+c,l||(e=Math.max(n,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&d9(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=d8(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(d9(o)&&d9(r))&&(n&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{d0(t)}),this.navigatorEnabled=!1}}let cs={lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%[ebY]",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}},{defaultOptions:co}=tw,{composed:cr}=O,{addEvent:cn,defined:ca,extend:ch,isNumber:cl,merge:cd,pick:cc,pushUnique:cp}=tt,cu=[];function cg(){let t,e;let i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i=r.toParts(t),o=i.slice();"year"===s?o[0]+=e:o[1]+=e;let n=r.makeTime.apply(r,o),a=r.toParts(n);return"month"===s&&i[1]===a[1]&&1===Math.abs(e)&&(o[0]=i[0],o[1]=i[1],o[2]=0),(n=r.makeTime.apply(r,o))-t};cl(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=cc(this.dataMin,Number.MIN_VALUE);return cl(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,cc(this.dataMax,Number.MAX_VALUE))),cl(o)?!cl(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function cf(){this.rangeSelector?.redrawElements()}function cm(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new s(this))}function cx(){let t=this.rangeSelector;if(t){cl(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"top"!==e||(this.extraTopMargin=!0))}}function cy(){let t;let e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;cl(i.min)&&e.render(i.min,i.max),s.display&&"top"===o&&o===s.options.verticalAlign&&(t=cd(this.spacingBox),"vertical"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function cb(){for(let t=0,e=cu.length;tt()),cu.splice(t,1);return}}}function cv(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function cM(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,o=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!ca(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new s(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}}let ck={compose:function(t,e,i){if(s=i,cp(cr,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=cg,cn(e,"afterGetContainer",cm),cn(e,"beforeRender",cx),cn(e,"destroy",cb),cn(e,"getMargins",cv),cn(e,"redraw",cy),cn(e,"update",cM),cn(e,"beforeRedraw",cf),i.callbacks.push(cy),ch(co,{rangeSelector:cs.rangeSelector}),ch(co.lang,cs.lang)}}},{addEvent:cw,correctFloat:cS,css:cA,defined:cT,error:cP,isNumber:cC,pick:cO,timeUnits:cE,isString:cL}=tt;!function(t){function e(t,i,s,o,r=[],n=0,a){let h={},l=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,f,m,x=0,y=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*n||m){if(r[p]>b){for(u=d.getTimeTicks(t,r[x],r[p],o);u.length&&u[0]<=b;)u.shift();u.length&&(b=u[u.length-1]),c.push(y.length),y=y.concat(u)}x=p+1}if(m)break}if(u){if(f=u.info,a&&f.unitRange<=cE.hour){for(x=1,p=y.length-1;xt-e),(a=i[Math.floor(i.length/2)])<.6*l&&(a=null),c=y[t-1]>s?t-1:t,n=void 0;c--;)d=Math.abs(n-(r=e[c])),n&&d<.8*l&&(null===a||d<.8*a)?(h[y[c]]&&!h[y[c+1]]?(o=c+1,n=r):o=c,y.splice(o,1)):n=r}return y}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=cS((t-i)*s+this.minPixelPadding),n=cS(e.getIndexOfPoint(r,o)),a=cS(n%1);if(n>=0&&n<=o.length-1){let t=o[Math.floor(n)],e=o[Math.ceil(n)];return o[Math.floor(n)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function n(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&cT(e.overscroll)&&0!==e.overscroll&&cC(this.max)&&cC(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&cT(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function h(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function l(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let n=this.mouseDownX,a=e.getExtremes(),h=a.dataMin,l=a.dataMax,d=a.min,c=a.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||u))),f=e.ordinal.getExtendedPositions(),m={ordinal:{positions:f,extendedOrdinalPositions:f}},x=e.index2val,y=e.val2lin;if(d<=h&&g<0||c+i>=l&&g>0)return;m.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),l>(o=m.ordinal.positions)[o.length-1]&&o.push(l),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(m,[y.apply(m,[d,!0])+g]),x.apply(m,[y.apply(m,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,cA(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,n=s.slope,a;if(!r)return t;let h=r.length;if(r[0]<=t&&r[h-1]>=t)i=o(r,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let h=a.length;n||(n=(a[h-1]-a[0])/h);let l=o(a,r[0]);if(t>=a[0]&&t<=a[h-1])i=o(a,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(y=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),f=Math.min(f,cO(t.closestPointRange,f)),a)){for(e=0;e2){for(l=g[1]-g[0],u=a-1;u--&&!m;)g[u+1]-g[u]!==l&&(m=!0);!t.options.keepOrdinalPadding&&(g[0]-s>l||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===a?f=g[1]-g[0]:1===a?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=cO(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),n=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),h,l,d=e.index;return d||(d=e.index={}),!d[r]&&((h={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+n}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=h,i.series.forEach(i=>{l={xAxis:h,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:O.noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);l.dataTable=new rh({columns:{x:s}}),l.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},h.series.push(l),i.processData.apply(l)}),h.applyGrouping({hasExtremesChanged:!0}),l?.closestPointRange!==l?.basePointRange&&l.currentDataGrouping&&(h.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:h}),!i.ordinal.originalOrdinalRange&&h.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=h.ordinal.originalOrdinalRange),h.ordinal.positions&&(d[r]=h.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],n,a,h=this.groupIntervalFactor;if(!h){for(a=0;aRegExp(`%[[a-zA-Z]*${e}`).test(t);if(cj(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=cj(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=cj(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class cZ{static compose(t,e){ck.compose(t,e,cZ)}constructor(t){this.isDirty=!1,this.buttonOptions=cZ.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},n=s.type,a=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=cY(o?.max)?Math.round(Math.min(o.max,l??o.max)):void 0,p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,sj.prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===n||"year"===n)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),cY(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)cY(c)&&(c=Math.min((d=Math.max(c-u,h))+u,l),x=!1);else if("ytd"===n){if(o)!o.hasData()||cY(l)&&cY(h)||(h=Number.MAX_VALUE,l=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(h=Math.min(e[0],h),l=Math.max(e[e.length-1],l))}),e=!1),cY(l)&&cY(h)&&(d=g=(m=this.getYTDExtremes(l,h)).min,c=m.max);else{this.deferredYTDClick=t;return}}else"all"===n&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&cz(d)&&(d+=s._offsetMin),s._offsetMax&&cz(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)cY(d)&&cY(c)&&(o.setExtremes(d,c,c$(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=c_(i.options.xAxis||{})[0];let t=cD(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});cD(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}cX(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&cX(t,"blur"),i&&i.blur&&cX(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(cD(t.container,"mousedown",r)),this.eventsToUnbind.push(cD(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(cD(t,"load",function(){t.xAxis&&t.xAxis[0]&&cD(t.xAxis[0],"setExtremes",function(i){cY(this.max)&&cY(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),n=!o.hasVisibleSeries,a=24*36e5,h=e.scroller&&e.scroller.getUnionExtremes()||o,l=h.dataMin,d=h.dataMax,c=t.getYTDExtremes(d,l),p=c.min,u=c.max,g=t.selected,f=t.options.allButtonsEnabled,m=Array(t.buttonOptions.length).fill(0),x=cY(g),y=t.buttons,b=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,h=e.type,c=e.count||1,y=e._offsetMax-e._offsetMin,M=i===g,k=s>d-l,w=ss&&(A=!0)}else("month"===h||"year"===h)&&r+36e5>=({month:28,year:365})[h]*a*c-y&&r-36e5<=({month:31,year:366})[h]*a*c+y?A=!0:"ytd"===h?(A=u-p+y===r,S=!M):"all"===h&&(A=o.max-o.min>=d-l);let T=!f&&!(b&&"all"===h)&&(k||w||n),P=b&&"all"===h||!S&&A||M&&t.frozenStates;T?m[i]=3:P&&(!x||i===g)&&(v=i)}),null!==v?(m[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(cI.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:ch&&(c=h)),void 0!==c&&r.setExtremes(l?c:r.min,l?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=h[l?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=n.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?a.inputBoxHeight:0}).add(s),u=n.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=cR("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",cq(a.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(cU(r,a.labelStyle)),u.css(cU({color:"#333333"},r,a.inputStyle)),cN(g,cF({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===O.doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let f=!1;return g.onchange=()=>{f||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{f=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=c$(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=cR("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(cz(o.dataMin)&&cz(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=cI.lang,o=e.renderer,r=cU(i.buttonTheme),n=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=cR("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),h=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},cU(r,{"stroke-width":c$(r["stroke-width"],0),width:"auto",paddingLeft:c$(i.buttonTheme.paddingLeft,h?.padding,8),paddingRight:c$(i.buttonTheme.paddingRight,h?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),cD(a,"touchstart",()=>{a.style.fontSize="16px"});let l=O.isMS?"mouseover":"mouseenter",d=O.isMS?"mouseout":"mouseleave";cD(a,l,()=>{cX(this.dropdownLabel.element,l)}),cD(a,d,()=>{cX(this.dropdownLabel.element,d)}),cD(a,"change",()=>{cX(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),cR("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=cU(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:n,options:a}=this,h=n.renderer,l=cU(a.buttonTheme);o?.add(cR("option",{textContent:t.title||t.text}),e+2),r[e]=h.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},l,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,h=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:l,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>h&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(h.y||0)+(h.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&l&&d){let a=l.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,l,"right"===l.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let h=0;r.inputEnabled&&o&&(h=p(o,d,"right"===l.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-h)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(h),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,f=s.getBBox().height+20,m=0;if("bottom"===c){let t=i.legend&&i.legend.options;m=g-(f=f+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+c$(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===l.y?m=g:(d.y||l.y)&&(d.y<0||l.y<0?m-=Math.min(d.y,l.y):m=g-f)),s.translate(r.x,r.y+Math.floor(m));let{minInput:x,maxInput:y,dropdown:b}=this;r.inputEnabled&&x&&y&&(x.style.marginTop=s.translateY+"px",y.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=cU(s.buttonTheme),r=o&&o.states,n=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(cG(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,n,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i&&(n.align===o.align?(a(),this.initialButtonGroupWidth>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):this.initialButtonGroupWidth-t+s.getBBox().width>e.plotWidth?"responsive"===r?this.collapseButtons():a():this.expandButtons()),i&&("always"===r&&this.collapseButtons(),"never"===r&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),cN(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),cN(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let h=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(h)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(cU(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),cz(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),cW(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),cV(t,function(e,i){e&&"chart"!==i&&(e instanceof eK?e.destroy():e instanceof window.HTMLElement&&cH(e),delete t[i]),e!==cZ.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}cF(cZ.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let cK={applyRadius:function(t,e){let i=[];for(let s=0;s>1].xMin)>0)o=n+1;else{if(!(a<0))return n;r=n-1}return o>0?o-1:0}function c3(t,e){let i=c2(t,e.x+1)+1;for(;i--;){var s;if(t[i].xMax>=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return -1}function c5(t){let e=[];if(t.length){e.push(["M",t[0].start.x,t[0].start.y]);for(let i=0;ic1(e.y-t.y))?"x":"y",l,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){let s=c1(e[i]-t[i+"Min"])>c1(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}n>-1?(a={start:d=g(o[n],e,h),end:e},p=d):p=e,r>-1&&(d=g(l=o[r],t,h),s.push({start:t,end:d}),d[h]>=t[h]==d[h]>=p[h]&&(c=t[h="y"===h?"x":"y"]c1(e.y-t.y)),o=s?"x":"y",r=[],n=i.obstacleMetrics,a=cQ(t.x,e.x)-n.maxWidth-10,h=c0(t.x,e.x)+n.maxWidth+10,l=cQ(t.y,e.y)-n.maxHeight-10,d=c0(t.y,e.y)+n.maxHeight+10,c,p,u,g=!1,f=i.chartObstacles,m=c2(f,h),x=c2(f,a);function y(t,e,i){let s,o,r,n;let a=t.x0&&f[h].xMin<=o.x||a<0&&f[h].xMax>=s.x);){if(f[h].xMin<=o.x&&f[h].xMax>=s.x&&f[h].yMin<=r.y&&f[h].yMax>=n.y){if(i)return{y:t.y,x:t.x=r[a+"Max"],c=t[a+"Min"]<=r[a+"Min"],p=t[a+"Max"]>=n[a+"Max"],u=t[a+"Min"]<=n[a+"Min"],g=c1(t[a+"Min"]-e[a]),f=c1(t[a+"Max"]-e[a]),m=10>c1(g-f)?e[a]-1&&(u=function(t,e,s){let o=cQ(t.xMax-e.x,e.x-t.xMin)-1;)p=e[o]-t[o]<0,(u={x:e.x,y:e.y})[o]=f[m][p?o+"Max":o+"Min"]+(p?1:-1),r.push({end:e,start:u}),e=u;return{path:c5(c=(c=function t(e,s,o){let r,n,c,p,u,m,x;if(e.x===s.x&&e.y===s.y)return[];let v=o?"x":"y",M=i.obstacleOptions.margin,k={soft:{xMin:a,xMax:h,yMin:l,yMax:d},hard:i.hardBounds};return(u=c3(f,e))>-1?(p=b(u=f[u],e,s,o,k),c6(u,i.hardBounds),x=o?{y:e.y,x:u[p?"xMax":"xMin"]+(p?1:-1)}:{x:e.x,y:u[p?"yMax":"yMin"]+(p?1:-1)},(m=c3(f,x))>-1&&(c6(m=f[m],i.hardBounds),x[v]=p?c0(u[v+"Max"]-M+1,(m[v+"Min"]+u[v+"Max"])/2):cQ(u[v+"Min"]+M-1,(m[v+"Max"]+u[v+"Min"])/2),e.x===x.x&&e.y===x.y?(g&&(x[v]=p?c0(u[v+"Max"],m[v+"Max"])+1:cQ(u[v+"Min"],m[v+"Min"])-1),g=!g):g=!1),n=[{start:e,end:x}]):(r=y(e,{x:o?s.x:e.x,y:o?e.y:s.y},o),n=[{start:e,end:{x:r.x,y:r.y}}],r[o?"x":"y"]!==s[o?"x":"y"]&&(p=b(r.obstacle,r,s,!o,k),c6(r.obstacle,i.hardBounds),c={x:o?r.x:r.obstacle[p?"xMax":"xMin"]+(p?1:-1),y:o?r.obstacle[p?"yMax":"yMin"]+(p?1:-1):r.y},o=!o,n=n.concat(t({x:r.x,y:r.y},c,o)))),n=n.concat(t(n[n.length-1].end,s,!o))}(t,e,s)).concat(r.reverse())),obstacles:c}}c9.requiresObstacles=!0,c4.requiresObstacles=!0;let c8={connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}},{setOptions:c7}=tw,{defined:pt,error:pe,merge:pi}=tt;function ps(t){let e=t.shapeArgs;if(e)return{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)};let i=t.graphic&&t.graphic.getBBox();return i?{xMin:t.plotX-i.width/2,xMax:t.plotX+i.width/2,yMin:t.plotY-i.height/2,yMax:t.plotY+i.height/2}:null}!function(t){function e(t){let e,i;let s=ps(this);switch(t.align){case"right":e="xMax";break;case"left":e="xMin"}switch(t.verticalAlign){case"top":i="yMin";break;case"bottom":i="yMax"}return{x:e?s[e]:(s.xMin+s.xMax)/2,y:i?s[i]:(s.yMin+s.yMax)/2}}function i(t,e){let i;return!pt(e)&&(i=ps(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)}function s(t,e,i){let s=2*Math.PI,o=ps(this),r=o.xMax-o.xMin,n=o.yMax-o.yMin,a=Math.atan2(n,r),h=r/2,l=n/2,d=o.xMin+h,c=o.yMin+l,p={x:d,y:c},u=t,g=1,f=!1,m=1,x=1;for(;u<-Math.PI;)u+=s;for(;u>Math.PI;)u-=s;return g=Math.tan(u),u>-a&&u<=a?(x=-1,f=!0):u>a&&u<=Math.PI-a?x=-1:u>Math.PI-a||u<=-(Math.PI-a)?(m=-1,f=!0):m=-1,f?(p.x+=m*h,p.y+=x*h*g):(p.x+=n/(2*g)*m,p.y+=x*l),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}t.compose=function(t,o,r){let n=r.prototype;n.getPathfinderAnchorPoint||(t.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&((t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&pi(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(pi(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),pe('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new o(this),this.pathfinder.update(!0))}),n.getMarkerVector=s,n.getPathfinderAnchorPoint=e,n.getRadiansToVector=i,c7(c8))}}(S||(S={}));let po=S,{addEvent:pr,defined:pn,pick:pa,splat:ph}=tt,pl=Math.max,pd=Math.min;class pc{static compose(t,e){po.compose(t,pc,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],pr(t,"redraw",function(){this.pathfinder.update()})}update(t){let e=this.chart,i=this,s=i.connections;i.connections=[],e.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(t){let s;let o=t.options;o&&o.dependency&&(o.connect=o.dependency);let r=t.options?.connect?ph(t.options.connect):[];t.visible&&!1!==t.isInside&&r.forEach(o=>{let r="string"==typeof o?o:o.to;r&&(s=e.get(r)),s instanceof o_&&s.series.visible&&s.visible&&!1!==s.isInside&&i.connections.push(new lG(t,s,"string"==typeof o?{}:o))})})});for(let t=0,e,o,r=s.length,n=i.connections.length;ti.yMin-o&&e.yMin-oi.xMin-o&&e.xMin-oi.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,h=n?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return n&&r?o?t(e,i,Math.floor(o/2)):1/0:pd(a,h)}(t[o],t[r]))<80&&s.push(e);return s.push(80),pl(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}(s),s.forEach(function(t){t.xMin-=o,t.xMax+=o,t.yMin-=o,t.yMax+=o})),s}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e=1&&(e.plotHeight=o,e.redrawTrigger="adjustHeight",e.setSize(void 0,e.chartHeight+r,i)),t.series.forEach(function(t){let i=t.sharedClipKey&&e.sharedClips[t.sharedClipKey];i&&i.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}let py={compose:function(t,e){let i=e.prototype;i.adjustHeight||(pp(t,"afterSetOptions",pm),i.adjustHeight=px,pp(e,"render",i.adjustHeight))}};py.compose(O.Axis,O.Chart);let{correctFloat:pb,isNumber:pv,isObject:pM}=tt,{column:{prototype:{pointClass:pk}}}=rx.seriesTypes,{extend:pw}=tt;class pS extends pk{static getColorByCategory(t,e){let i=t.options.colors||t.chart.options.colors,s=i?i.length:t.chart.options.chart.colorCount,o=e.y%s,r=i&&i[o];return{colorIndex:o,color:r}}resolveColor(){let t=this.series;if(t.options.colorByPoint&&!this.options.color){let e=pS.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color=this.options.color||t.color}constructor(t,e){super(t,e),this.y||(this.y=0)}applyOptions(t,e){return super.applyOptions(t,e),this.x2=this.series.chart.time.parse(this.x2),this.isNull=!this.isValid?.(),this}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}pw(pS.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});let{composed:pA,noop:pT}=O,{parse:pP}=tC,{column:pC}=rx.seriesTypes,{addEvent:pO,clamp:pE,crisp:pL,defined:pB,extend:pI,find:pD,isNumber:pR,isObject:pN,merge:pz,pick:pW,pushUnique:pG,relativeLength:pH}=tt;function pF(){let t,e;if(this.isXAxis){for(let i of(t=pW(this.dataMax,-Number.MAX_VALUE),this.series)){let s=i.dataTable.getColumn("x2",!0)||i.dataTable.getColumn("end",!0);if(s)for(let i of s)pR(i)&&i>t&&(t=i,e=!0)}e&&(this.dataMax=t)}}class pX extends pC{static compose(t){pG(pA,"Series.XRange")&&pO(t,"afterGetSeriesExtremes",pF)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let t=()=>{for(let t of this.chart.series){let e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}};t();let e=super.getColumnMetrics();return t(),e}cropData(t,e,i){let s=t.getColumn("x")||[],o=t.getColumn("x2");t.setColumn("x",o,void 0,{silent:!0});let r=super.cropData(t,e,i);return t.setColumn("x",s.slice(r.start,r.end),void 0,{silent:!0}),r}findPointIndex(t){let e;let{cropStart:i,points:s}=this,{id:o}=t;if(o){let t=pD(s,t=>t.id===o);e=t?t.index:void 0}if(void 0===e){let i=pD(s,e=>e.x===t.x&&e.x2===t.x2&&!e.touched);e=i?i.index:void 0}return this.cropped&&pR(e)&&pR(i)&&e>=i&&(e-=i),e}alignDataLabel(t){let e=t.plotX;t.plotX=pW(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:`${t.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=s.offset,h=pW(t.x2,t.x+(t.len||0)),l=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(h,0,0,0,1),g=Math.abs(u-p),f=this.chart.inverted,m=pW(o.borderWidth,1),x,y,b=s.offset,v=Math.round(s.width),M,k,w,S;r&&((x=r-g)<0&&(x=0),p-=x/2,u+=x/2),p=Math.max(p,-10),u=pE(u,-10,e.len+10),pB(t.options.pointWidth)&&(b-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),o.pointPlacement&&pR(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));let A=pL(Math.min(p,u),m),T=pL(Math.max(p,u),m)-A,P=Math.min(pH("object"==typeof l?l.radius:l||0,v),Math.min(T,v)/2),C={x:A,y:pL((t.plotY||0)+b,m),width:T,height:v,r:P};t.shapeArgs=C,f?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-C.width/2,k=(M=C.x)+C.width,M<0||k>e.len?(M=pE(M,0,e.len),w=(k=pE(k,0,e.len))-M,t.dlBox=pz(C,{x:M,width:k-M,centerX:w?w/2:null})):t.dlBox=null;let O=t.tooltipPos,E=f?1:0,L=f?0:1,B=this.columnMetrics?this.columnMetrics.offset:-s.width/2;f?O[E]+=C.width/2:O[E]=pE(O[E]+(e.reversed?-1:0)*C.width,e.left-c,e.left+e.len-c-1),O[L]=pE(O[L]+(f?-1:1)*B,i.top-d,i.top+i.len-d-1),(y=t.partialFill)&&(pN(y)&&(y=y.amount),pR(y)||(y=0),t.partShapeArgs=pz(C),S=Math.max(Math.round(g*y+t.plotX-p),0),t.clipRectArgs={x:e.reversed?C.x+g-S:C.x,y:C.y,width:S,height:C.height}),t.key=t.category||t.name,t.yCategory=i.categories?.[t.y??-1]}translate(){for(let t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,n=t.partShapeArgs,a=t.clipRectArgs,h=t.state,l=i.states[h||"normal"]||{},d=void 0===h?"attr":e,c=this.pointAttribs(t,h),p=pW(this.chart.options.chart.animation,l.animation),u=t.graphic,g=t.partialFill;if(t.isNull||!1===t.visible)u&&(t.graphic=u.destroy());else if(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](pz(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),n&&(u.partRect?(u.partRect[e](pz(n)),u.partialClipRect[e](pz(a))):(u.partialClipRect=s.clipRect(a.x,a.y,a.width,a.height),u.partRect=s[o](n).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),n)){pN(g)||(g={}),pN(i.partialFill)&&(g=pz(i.partialFill,g));let e=g.fill||pP(c.fill).brighten(-.3).get()||pP(t.color||this.color).brighten(-.3).get();c.fill=e,u.partRect[d](c,p).shadow(i.shadow)}}drawPoints(){let t=this.getAnimationVerb();for(let e of this.points)this.drawPoint(e,t)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){let e=t.shapeArgs,i=t.plotX,s=t.plotY;return e?void 0!==i&&void 0!==s&&s>=0&&s<=this.yAxis.len&&(e.x||0)+(e.width||0)>=0&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}pX.defaultOptions=pz(pC.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){let t=this.partialFill;if(pM(t)&&(t=t.amount),pv(t)&&t>0)return pb(100*t)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{ucfirst point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}),pI(pX.prototype,{pointClass:pS,pointArrayMap:["x2","y"],getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:rx.series.prototype.animate,autoIncrement:pT,buildKDTree:pT}),rx.registerSeriesType("xrange",pX),pX.compose(O.Axis);let{xrange:{prototype:{pointClass:pY}}}=rx.seriesTypes;class pj extends pY{static setGanttPointAliases(t,e){t.x=t.start=e.time.parse(t.start??t.x),t.x2=t.end=e.time.parse(t.end??t.x2),t.partialFill=t.completed=t.completed??t.partialFill}applyOptions(t,e){let i=super.applyOptions(t,e);return pj.setGanttPointAliases(i,i.series.chart),this.isNull=!this.isValid?.(),i}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}let{isNumber:pU}=tt,{addEvent:pV,find:p$,fireEvent:p_,isArray:pq,isNumber:pZ,pick:pK}=tt;!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,n;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(n&&!1!==n.visible||(n=i[r+1]),t=i[r],!1!==n.visible&&!1!==t.visible){if(n.x-t.x>o){let e=(t.x+n.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new an(s,s.options.stackLabels,!1,e,this.stack)).total=0)}n=t}}return this.getGraphPath(i)}t.compose=function(t,l){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),pV(t,"init",o),pV(t,"afterInit",e),pV(t,"afterSetTickPositions",s),pV(t,"afterSetOptions",i);let d=l.prototype;d.drawBreaks=a,d.gappedPath=h,pV(l,"afterGeneratePoints",r),pV(l,"afterRender",n)}return t};class l{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(l.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return p$(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==l.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=l.lin2Val,s.val2lin=l.val2Lin,s.setExtremes=function(t,e,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=h;for(;p{t.getOffset()})}i&&t.apply(this)}function us(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:s,left:o,offset:r,opposite:n,options:a,top:h,width:l}=this,d=this.tickSize(),c=e&&e.getBBox().width,p=a.title.x,u=a.title.y,g=p4(a.title.margin,s?5:10),f=e?this.chart.renderer.fontMetrics(e).f:0,m=(s?h+i:o)+(s?1:-1)*(n?-1:1)*(d?d[0]/2:0)+(this.side===T.bottom?f:0);t.titlePosition.x=s?o-(c||0)/2-g+p:m+(n?l:0)+r+p,t.titlePosition.y=s?m-(n?i:0)+(n?f:-f)/2+r+u:h-g+u}}function uo(){let{chart:t,options:{grid:e={}},userOptions:i}=this;if(e.enabled&&function(t){let e=t.options;e.labels.align=p4(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}(this),e.columns){let s=this.grid.columns=[],o=this.grid.columnIndex=0;for(;++ot.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;let i=this.tickmarkOffset,r=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[r].label)&&(r-o>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[r].mark;a&&r-o0&&this.ticks[r].isLast&&this.hiddenMarks.push(a.hide())}}}function un(){let t=this.tickPositions&&this.tickPositions.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!p1(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align="left",p1(s.x)||(e.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function ua(t){let e;let i=this.options,s=t.userOptions,o=i&&ut(i.grid)?i.grid:{};!0===o.enabled&&(e=p9(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[E]"]},week:{list:["Week %W","W%W"]},month:{list:["%[B]","%[b]","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(p1(s.linkedTo)&&!p1(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!p1(s.tickPixelInterval)&&p1(s.linkedTo))||p1(s.tickPositioner)||p1(s.tickInterval)||p1(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=e.units||[],r,n=1,a="year";for(let t=0;tt.setScale())}function ud(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=e?s.cellHeight||o+i.height:o+i.width;p5(t.tickSize)?t.tickSize[0]=r:t.tickSize=[r,0]}}function uc(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function up(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function uu(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&p1(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new uy(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function ug(t){let e=this.label,i=this.axis,s=i.reversed,o=i.chart,r=i.options.grid||{},n=i.options.labels,a=n.align,h=T[i.side],l=t.tickmarkOffset,d=i.tickPositions,c=this.pos-l,p=p6(d[t.index+1])?d[t.index+1]-l:(i.max||0)+l,u=i.tickSize("tick"),g=u?u[0]:0,f=u?u[1]/2:0;if(!0===r.enabled){let r,l,d,u;if("top"===h?l=(r=i.top+i.offset)-g:"bottom"===h?r=(l=o.chartHeight-i.bottom+i.offset)+g:(r=i.top+i.len-(i.translate(s?p:c)||0),l=i.top+i.len-(i.translate(s?c:p)||0)),"right"===h?u=(d=o.chartWidth-i.right+i.offset)+g:"left"===h?d=(u=i.left+i.offset)-g:(d=Math.round(i.left+(i.translate(s?p:c)||0))-f,u=Math.min(Math.round(i.left+(i.translate(s?c:p)||0))-f,i.left+i.len)),this.slotWidth=u-d,t.pos.x="left"===a?d:"right"===a?u:d+(u-d)/2,t.pos.y=l+(r-l)/2,e){let i=o.renderer.fontMetrics(e),s=e.getBBox().height;if(n.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&n.x||0}}function uf(t){let{axis:e,value:i}=t;if(e.options.grid&&e.options.grid.enabled){let s;let o=e.tickPositions,r=(e.linkedParent||e).series[0],n=i===o[0],a=i===o[o.length-1],h=r&&p3(r.options.data,function(t){return t[e.isXAxis?"x":"y"]===i});h&&r.is("gantt")&&(s=p9(h),O.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,e.chart)),t.isFirst=n,t.isLast=a,t.point=s}}function um(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],h=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=h||this.min,c=l||this.max,p=this.tickInterval,u=p6(d)&&d>=o+p&&dd,f=p6(c)&&n>c&&n-pa;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!t.startOnTick&&(s[0]=d),(f||m)&&!t.endOnTick&&(s[s.length-1]=c))}function ux(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}!function(t){t[t.top=0]="top",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.left=3]="left"}(T||(T={}));class uy{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],o=i?t.linkedParent:t,r=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e!==o||(r=i))}),n===r&&(!p6(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}pQ.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},pQ.W=function(t){let e=this.toParts(t),i=(e[7]+6)%7,s=e.slice(0);s[2]=e[2]-i+3;let o=this.toParts(this.makeTime(s[0],0,1));return 4!==o[7]&&(e[1]=0,e[2]=1+(11-o[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(o[0],o[1],o[2]))/6048e5)).toString()};let ub={compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=ue,p7(t.prototype,"unsquish",ux),p7(t.prototype,"getOffset",ui),p0(t,"init",uu),p0(t,"afterGetTitlePosition",us),p0(t,"afterInit",uo),p0(t,"afterRender",ur),p0(t,"afterSetAxisTranslation",un),p0(t,"afterSetOptions",ua),p0(t,"afterSetOptions",uh),p0(t,"afterSetScale",ul),p0(t,"afterTickSize",ud),p0(t,"trimTicks",um),p0(t,"destroy",up),p0(e,"afterSetChartSize",uc),p0(i,"afterGetLabelPosition",ug),p0(i,"labelFormat",uf)),t}},{extend:uv,isNumber:uM,pick:uk}=tt;function uw(t,e,i,s,o,r){let n=r&&r.after,a=r&&r.before,h={data:s,depth:i-1,id:t,level:i,parent:e||""},l=0,d=0,c,p;"function"==typeof a&&a(h,r);let u=(o[t]||[]).map(e=>{let s=uw(e.id,t,i+1,e,o,r),n=e.start||NaN,a=!0===e.milestone?n:e.end||NaN;return c=!uM(c)||np?a:p,l=l+1+s.descendants,d=Math.max(s.height+1,d),s});return s&&(s.start=uk(s.start,c),s.end=uk(s.end,p)),uv(h,{children:u,descendants:l,height:d}),"function"==typeof n&&n(h,r),h}let uS={getNode:uw,getTree:function(t,e){return uw("",null,1,null,function(t){let e=[],i=t.reduce((t,i)=>{let{parent:s="",id:o}=i;return void 0===t[s]&&(t[s]=[]),t[s].push(i),o&&e.push(o),t},{});return Object.keys(i).forEach(t=>{if(""!==t&&-1===e.indexOf(t)){let e=i[t].map(function(t){let{...e}=t;return e});i[""].push(...e),delete i[t]}}),i}(t),e)}},{addEvent:uA,removeEvent:uT,isObject:uP,isNumber:uC,pick:uO,wrap:uE}=tt;function uL(){this.treeGrid||(this.treeGrid=new uD(this))}function uB(t,e,i,s,o,r,n,a,h){let l,d,c;let p=uO(this.options&&this.options.labels,r),u=this.pos,g=this.axis,f="treegrid"===g.type,m=t.apply(this,[e,i,s,o,p,n,a,h]);if(f){let{width:t=0,padding:e=g.linkedParent?0:5}=p&&uP(p.symbol,!0)?p.symbol:{},i=p&&uC(p.indentation)?p.indentation:0;c=(d=(l=g.treeGrid.mapOfPosToGridNode)&&l[u])&&d.depth||1,m.x+=t+2*e+(c-1)*i}return m}function uI(t){let e,i,s;let{pos:o,axis:r,label:n,treeGrid:a,options:h}=this,l=a?.labelIcon,d=n?.element,{treeGrid:c,options:p,chart:u,tickPositions:g}=r,f=c.mapOfPosToGridNode,m=uO(h?.labels,p?.labels),x=m&&uP(m.symbol,!0)?m.symbol:{},y=f&&f[o],{descendants:b,depth:v}=y||{},M=y&&b&&b>0,k="treegrid"===r.type&&d,w=g.indexOf(o)>-1,S="highcharts-treegrid-node-",A=S+"level-",T=u.styledMode;k&&y&&n.removeClass(RegExp(A+".*")).addClass(A+v),t.apply(this,Array.prototype.slice.call(arguments,1)),k&&M?(e=c.isCollapsed(y),function(t,e){let i=t.treeGrid,s=!i.labelIcon,o=e.renderer,r=e.xy,n=e.options,a=n.width||0,h=n.height||0,l=n.padding??t.axis.linkedParent?0:5,d={x:r.x-a/2-l,y:r.y-h/2},c=e.collapsed?90:180,p=e.show&&uC(d.y),u=i.labelIcon;u||(i.labelIcon=u=o.path(o.symbols[n.type](n.x||0,n.y||0,a,h)).addClass("highcharts-label-icon").add(e.group)),u[p?"show":"hide"](),o.styledMode||u.attr({cursor:"pointer",fill:uO(e.color,"#666666"),"stroke-width":1,stroke:n.lineColor,strokeWidth:n.lineWidth||0}),u[s?"attr":"animate"]({translateX:d.x,translateY:d.y,rotation:c})}(this,{color:!T&&n.styles.color||"",collapsed:e,group:n.parentGroup,options:x,renderer:n.renderer,show:w,xy:n.xy}),i=S+(e?"collapsed":"expanded"),s=S+(e?"expanded":"collapsed"),n.addClass(i).removeClass(s),T||n.css({cursor:"pointer"}),[n,l].forEach(t=>{t&&!t.attachedTreeGridEvents&&(uA(t.element,"mouseover",function(){n.addClass("highcharts-treegrid-node-active"),n.renderer.styledMode||n.css({textDecoration:"underline"})}),uA(t.element,"mouseout",function(){!function(t,e){let i=uP(e.style)?e.style:{};t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:i.textDecoration||"none"})}(n,m)}),uA(t.element,"click",function(){a.toggleCollapse()}),t.attachedTreeGridEvents=!0)})):l&&(uT(d),n?.css({cursor:"default"}),l.destroy())}class uD{static compose(t){let e=t.prototype;e.toggleCollapse||(uA(t,"init",uL),uE(e,"getLabelPosition",uB),uE(e,"renderLabel",uI),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.collapse(r);s.setBreaks(n,uO(t,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;if(o&&r){let i=r[e],n=s.expand(i);o.setBreaks(n,uO(t,!0))}}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.toggleCollapse(r);s.setBreaks(n,uO(t,!0))}}}let{extend:uR,isArray:uN,isNumber:uz,isObject:uW,merge:uG,pick:uH,relativeLength:uF}=tt,{getLevelOptions:uX}={getColor:function(t,e){let i,s,o,r,n,a;let h=e.index,l=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,f=p.points,m=p.chart.options.chart;return t&&(i=f[t.i],s=l[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:m.colorCount),o=u&&u[r]),p.chart.styledMode||(n=uH(i&&i.options.color,s&&s.color,o,d&&(t=>{let e=s&&s.colorVariation;return e&&"brightness"===e.key&&h&&g?tC.parse(t).brighten(e.to*(h/g)).get():t})(d),p.color)),a=uH(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:n,colorIndex:a}},getLevelOptions:function(t){let e,i,s,o,r,n;let a={};if(uW(t))for(o=uz(t.from)?t.from:1,n=t.levels,i={},e=uW(t.defaults)?t.defaults:{},uN(n)&&(i=n.reduce((t,i)=>{let s,r,n;return uW(i)&&uz(i.level)&&(r=uH((n=uG({},i)).levelIsConstant,e.levelIsConstant),delete n.levelIsConstant,delete n.level,uW(t[s=i.level+(r?0:o-1)])?uG(!0,t[s],n):t[s]=n),t},{})),r=uz(t.to)?t.to:1,s=0;s<=r;s++)a[s]=uG({},e,uW(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(e+parseFloat(o)/100*(e-1));let t=Number(o);return(n+t)/(e||1)-t}return uF(r,n)},setTreeValues:function t(e,i){let s=i.before,o=i.idRoot,r=i.mapIdToNode[o],n=!1!==i.levelIsConstant,a=i.points[e.i],h=a&&a.options||{},l=[],d=0;e.levelDynamic=e.level-(n?0:r.level),e.name=uH(a&&a.name,""),e.visible=o===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,o)=>{let r=uR({},i);uR(r,{index:o,siblings:e.children.length,visible:e.visible}),s=t(s,r),l.push(s),s.visible&&(d+=s.val)});let c=uH(h.value,d);return e.visible=c>=0&&(d>0||e.visible),e.children=l,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=c,e},updateRootId:function(t){let e,i;return uW(t)&&(i=uW(t.options)?t.options:{},e=uH(t.rootNode,i.rootId,""),uW(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}},{addEvent:uY,isArray:uj,splat:uU,find:uV,fireEvent:u$,isObject:u_,isString:uq,merge:uZ,pick:uK,removeEvent:uJ,wrap:uQ}=tt;function u0(t,e){let i=t.collapseEnd||0,s=t.collapseStart||0;return i>=e&&(s-=.5),{from:s,to:i,showPoints:!1}}function u1(t,e,i){let s=[],o=[],r={},n=e||!1,a={},h=-1,l=uS.getTree(t,{after:function(t){let e=a[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&o.push(e)},before:function(t){let e,i;let o=u_(t.data,!0)?t.data:{},l=uq(o.name)?o.name:"",d=r[t.parent],c=u_(d,!0)?a[d.pos]:null;n&&u_(c,!0)&&(e=uV(c.children,function(t){return t.name===l}))?(i=e.pos,e.nodes.push(t)):i=h++,!a[i]&&(a[i]=e={depth:c?c.depth+1:0,name:l,id:o.id,nodes:[t],children:[],pos:i},-1!==i&&s.push(l),u_(c,!0)&&c.children.push(e)),uq(t.id)&&(r[t.id]=t),e&&!0===o.collapsed&&(e.collapsed=!0),t.pos=i}});return{categories:s,mapOfIdToNode:r,mapOfPosToGridNode:a=function(t,e){let i=function(t,s,o){let r=t.nodes,n=s+(-1===s?0:e-1),a=(n-s)/2,h=s+a;return r.forEach(function(t){let e=t.data;u_(e,!0)&&(e.y=s+(e.seriesIndex||0),delete e.seriesIndex),t.pos=h}),o[h]=t,t.pos=h,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){i(t,n+1,o),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,o};return i(t["-1"],-1,{})}(a,i),collapsedNodes:o,tree:l}}function u2(t){let e=t.target;e.axes.filter(t=>"treegrid"===t.type).forEach(function(i){let s=i.options||{},o=s.labels,r=i.uniqueNames,n=e.time.parse(s.max),a=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),h=0,l,d;if(a){let s=[];if(l=i.series.reduce(function(t,i){let o=i.options.data||[],n=o[0],a=Array.isArray(n)&&!n.find(t=>"object"==typeof t);return s.push(a),i.visible&&(o.forEach(function(s){(a||i.options.keys&&i.options.keys.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,e)),u_(s,!0)&&(s.seriesIndex=h,t.push(s))}),!0===r&&h++),t},[]),n&&l.length=0&&e.indexOf(t.x2||0)>=0&&(i=t)}),u_(i,!0)?uZ(i):i});t.visible&&t.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=uX({defaults:o,from:1,levels:o&&o.levels,to:i.treeGrid.tree&&i.treeGrid.tree.height}),"beforeRender"===t.type&&(i.treeGrid.collapsedNodes=d.collapsedNodes)}})}function u3(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,r=this.ticks,n=r[e],a,h,l;s&&this.treeGrid.mapOfPosToGridNode?((a=i[(l=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(h={labels:a}),!n&&o?r[e]=n=new o(this,e,void 0,void 0,{category:l.name,tickmarkOffset:l.tickmarkOffset,options:h}):(n.parameters.category=l.name,n.options=h,n.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function u5(t,e,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new u4(o)),r&&(uY(e,"beforeRender",u2),uY(e,"beforeRedraw",u2),uY(e,"addSeries",function(t){if(t.options.data){let e=u1(t.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),uY(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){let e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),uY(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=uZ({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function u6(t){let e=this.options,i=this.chart.time,s="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(e.min)??this.dataMin,this.max=this.userMax??i.parse(e.max)??this.dataMax,u$(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let t=s.getExtremes();this.min=uK(t.min,t.dataMin),this.max=uK(t.max,t.dataMax),this.tickPositions=s.tickPositions}this.linkedParent=s}else t.apply(this,Array.prototype.slice.call(arguments,1))}function u9(t){let e=this;"treegrid"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label&&i.label.attachedTreeGridEvents&&(uJ(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class u4{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),uQ(e,"generateTick",u3),uQ(e,"init",u5),uQ(e,"setTickInterval",u6),uQ(e,"redraw",u9),e.utils={getNode:uS.getNode},o||(o=s)}return ub.compose(t,e,s),pJ.compose(t,i),uD.compose(s),t}constructor(t){this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let o=i.get(t.id),r=s[e.data.indexOf(o)];o&&r&&(o.collapsed=t.collapsed,r.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=u0(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=u0(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return(e.to!==s.to||e.from!==s.from)&&t.push(e),t},[])}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=e&&r<=i&&!(t.brokenAxis&&t.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=u0(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}let{series:u8,seriesTypes:{xrange:u7}}=rx,{extend:gt,isNumber:ge,merge:gi}=tt;class gs extends u7{static compose(t,e,i,s){u7.compose(t),e&&(py.compose(t,e),i)&&(pc.compose(e,i.prototype.pointClass),s&&u4.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,n=t.selected&&"select",a=i.stacking&&!i.borderRadius,h=t.graphic,l;t.options.milestone?ge(r)&&null!==t.y&&!1!==t.visible?(l=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),h?h[e]({d:l}):t.graphic=h=s.path(l).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,n)).shadow(i.shadow,null,a)):h&&(t.graphic=h.destroy()):super.drawPoint(t,e)}translatePoint(t){let e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}gs.defaultOptions=gi(u7.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,n=o.xDateFormat,a=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!n&&pU(this.start)&&(n=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));let h=t.chart.time.dateFormat(n,this.start),l=t.chart.time.dateFormat(n,this.end);return a+="
",r?a+=h+"
":a+="Start: "+h+"
End: "+l+"
",a}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),gt(gs.prototype,{pointArrayMap:["start","end","y"],pointClass:pj,setData:u8.prototype.setData}),rx.registerSeriesType("gantt",gs),O.Connection=O.Connection||lG,O.GanttChart=O.GanttChart||l0,O.Navigator=O.Navigator||ci,O.RangeSelector=O.RangeSelector||cZ,O.Scrollbar=O.Scrollbar||dV,O.ganttChart=O.GanttChart.ganttChart,lL.compose(O.SVGRenderer),({compose:function(t,e){lY(lH,"CurrentDateIndication")&&(lF(t,"afterSetOptions",lV),lF(e,"render",l$),lj(e.prototype,"getLabelText",l_))}}).compose(O.Axis,O.PlotLineOrBand),gs.compose(O.Axis,O.Chart,O.Series,O.Tick),O.Navigator.compose(O.Chart,O.Axis,O.Series),O.RangeSelector.compose(O.Axis,O.Chart),O.Scrollbar.compose(O.Axis),/** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i,s,o;var r,n,a,h,l,d,c,p,u,g,f,m,x,y,b,v,M,k,w,S,A,T,P={};P.d=(t,e)=>{for(var i in e)P.o(e,i)&&!P.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},P.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};P.d(C,{default:()=>gr}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.1",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.body.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(r||(r={}));let O=r,{charts:E,doc:L,win:B}=O;function I(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=H(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),Z(s,function(e,i){t+=` + - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}J(O,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);B.console&&-1===I.messages.indexOf(n)&&console.warn(n)}),I.messages.push(n)}function D(t,e){return parseInt(t,e||10)}function R(t){return"string"==typeof t}function N(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function z(t,e){return!!t&&"object"==typeof t&&(!e||!N(t))}function W(t){return z(t)&&"number"==typeof t.nodeType}function G(t){let e=t&&t.constructor;return!!(z(t,!0)&&!W(t)&&e&&e.name&&"Object"!==e.name)}function H(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function F(t){return null!=t}function X(t,e,i){let s;let o=R(e)&&!F(i),r=(e,i)=>{F(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return R(e)?r(i,e):Z(e,r),s}function Y(t){return N(t)?t:[t]}function j(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function U(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(I||(I={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let q=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let Q=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();B.jQuery&&(B.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new O[R(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):E[X(this[0],"data-highcharts-chart")]});let tt={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;O.Point&&t instanceof O.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!O.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){K(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=Y(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=B.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),U(s,"opacity"!==i)&&(o=D(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return _(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:Z,offset:function(t){let e=L.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(B.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(B.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:U,pInt:D,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:K,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:Y,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return R(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:Q,useSerialIds:function(e){return t=U(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:te,win:ti}=O,{defined:ts,error:to,extend:tr,isNumber:tn,isObject:ta,isString:th,merge:tl,objectEach:td,pad:tc,splat:tp,timeUnits:tu,ucfirst:tg}=tt,tf=O.isSafari&&ti.Intl&&!ti.Intl.DateTimeFormat.prototype.formatRange,tm=t=>void 0===t.main,tx=t=>["D","L","M","X","J","V","S"].indexOf(t),ty=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=ti.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=tl(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||ti.Date||Date;let s=t.timezone;ts(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,tx(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||te){let s=JSON.stringify(t)+i;th(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(to(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):to(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&tr(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||tf||(a-=36e5)}}return a}parse(t){if(!th(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tn(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-(36e5*(s+r/60));if(tn(n))return n}return 0}dateFormat(t,e,i){let s=O.defaultOptions?.lang;if(!ts(e)||isNaN(e))return s?.invalidDate||"";if(th(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(th(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;td(tr({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tc(n),e:tc(n,2," "),w:c,b:f[r],B:g[r],m:tc(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tc(a),k:a,I:tc(a%12||12),l:a%12||12,M:tc(h),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:tc(l),L:tc(d,3)},O.dateFormats),function(s,o){if(th(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(ta(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(tr({timeZone:s},t),e)+r}return i?tg(t):t}resolveDTLFormat(t){return ta(t,!0)?ta(t,!0)&&tm(t)?{main:t}:t:{main:(t=tp(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],n={},{count:a=1,unitRange:h}=t,[l,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),ts(e)){if(f=h>=tu.second?0:a*Math.floor(f/a),h>=tu.second&&(g=h>=tu.minute?0:a*Math.floor(g/a)),h>=tu.minute&&(u=h>=tu.hour?0:a*Math.floor(u/a)),h>=tu.hour&&(p=h>=tu.day?0:a*Math.floor(p/a)),h>=tu.day&&(c=h>=tu.month?1:Math.max(1,a*Math.floor(c/a))),h>=tu.month&&(d=h>=tu.year?0:a*Math.floor(d/a)),h>=tu.year&&(l-=l%a),h===tu.week){a&&(e=o.makeTime(l,d,c,p,u,g,f));let t=tx(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tu.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*a):t+=h*a,x++;r.push(t),h<=tu.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(n[t]="day")})}return r.info=tr(t,{higherRanks:n,totalRange:h*a}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",h=a;for(a in tu){if(t===tu.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(tu[a]>t){a=h;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(h=a)}return this.resolveDTLFormat(s[a]).main}},{isTouchDevice:tb}=O,{fireEvent:tv,merge:tM}=tt,tk={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tb?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tw=new ty(tk.time),tS={defaultOptions:tk,defaultTime:tw,getOptions:function(){return tk},setOptions:function(t){return tv(O,"setOptions",{options:t}),tM(!0,tk,t),t.time&&tw.update(tk.time),t.lang&&"locale"in t.lang&&tw.update({locale:t.lang.locale}),tk}},{isNumber:tA,merge:tT,pInt:tP,defined:tC}=tt;class tO{static parse(t){return t?new tO(t):tO.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=O.Color;if(r&&r!==tO)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tO(t[1]));else if("string"==typeof t)for(this.input=t=tO.names[t.toLowerCase()]||t,s=tO.parsers.length;s--&&!i;)(e=(o=tO.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tT(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tA(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tA(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tP(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tA(i[0])||!tA(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}tO.names={white:"#ffffff",black:"#000000"},tO.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tP(t[1]),tP(t[2]),tP(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tP(t[1]),tP(t[2]),tP(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tP(t[1]+t[1],16),tP(t[2]+t[2],16),tP(t[3]+t[3],16),tC(t[4])?tP(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tP(t[1],16),tP(t[2],16),tP(t[3],16),tC(t[4])?tP(t[4],16)/255:1]}}],tO.None=new tO("");let{parse:tE}=tO,{win:tL}=O,{isNumber:tB,objectEach:tI}=tt;class tD{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tI(h,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),n=t.isArea,a=n?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{let i=tY(t.options.animation);r=tG(e)&&tR(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=tX(t,e.options.chart.animation,!0)},stop:tj},{SVG_NS:tV,win:t$}=O,{attr:t_,createElement:tq,css:tZ,error:tK,isFunction:tJ,isString:tQ,objectEach:t0,splat:t1}=tt,{trustedTypes:t2}=t$,t3=t2&&tJ(t2.createPolicy)&&t2.createPolicy("highcharts",{createHTML:t=>t}),t5=t3?t3.createHTML(""):"";class t6{static filterUserAttributes(t){return t0(t,(e,i)=>{let s=!0;-1===t6.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tQ(e)&&t6.allowedReferences.some(t=>0===e.indexOf(t))),s||(tK(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tQ(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t6.emptyHTML,e&&new t6(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return t1(e).forEach(function(e){let o;let r=e.tagName,n=e.textContent?O.doc.createTextNode(e.textContent):void 0,a=t6.bypassHTMLFiltering;if(r){if("#text"===r)o=n;else if(-1!==t6.allowedTags.indexOf(r)||a){let s="svg"===r?tV:i.namespaceURI||tV,h=O.doc.createElementNS(s,r),l=e.attributes||{};t0(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),t_(h,a?l:t6.filterUserAttributes(l)),e.style&&tZ(h,e.style),n&&h.appendChild(n),t(e.children||[],h),o=h}else tK(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t3?t3.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tq("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t6.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t6.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t6.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t6.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t6.emptyHTML=t5,t6.bypassHTMLFiltering=!1;let{defaultOptions:t9,defaultTime:t4}=tS,{pageLang:t8}=O,{extend:t7,getNestedProperty:et,isArray:ee,isNumber:ei,isObject:es,isString:eo,pick:er,ucfirst:en}=tt,ea={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!ee(t)&&t.map((i,s)=>ed(e.body,t7(es(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:en,unless:t=>!t},eh={},el=t=>/^["'].+["']$/.test(t);function ed(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],n=/f$/,a=/\.(\d)/,h=i?.options.lang||t9.lang,l=i&&i.time||t4,d=i&&i.numberFormatter||ec,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:el(t)?t.slice(1,-1):et(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let n=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");ea[n]&&(u.isBlock&&n===u.fn&&g++,u.fn||(u.fn=n));let a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a)){if(g)!a&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],n=f.length,a=0,h;for(p=0;p<=n;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==n||(o.push(f.substr(a,p-a)),a=p+1)}for(p=ea[m].length;p--;)t.unshift(c(o[p+1]));r=ea[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ed(r?u:g,e,i))}else{let t=el(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(n.test(e)){let t=parseInt((e.match(a)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&eo(r)&&(r=`"${r}"`)}t=t.replace(s.find,er(r,""))}),f?ed(t,e,i):t}function ec(t,e,i,s){e=+e;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||t9.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):ei(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),ei(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||h.locale||t8,g=JSON.stringify(c)+u;return o=(eh[g]??(eh[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(a<0)||d)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let ep={dateFormat:function(t,e,i){return t4.dateFormat(t,e,i)},format:ed,helpers:ea,numberFormat:ec};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,O.Renderer=s)}}(n||(n={}));let eu=n,{clamp:eg,pick:ef,pushUnique:em,stableSort:ex}=tt;(a||(a={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,n=(t,e)=>t.target-e.target,a=[],h=e.length,l=[],d=a.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(ex(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>r;)f=e[c=Math.floor(p)],em(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(a,e.splice(t,1)))}for(ex(e,n),e=e.map(t=>({size:t.size,targets:[t.target],align:ef(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=eg(m-f.size*f.align,0,i-f.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,a),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),ex(o,n),o};let ey=a,{animate:eb,animObject:ev,stop:eM}=tU,{deg2rad:ek,doc:ew,svg:eS,SVG_NS:eA,win:eT,isFirefox:eP}=O,{addEvent:eC,attr:eO,createElement:eE,crisp:eL,css:eB,defined:eI,erase:eD,extend:eR,fireEvent:eN,getAlignFactor:ez,isArray:eW,isFunction:eG,isNumber:eH,isObject:eF,isString:eX,merge:eY,objectEach:ej,pick:eU,pInt:eV,pushUnique:e$,replaceNested:e_,syncTimeout:eq,uniqueKey:eZ}=tt;class eK{_defaultGetter(t){let e=eU(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||eX(i)?i||"renderer":void 0;a&&(n&&e$(r,this),i=void 0);let h=eU(i,o[a],o),l=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*ez(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*ez(t.verticalAlign),c={"text-align":t?.align};return c[e?"translateX":"x"]=Math.round(l),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ev(eU(e,this.renderer.globalAnimation,!0)),o=s.defer;return ew.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eq(()=>{this.element&&eb(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),ej(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&O.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ew.createElementNS(eA,"tspan");eO(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=ew.createElementNS(eA,"tspan");n.textContent="​",eO(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eK.symbolCustomAttribs,n,a,h=this,l;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(ej(t,function(e,i){l=!1,s||eM(this,i),this.symbolName&&-1!==r.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eZ()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eR(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=eL(i,e),a=eL(s,e);return eR(t,{x:n,y:a,width:eL(o,e)-n,height:eL(r,e)-a}),eI(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,h,l,d,c,p,u,g=[],f;eN(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eW(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eI(n.gradientUnits)&&(a=n,n=eY(n,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),ej(n,function(t,e){"id"!==e&&g.push(e,t)}),ej(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{n.id=u=eZ();let t=h[g]=s.createElement(r).attr(n).add(s.defs);t.radAttr=a,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tO.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&ej(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eR(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eV(t.width)),eR(this.styles,t),o&&!eS&&this.renderer.forExport&&delete t.width;let r=eP&&t.fontSize||null;r&&(eH(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=eY(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color)),eB(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eV(s[e])*eU(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,eM(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;ne&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:n,element:a,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=a.namespaceURI===this.SVG_NS,g=eU(e,this.rotation,0),f=h.styledMode?a&&eK.prototype.getStyle.call(a,"font-size"):l.fontSize;if(eI(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,n,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&eB(e,{display:t})},eG(o)&&o("none"),i=a.getBBox?eR({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},eG(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eN(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=ez(n),c=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*ek,u=(e-90)*ek,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,M],[k,w]]=[h,l].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,P=T-m,C=s+c-d*x-M+k+c*b,O=C+x,E=O-r*b,L=E-x,B=Math.min(S,A,T,P),I=Math.min(C,O,E,L),D=Math.max(S,A,T,P)-B,R=Math.max(C,O,E,L)-I;return{x:B,y:I,width:D,height:R,polygon:[[S,C],[A,O],[T,E],[P,L]]}}getStyle(t){return eT.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eA,this.element="span"===e||"body"===e?eE(e):ew.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eN(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eC(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eX(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eY(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eF(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eV(t):""!==t&&(eO(i=ew.createElementNS(eA,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eK.symbolCustomAttribs.forEach(function(i){e[i]=eU(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ew.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=e_(eU(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:n,scaleY:a,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eI(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eU(o,e.getAttribute("x"),0)+" "+eU(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eI(n)||eI(a))&&d.push("scale("+eU(n,1)+" "+eU(a,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,h,l,d=!1,c,p=this.added,u;if(eI(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eI(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!eI(l=(h=a[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(eV(l)<=t||c&&(!eI(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[n?3:0]),d=!0)}return d}}eK.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eK.prototype.strokeSetter=eK.prototype.fillSetter,eK.prototype.yGetter=eK.prototype.xGetter,eK.prototype.matrixSetter=eK.prototype.rotationOriginXSetter=eK.prototype.rotationOriginYSetter=eK.prototype.rotationSetter=eK.prototype.scaleXSetter=eK.prototype.scaleYSetter=eK.prototype.translateXSetter=eK.prototype.translateYSetter=eK.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eJ=eK,{defined:eQ,extend:e0,getAlignFactor:e1,isNumber:e2,merge:e3,pick:e5,removeEvent:e6}=tt;class e9 extends eJ{constructor(t,e,i,s,o,r,n,a,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e9.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=e1(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e2(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e3(t),e9.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eJ.prototype.css.call(this,t)}destroy(){e6(this.element,"mouseenter"),e6(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eJ.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=e5(this.paddingLeft,i),h=e??(this.rotation||0),l={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e5(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eQ(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e2(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e2(this.widthSetting)||!e2(this.heightSetting)||this.textAlign)&&eQ(e.textStr)?e.getBBox(void 0,0):e9.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e0(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+e1(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e2(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e5(this.paddingLeft,t),i=e5(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e9.emptyBBox={width:0,height:0,x:0,y:0},e9.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e4,isNumber:e8,pick:e7}=tt;function it(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=e7(o.r,i),h=e7(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(a,1)),d=Math.abs((o.end||0)-n-2*Math.PI)0&&h0)return l;if(t+a>i-n){if(h>e+n&&he+n&&h0){let i=hs&&an&&l.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return it(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:ie,roundedRect:ii,square:ie,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:io,SVG_NS:ir,win:ia}=O,{attr:ih,extend:il,fireEvent:id,isString:ic,objectEach:ip,pick:iu}=tt,ig=(t,e)=>t.substring(0,e)+"…",im=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=iu(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new t6(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),n&&n.removeChild(e)}}else e.appendChild(io.createTextNode(this.unescapeEntities(s)));ic(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=ih(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),ih(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===d&&c||0,s,l,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ig),t.textContent=t.textContent?.replace("…","")+"…");break}a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(io.createTextNode(e),t);let s=io.createElementNS(ir,"tspan");s.textContent="​",ih(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ig)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===ia.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===ia.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,h=this.renderer.styledMode;if("b"===a||"strong"===a?h?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(h?o.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),il(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),id(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),h=f(g,a&&a.length-1),p===u?p=u+1:h>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ig)}i&&i.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ip(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:ix}=tS,{charts:iy,deg2rad:ib,doc:iv,isFirefox:iM,isMS:ik,isWebKit:iw,noop:iS,SVG_NS:iA,symbolSizes:iT,win:iP}=O,{addEvent:iC,attr:iO,createElement:iE,crisp:iL,css:iB,defined:iI,destroyObjectProperties:iD,extend:iR,isArray:iN,isNumber:iz,isObject:iW,isString:iG,merge:iH,pick:iF,pInt:iX,replaceNested:iY,uniqueKey:ij}=tt;class iU{constructor(t,e,i,s,o,r,n){let a,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;n||l.css(this.getStyle(s||{})),t.appendChild(d),iO(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iO(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(iv.createTextNode("Created with Highcharts 12.1.1")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),iM&&t.getBoundingClientRect&&((a=function(){iB(t,{left:0,top:0}),h=t.getBoundingClientRect(),iB(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iC(iP,"resize",a))}definition(t){return new t6([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iM||iw)&&iv.getElementsByTagName("base").length){if(!iI(e)){let t=ij(),i=new t6([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(iv.body);iB(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=iv.elementFromPoint(6,6);e="hitme"===(s&&s.id),iv.body.removeChild(i)}if(e)return iY(iP.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iR({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iD(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iH({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new im(t).buildSVG()}getContrast(t){let e=tO.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,n,a,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iH(ix.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t6.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iH(m[0],t6.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iC(d.element,ik?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iC(d.element,ik?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iW(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iR({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iI(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iL(i[1],e)),iI(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iL(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iN(t)?e.d=t:iW(t)&&iR(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iW(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;iW(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=iW(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,iR(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,iO(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iF(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};iz(e)&&(n.x=e),iz(i)&&(n.y=i),iz(s)&&(n.width=s),iz(o)&&(n.height=o);let a=this.createElement("image").attr(n),h=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iP.Image;iC(e,"load",h),e.src=t,e.complete&&h({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),iR(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iR(n,r);else if(p){h=t.match(c)[1];let s=n=this.image(h);s.imgwidth=iF(r&&r.width,iT[h]&&iT[h].width),s.imgheight=iF(r&&r.height,iT[h]&&iT[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:h}=this,l="width"===e?a:h,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&h?(d=Math.min(o/a,n/h),iO(s,{width:Math.round(a*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&a&&h&&this.translate(((o||0)-a*d)/2,((n||0)-h*d)/2)}}),iI(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iI(s.imgwidth)&&iI(s.imgheight)?l(s):(s.attr({width:0,height:0}),iE("img",{onload:function(){let t=iy[d.chartIndex];0===this.width&&(iB(this,{position:"absolute",top:"-999em"}),iv.body.appendChild(this)),iT[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iI(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iR(iU.prototype,{Element:eJ,SVG_NS:iA,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:is,draw:iS}),eu.registerRendererType("svg",iU,!0);let{composed:iV}=O,{attr:i$,css:i_,createElement:iq,defined:iZ,extend:iK,getAlignFactor:iJ,isNumber:iQ,pInt:i0,pushUnique:i1}=tt;function i2(t,e,i){let s=this.div?.style||i.style;eJ.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i3=(t,e)=>{if(!t.div){let i=i$(t.element,"class"),s=t.css,o=iq("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i2,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eJ.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i5 extends eJ{static compose(t){i1(iV,this.compose)&&(t.prototype.html=function(t,e,i){return new i5(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i0(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iQ(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iK(this.styles,t),i_(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:n,styles:a,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:f}=a;if(i_(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let a;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(i_(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(i_(t,{width:e>s||i||r?l+"px":"auto",display:g,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(a=e.fontMetrics(t).b,iZ(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iZ(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,a,iJ(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${u+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??u)-x-u-c}px`};(r||n)&&(y.transform=`scale(${r??1},${n??1})`),i_(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){i_(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i3(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t6.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i6=i5.prototype;i6.visibilitySetter=i6.opacitySetter=i2,i6.ySetter=i6.rotationSetter=i6.rotationOriginXSetter=i6.rotationOriginYSetter=i6.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(h||(h={}));let i9=h,{addEvent:i4,isFunction:i8,objectEach:i7,removeEvent:st}=tt;(l||(l={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i7(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(st(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i8(e)&&(t.eventOptions[i]=e,i4(t,i,e,{order:0})))})};let se=l,{deg2rad:si}=O,{clamp:ss,correctFloat:so,defined:sr,destroyObjectProperties:sn,extend:sa,fireEvent:sh,getAlignFactor:sl,isNumber:sd,merge:sc,objectEach:sp,pick:su}=tt,sg=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sh(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,n=e.names,a=t.pos,h=su(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=a===l[0],c=a===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?su(o[a],n[a],a):a);r&&sd(y)&&(y=so(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[a]||u.unitName])).main:sd(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:a,tick:t,tickPositionInfo:u,value:y};sh(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),ep.format(h.format,t,s)):e.defaultLabelFormatter.call(t),M=v.call(b,b),k=m&&m.list;k?t.shortenLabel=function(){for(x=0;x0&&s+d*c>a&&(x=Math.round((o-s)/Math.cos(l*si))):(f=s-d*c,m=s+(1-d)*c,fa&&(u=a-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(h.styles||{}).width)&&(x=u)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(sa({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sp(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=su(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),h=a.x,l=a.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(so(p)c)&&(i=0);let u=su(i,this.label&&this.label.newOpacity,1);i=su(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,sh(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=su(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),n||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+a,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,h=t.y,l=su(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(a,h,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,h=n.labels,l=h.step,d=su(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;a&&sd(c)&&(a.xy=t=this.getLabelPosition(c,p,a,r,h,d,s,l),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):u=!1,l&&s%l&&(u=!1),u&&sd(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sf}=tU,{xAxis:sm,yAxis:sx}=i9,{defaultOptions:sy}=tS,{registerEventOptions:sb}=se,{deg2rad:sv}=O,{arrayMax:sM,arrayMin:sk,clamp:sw,correctFloat:sS,defined:sA,destroyObjectProperties:sT,erase:sP,error:sC,extend:sO,fireEvent:sE,getClosestDistance:sL,insertItem:sB,isArray:sI,isNumber:sD,isString:sR,merge:sN,normalizeTickInterval:sz,objectEach:sW,pick:sG,relativeLength:sH,removeEvent:sF,splat:sX,syncTimeout:sY}=tt,sj=(t,e)=>sz(e,void 0,void 0,sG(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sO(sy,{xAxis:sm,yAxis:sN(sm,sx)});class sU{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sE(this,"init",{userOptions:e}),this.opposite=sG(e.opposite,this.opposite),this.side=sG(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sE(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sG(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sI(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sA(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=sG(r.crosshair,sX(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sB(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sA(this.reversed)&&(this.reversed=!0),this.labelRotation=sD(n.rotation)?n.rotation:void 0,sb(this,r),sE(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sN(e,sy[this.coll],t),sE(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sD(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,n=sy.lang,a=n.numericSymbols,h=n.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=a&&a.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&a&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==a[d]&&0!==i&&(p=e(i/c,-1)+a[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sE(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,sD(n)||n instanceof Date||(o=o.filter(sD),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(sG(e.dataMin,n),n),e.dataMax=Math.max(sG(e.dataMax,a),a)));else{let t=i.applyExtremes();sD(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(sG(e.dataMin,n),n)),sD(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(sG(e.dataMax,a),a)),sA(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sE(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!sD(a))return NaN;let h=n.minPixelPadding,l=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-h)/p+a,l&&(u=n.lin2val(u))):(l&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*h+(sD(r)?p*r:0),n.isRadial||(u=sS(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sw(t,e,i):x=!0),t}let b={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sE(this,"getPlotLinePath",b,function(t){u=f=(c=sw(c=sG(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=m=h-c-d,sD(c)?e.horiz?(g=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=l-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],a||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let n=sS(Math.floor(e/t)*t),a=sS(Math.ceil(i/t)*t),h=[];if(sS(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(h.push(s),(s=sS(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sG(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,a=[],h;if(n&&n/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sD(s)&&sD(o)&&sD(r)&&s-o=r,n=(r-s+o)/2,h=[o-n,i.parse(t.min)??o-n],a&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sM(h))+r,i.parse(t.max)??o+r],a&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sk(l))-ot-e),t=sL([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sI(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sA(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sG(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sD(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,h=0,l,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sG(e.options.pointRange,n,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&sR(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&n&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,sE(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sD(t)&&sD(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:h,softThreshold:l}=this,d=i.time,c=sD(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=h,y=sD(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,M=h.minPadding,k=0,w,S=sD(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,P,C;if(r||e||y||this.getTickAmount(),P=sG(this.userMin,d.parse(h.min)),C=sG(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sG(w.min,w.dataMin),this.max=sG(w.max,w.dataMax),this.type!==y.type&&sC(11,!0,i)):(l&&sA(c)&&sD(s)&&sD(o)&&(o>=c?(A=c,M=0):s<=c&&(T=c,v=0)),this.min=sG(P,A,o),this.max=sG(C,T,s)),sD(this.max)&&sD(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sG(o,this.min))&&sC(10,!0,i),this.min=sS(a.log2lin(this.min),16),this.max=sS(a.log2lin(this.max),16)),this.range&&sD(o)&&(this.userMin=this.min=P=Math.max(o,this.minFromRange()||0),this.userMax=C=this.max,this.range=void 0)),sE(this,"foundExtremes"),this.adjustForMinRange(),sD(this.min)&&sD(this.max)){if(!sD(this.userMin)&&sD(x)&&xthis.max&&(this.max=C=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(k=this.max-this.min)||(!sA(P)&&M&&(this.min-=k*M),sA(C)||!v||(this.max+=k*v)),!sD(this.userMin)&&sD(g)&&(this.min=Math.max(this.min,g)),!sD(this.userMax)&&sD(u)&&(this.max=Math.min(this.max,u)),l&&sD(o)&&sD(s)){let t=c||0;!sA(P)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sA(C)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sA(h.min)?this.max=this.min:sA(h.max)&&(this.min=this.max)),k=this.max-this.min}if(this.min!==this.max&&sD(this.min)&&sD(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sG(S,this.tickAmount?k/Math.max(this.tickAmount-1,1):void 0,e?1:k*b/Math.max(this.len,b)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sE(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sE(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=sG(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))a=[this.min,this.max],sC(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=sj(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(h=i.apply(this,[this.min,this.max]))&&(a=h))}this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&sD(this.min)&&sD(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sE(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sE(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);sD(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sD(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sD(this.threshold)){let t=sw((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sA(t.tickInterval)||i||!(this.lenr.push(sS(r[r.length-1]+p)),f=()=>r.unshift(sS(r[0]-p));if(sD(a)&&(u=a<.5?Math.ceil(a*(n-1)):Math.floor(a*(n-1)),o.reversed&&(u=n-1-u)),t.hasData()&&sD(s)&&sD(i)){let a=()=>{t.transA*=(h-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sD(u)&&sD(t.threshold)){for(;r[u]!==l||r.length!==n||r[0]>s||r[r.length-1]t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sE(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sE(this,"setExtremes",o=sO(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sH(sG(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sH(sG(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(sH(sG(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(sH(sG(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?sS(t.lin2log(this.min)):this.min,max:t?sS(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sG(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sE(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,n=sS(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),sS(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sD(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(n/Math.sin(sv*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0:a&&(p=h),l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,n={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sO(n,{width:`${p}px`,lineClamp:u})):!i.styles.width||n.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sA(this.min)&&sA(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(sN(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sg(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sD(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,M,k;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sG(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sW(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sA(y=d.offset)?0:sG(d.margin,i?5:10))),t.renderLine(),t.offset=f*sG(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},k=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M-=k,M+=f*(i?sG(c.y,t.tickRotCorr.y+f*c.distance):sG(c.x,f*c.distance))),t.axisTitleMargin=sG(y,M),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,M,n&&n.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[h]=Math.max(g[h],i)}sE(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+l:g+(a?this.width:0)+h+l,y:e?g+d-(a?this.height:0)+h:u+d};return sE(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sg(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sg(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sf(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sW(t,function(t){t.isActive=!1})}),sD(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&sD(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sg(i,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(r,n){e=void 0!==h[n+1]?h[n+1]+m:i.max-m,n%2==0&&r=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&a.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():n.tickInterval,c=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sJ(t=sQ("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),a=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(c||(c={}));let s0=c,{erase:s1,extend:s2,isNumber:s3}=tt;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,n=!s3(this.min)||!s3(this.max)||tthis.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(a&&s)for(n&&(d=a.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s5.compose(or,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){oe(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=s8(c)&&s8(d),v=s8(p),M=!m,k={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(k.stroke=o||"#999999",k["stroke-width"]=oo(e.width,1),e.dashStyle&&(k.dashstyle=e.dashStyle)):b&&(k.fill=o||"#e6e9ff",u&&(k.stroke=e.borderColor,k["stroke-width"]=u))),l.zIndex=n,w+="-"+n,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=a.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=a.path().attr(k).add(y)),s8(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s8(c)&&s8(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(os(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(s8(g.text)||s8(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=oi({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,n)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(oi({fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s4(h),c=s4(l),p=s9(h)-d;a.align(t,!1,{x:d,y:c,width:p,height:s9(l)-c}),(!a.alignValue||"left"===a.alignValue||s8(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(a.alignAttr.x-o.left)))+"px"}),a.show(!0)}getLabelText(t){return s8(t.formatter)?t.formatter.call(this):t.text}destroy(){ot(this.axis.plotLinesAndBands,this),delete this.axis,s7(this)}}let{animObject:on}=tU,{format:oa}=ep,{composed:oh,dateFormats:ol,doc:od,isSafari:oc}=O,{distribute:op}=ey,{addEvent:ou,clamp:og,css:of,discardElement:om,extend:ox,fireEvent:oy,isArray:ob,isNumber:ov,isObject:oM,isString:ok,merge:ow,pick:oS,pushUnique:oA,splat:oT,syncTimeout:oP}=tt;class oC{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oT(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),om(this.container)),tt.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if((t=oT(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+oS(t.colorIndex,o.colorIndex),r&&r.className].filter(ok).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=eu.getRendererType();this.container=n=O.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),of(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return n&&!n.parentElement&&O.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=od,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?y(t):b(e),n?x.left-s+y(c+h):x.top-s+b(p+l),0,n?m:f]:[n?t:e,n?c+h:p+l,n?h:l,n?h+o.plotWidth:l+o.plotHeight])},M=v("y"),k=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&oS(i.ttBelow,!d&&!a===S),T=function(t,e,i,o,n,a,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+g)}},P=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},C=function(t){[M,k]=[k,M],w=t},O=()=>{!1!==T.apply(0,M)?!1!==P.apply(0,k)||w||(C(!0),O()):w?u.x=u.y=0:(C(!0),O())};return(a&&!d||this.len>1)&&C(),O(),u}hide(t){let e=this;tt.clearTimeout(this.hideTimer),t=oS(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oP(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=oS(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=on(!o.isHidden&&o.options.animation),n=o.followPointer||(o.len||0)>1,a={x:t,y:e};n||(a.anchorX=i,a.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(a,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,n=oT(t),a=n[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!a.series)return;tt.clearTimeout(this.hideTimer),this.allowShared=!(!ob(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(n),n.forEach(t=>t.setState("hover")),a.points=n),this.len=n.length;let f=ok(h)?oa(h,a,i):l.call(a,this);a.points=void 0;let m=a.series;if(this.distance=oS(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,n);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(a),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:og(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||a.color||m.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:a.negative,ttBelow:a.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}oy(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?od.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,M=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:k,top:w}=f.getChartPosition(),S=h+x,A=0,T=n-l;function P(t,e,s,o,r=!0){let n,a;return s?(n=M?0:T,a=og(t-o/2,y.left,y.right-o-(i.outside?k:0))):(n=e-S,a=og(a=r?t-o-p:t+p,r?a:y.left,y.right)),{x:a,y:n}}ok(t)&&(t=[!1,t]);let C=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,M&&(S-=A));let{anchorX:k,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(a+o,a),i=h+n/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+og(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=og(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=g?g.call(i,x,e,r):P(k,w,l,x);t.push({align:g?0:void 0,anchorX:k,anchorY:w,boxWidth:x,point:r,rank:oS(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!g&&C.some(t=>{let{outside:e}=i,s=(e?k:0)+t.anchorX;return ss})&&(C=C.map(t=>{let{x:e,y:i}=P(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return ox(t,{target:i,x:e})})),i.cleanSplit(),op(C,T);let O={left:k,right:k};C.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&k+eO.right&&(O.right=k+e))}),C.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(O.right-O.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:E,outside:L,renderer:B}=i;if(L&&E&&B){let{width:t,height:e,x:i,y:s}=b.getBBox();B.setSize(t+i,e+s,!1),E.style.left=O.left+"px",E.style.top=w+"px"}oc&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return oy(this,"headerFormatter",n,function(e){if(r&&!a&&ov(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(oM(a)){let t=a;ol[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=oa(h,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,ow(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,h,a,t),g=O.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;n&&i&&(o.positioner&&(u.x+=l-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,n.setSize(og(h+x,0,g.documentElement.clientWidth)-1,a+x,!1),(1!==c||1!==p)&&(of(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-u.x,m+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),f,m)}}!function(t){t.compose=function(e){oA(oh,"Core.Tooltip")&&ou(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oC||(oC={}));let oO=oC,{animObject:oE}=tU,{defaultOptions:oL}=tS,{format:oB}=ep,{addEvent:oI,crisp:oD,erase:oR,extend:oN,fireEvent:oz,getNestedProperty:oW,isArray:oG,isFunction:oH,isNumber:oF,isObject:oX,merge:oY,pick:oj,syncTimeout:oU,removeEvent:oV,uniqueKey:o$}=tt;class o_{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oN({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oN(this,t=o_.prototype.optionsToObject.call(this,t)),this.options=this.options?oN(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=o_.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oF(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oF(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oE(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oV(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oR(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oU(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oz(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oW(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=o$()),this.resolveColor(),t.chart.pointCount++,oz(this,"afterInit")}isValid(){return(oF(this.x)||this.x instanceof Date)&&oF(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,h=0;if(oF(t)||null===t)r[s[0]]=t;else if(oG(t))for(!i&&t.length>o&&("string"==(n=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);h0?o_.prototype.setNestedProperty(r,t[a],s[h]):r[s[h]]=t[a]),a++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,h=0;if(oF(i)&&oF(e))return t&&(a=r?r.pos:o.plotLeft,h=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+h,r.len-i+a]:[i+a,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=oj(this.options.colorIndex,n),this.color=oj(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oX(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oB(t,this,e)}update(t,e,i,s){let o;let r=this,n=r.series,a=r.graphic,h=n.chart,l=n.options;function d(){r.applyOptions(t);let s=a&&r.hasMockGraphic,d=null===r.y?!s:s;a&&d&&(r.graphic=a.destroy(),delete r.hasMockGraphic),oX(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of n.dataColumnKeys())c[t]=r[t];n.dataTable.setRow(c,o),l.data[o]=oX(l.data[o],!0)||oX(t,!0)?r.options:oj(t,l.data[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oj(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oj(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oY(this.series.options.point,this.options),i=e.events?.[t];oH(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oI(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oV(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oL.plotOptions[i.type].marker&&i.options.marker,n=r&&!1===r.enabled,a=r&&r.states&&r.states[t||"normal"]||{},h=!1===a.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||n&&!1===a.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=oj(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oF(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,oj(d.options.chart.animation,a.animation,r.animation)),m&&m.hide()}else t&&a&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oY(r,a)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oj(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oN({fill:this.color||i.color,"fill-opacity":y.opacity},t6.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oz(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oD(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oq=o_,{parse:oZ}=tO,{charts:oK,composed:oJ,isTouchDevice:oQ}=O,{addEvent:o0,attr:o1,css:o2,extend:o3,find:o5,fireEvent:o6,isNumber:o9,isObject:o4,objectEach:o8,offset:o7,pick:rt,pushUnique:re,splat:ri}=tt;class rs{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!O.chartCount&&(rs.unbindDocumentMouseUp.forEach(t=>t.unbind()),rs.unbindDocumentMouseUp.length=0,rs.unbindDocumentTouchEnd&&(rs.unbindDocumentTouchEnd=rs.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o8(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o6(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=n?1:o.plotHeight,r&&(s=t-a,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+a),n&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o4(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(ua+l&&(u=a+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-a,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:n||oZ("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o6(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o9(i.index)&&(this.selectionMarker=s.destroy())}i&&o9(i.index)&&(o2(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o4(r,!0)&&r.series&&(!o4(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&o9(o.x)&&o9(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o7(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&rt(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o6(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o5(t.points,function(t){return t.x===c.x&&!t.isNull});o4(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),n.push(e))}):n.push(c)),o6(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o1(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o6(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):rt(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o3(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o6(i.series,"click",o3(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o3(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o6(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),O.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oK[rt(rs.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oK[rt(rs.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===n&&rt(h?.options.followTouchMove,!0);n>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(o6(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n&&n.shared?r:o;t&&a&&ri(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&ri(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,h=a&&a.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(a,h,o,l,n,t);a=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=n&&h&&!h.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=c,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?c:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o0(s.container.ownerDocument,"mousemove",t=>oK[rs.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=rt((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o5(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o0(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o0(t,"mouseleave",this.onContainerMouseLeave.bind(this))),rs.unbindDocumentMouseUp.some(t=>t.doc===e)||rs.unbindDocumentMouseUp.push({doc:e,unbind:o0(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o0(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o0(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o0(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),rs.unbindDocumentTouchEnd||(rs.unbindDocumentTouchEnd=o0(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o0(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oQ)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=rt(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o0(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o0(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o2(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o2(i,{"touch-action":rt(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=O.charts[rt(rs.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(rs.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),rt(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=rt(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}rs.unbindDocumentMouseUp=[],function(t){t.compose=function(e){re(oJ,"Core.Pointer")&&o0(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(rs||(rs={}));let ro=rs,{fireEvent:rr,isArray:rn,objectEach:ra,uniqueKey:rh}=tt,rl=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||rh(),this.modified=this,this.rowCount=0,this.versionTag=rh();let e=0;ra(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ra(this.columns,e=>{rn(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ra(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(rr(this,"afterSetColumns"),this.versionTag=rh())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;ra(t,(t,n)=>{let a=o[n]||s?.addColumns!==!1&&Array(r);a&&(i?a.splice(e,0,t):a[e]=t,o[n]=a)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(rr(this,"afterSetRows"),this.versionTag=rh())}},{extend:rd,merge:rc,pick:rp}=tt;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:n=0,symbolWidth:a,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=n-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){let t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,n],["L",x,n]]})}if(m&&!1!==m.enabled&&a){let t=Math.min(rp(m.radius,d),d);0===l.indexOf("url")&&(m=rc(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,a/2-t,u-t,2*t,2*t,rd({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,n=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,n,o,rp(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(u||(u={}));let ru=u,{defaultOptions:rg}=tS,{extend:rf,extendClass:rm,merge:rx}=tt;!function(t){function e(e,i){let s=rg.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oq),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=O.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,n){let a=rg.plotOptions||{};if(s=s||"",a[i]=rx(a[s],o),delete t.seriesTypes[i],e(i,rm(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,n){class e extends oq{}rf(e.prototype,n),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(g||(g={}));let ry=g,{animObject:rb,setAnimation:rv}=tU,{defaultOptions:rM}=tS,{registerEventOptions:rk}=se,{svg:rw,win:rS}=O,{seriesTypes:rA}=ry,{arrayMax:rT,arrayMin:rP,clamp:rC,correctFloat:rO,crisp:rE,defined:rL,destroyObjectProperties:rB,diffObjects:rI,erase:rD,error:rR,extend:rN,find:rz,fireEvent:rW,getClosestDistance:rG,getNestedProperty:rH,insertItem:rF,isArray:rX,isNumber:rY,isString:rj,merge:rU,objectEach:rV,pick:r$,removeEvent:r_,syncTimeout:rq}=tt;class rZ{constructor(){this.zoneAxis="y"}init(t,e){let i;rW(this,"init",{options:e}),this.dataTable??(this.dataTable=new rl);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rN(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rk(this,o);let n=o.events;(n&&n.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=r$(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rF(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rW(this,"afterInit")}is(t){return rA[t]&&this instanceof rA[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rW(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(r$(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rF(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rR(18,!0,s)})}),rW(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=r$(this.pointInterval,i.pointInterval,1),o&&rY(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&rY(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;rN(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rL(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rU(t),n=i.styledMode,a={plotOptions:s,userOptions:r};rW(this,"setOptions",a);let h=a.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rM.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=a.userOptions;let u=rU(h,s.series,p,r);this.tooltipOptions=rU(rM.tooltip,rM.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=r$(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===h.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rL(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),rW(this,"afterSetOptions",{options:u}),u}getName(){return r$(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,n=`${t}Index`,a=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rL(o=r$("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%h,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rM.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,n=t.x,a=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oq&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rz(a,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rY(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rY(o)&&a[o]&&a[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],n=this.requireSorting,a=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rL(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rY(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,n&&(c=l+1)):o[l]&&(o[l].touched=!0),(!a||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!a||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rT(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,n=this.options,a=this.chart,h=n.dataSorting,l=this.xAxis,d=n.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=n.keys,m,x,y=0,b=1,v;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rU(!0,t));let M=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),a.options.chart.allowMutatingData&&!1!==s&&M&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&M>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,M-1,-1),o=t=>!!(rX(t)&&(f||rY(t[0])));if(rY(i)&&rY(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rH(i,t),o=rH(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||l>n||e.forceCrop)&&(m[l-1]f?x=new rl:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rG([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rR(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rW(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,h=0,l=o;for(n=0;n=e){h=Math.max(0,n-1);break}for(a=n;ai){l=a+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rl({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?n:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,f,m,x,y=this.data,b;if(!y&&!a){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&a&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rY(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rP(d),dataMax:rT(d)};return rW(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rV(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rW(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=r$(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,h,l=r$(o.radius,s&&s.radius);e&&(a=s.states[e],l=r$((h=o.states&&o.states[e])&&h.radius,a&&a.radius,l&&l+(a&&a.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rY(l)&&d&&(i.crisp&&(d[0]=rE(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-l,n.y=d[1]-l),l&&(n.width=n.height=2*l),n}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,n=t&&t.color,a=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,u=r$(o.lineWidth,i.lineWidth),g=1;return d=r||a||n||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=r$((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,u+r$(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":u,fill:c,opacity:g=r$(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,n=/AppleWebKit\/533/.test(rS.navigator.userAgent),a=o.data||[];for(rW(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rD(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let t of o.zones)rB(t,void 0,!0);tt.clearTimeout(o.animationTimeout),rV(o,function(t,e){t instanceof eJ&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rD(r.series,o),r.orderItems("series"),rV(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:h,renderer:l}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rC(d.toPixels(r$(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,u=0,f=r.len,y=n.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(g(v),t&&g(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return rL(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rL(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||r_(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rb(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rW(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rq(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rW(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rq(function(){e.kdTree=function t(i,s,o){let r,n;let a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rw?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rW(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n;let a=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=a.data,g=this.getColumn("x");e=r$(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&mm;)n--;d.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,u,...Object.values(d.getColumns())].filter(rL).forEach(t=>{t.shift()}),d.rowCount-=1,rW(d,"afterDeleteRows"))),!1!==o&&rW(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,h=r[t],l=function(){[n?.length===r.length?n:void 0,r,s.options.data,...Object.values(a.getColumns())].filter(rL).forEach(e=>{e.splice(t,1)}),a.rowCount-=1,rW(a,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rv(i,o),e=r$(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),r$(t,!0)&&r.redraw(e)}!1!==i?rW(o,"remove",null,n):n()}update(t,e){rW(this,"update",{options:t=rI(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=rA[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rN(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rU(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rA[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rA[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;rN(i,rA[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rR(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rW(this,"afterUpdate"),r$(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=r$(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rL(r)?i!==o:i!==r$(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rW(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rW(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,n=s.states,a=r$(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(h=n[t].lineWidth||h+(n[t].lineWidthPlus||0),l=r$(n[t].opacity,l)),o&&!o.dashstyle&&rY(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rW(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rW(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){ru[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rZ.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rZ.types=ry.seriesTypes,rZ.registerType=ry.registerSeriesType,rN(rZ.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oq,requireSorting:!0,sorted:!0}),ry.series=rZ;let rK=rZ,{animObject:rJ,setAnimation:rQ}=tU,{registerEventOptions:r0}=se,{composed:r1,marginNames:r2}=O,{distribute:r3}=ey,{format:r5}=ep,{addEvent:r6,createElement:r9,css:r4,defined:r8,discardElement:r7,find:nt,fireEvent:ne,isNumber:ni,merge:ns,pick:no,pushUnique:nr,relativeLength:nn,stableSort:na,syncTimeout:nh}=tt;class nl{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r0(this,e),r6(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r6(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=no(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ns(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=no(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ns(!0,this.options,t)),"events"in this.options&&r0(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,no(e,!0)&&i.redraw(),ne(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof rK||t instanceof oq)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ns(e?this.itemStyle:i)),n?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,ne(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e&&e.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[r8(e.translateY)?"animate":"attr"](o,void 0,()=>{ne(this,"afterPositionItem",{item:t})})}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r7(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,r4(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?no(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&no(i.showInLegend,!r8(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),ne(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(o)&&!r8(t[n])&&(i[r2[n]]=Math.max(i[r2[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+no(s.margin,12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,h;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=nt(n?t.points:t.points.slice(0).reverse(),function(t){return ni(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),r3(i,e.plotHeight)))t=o.item.legendItem||{},ni(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,n,a,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=nn(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),na(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),n=(this.widthOption||this.offsetWidth)+s,a=this.lastItemY+this.lastLineHeight+this.titleHeight,a=this.handleOverflow(a)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),n>0&&a>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:n,height:a},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(n=a=0),this.legendWidth=n,this.legendHeight=a,r&&this.align(),this.proximate||this.positionItems(),ne(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ns(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ns(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,h=o.maxHeight,l=o.navigation,d=no(l.animation,!0),c=l.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?M.attr({height:t}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(n?-r:r)-a,v=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-a,0),this.currentPage=no(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),M||(M=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(M)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&rQ(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),nh(()=>{ne(this,"afterScroll",{currentPage:l})},rJ(no(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof oq,a=t instanceof rK,h="highcharts-legend-"+(n?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ns(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),ne(s,"itemClick",{browserEvent:e,legendItem:t},i),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&ne(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r9("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r6(t.checkbox,"click",function(e){let i=e.target;ne(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){nr(r1,"Core.Legend")&&r6(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(nl||(nl={}));let nd=nl,{animate:nc,animObject:np,setAnimation:nu}=tU,{defaultOptions:ng}=tS,{numberFormat:nf}=ep,{registerEventOptions:nm}=se,{charts:nx,doc:ny,marginNames:nb,svg:nv,win:nM}=O,{seriesTypes:nk}=ry,{addEvent:nw,attr:nS,createElement:nA,css:nT,defined:nP,diffObjects:nC,discardElement:nO,erase:nE,error:nL,extend:nB,find:nI,fireEvent:nD,getAlignFactor:nR,getStyle:nN,isArray:nz,isNumber:nW,isObject:nG,isString:nH,merge:nF,objectEach:nX,pick:nY,pInt:nj,relativeLength:nU,removeEvent:nV,splat:n$,syncTimeout:n_,uniqueKey:nq}=tt;class nZ{static chart(t,e,i){return new nZ(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(nH(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:nY(t.zoomType,e.type),key:nY(t.zoomKey,e.key),pinchType:nY(t.pinchType,e.pinchType),singleTouch:nY(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:nF(e.resetButton,t.resetZoomButton)}}init(t,e){nD(this,"init",{args:arguments},function(){let i=nF(ng,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=nB({},t),(this.renderTo=nH(o)?ny.getElementById(o):o)||nL(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new ty(nB(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||nf).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=nx.length,nx.push(this),O.chartCount++,nm(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),nD(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=nk[i];s||nL(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=n$(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?n$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(l+n,t.pos)&&e<=Math.min(l+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return nD(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){nD(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),nu(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&nD(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){nD(t,"afterSetExtremes",nB(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),nD(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),nD(this,"redraw"),nD(this,"render"),a&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=nI(this.axes,i)||nI(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{nY(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=nF(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(nB("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=nF(o),a=i?.textPxLength||0;if(i&&r){nD(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=nF({y:"bottom"===d?h:u+h},{align:"title"===t?gp?this.chartWidth:n.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*nR(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,nD(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:nN(this.renderTo,"width",!0)||0,height:nN(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,nU(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(nT(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ny.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ny.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ny.body.appendChild(e)),("none"===nN(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),nT(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ny.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=nq(),r=this.renderTo,n=nj(nS(r,s));nW(n)&&nx[n]&&nx[n].hasRendered&&nx[n].destroy(),nS(r,s,this.index),r.innerHTML=t6.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,h=this.chartWidth;nT(r,{overflow:"hidden"}),this.styledMode||(t=nB({position:"relative",overflow:"hidden",width:h+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=nA("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||nT(l,{width:nY(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!nv?eu.getRendererType(i.renderer):iU;if(this.renderer=new d(l,h,a,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),nu(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,nD(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!nP(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!nP(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),nD(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),nb.forEach(function(i,o){nP(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return nC(this.userOptions,ng)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(tt.clearTimeout(e.reflowTimeout),e.reflowTimeout=n_(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=nw(nM,"resize",e);nw(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,nu(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?nc:nT)(s.container,{width:`${n+h}px`,height:`${a+l}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,nD(s,"resize"),setTimeout(()=>{s&&nD(s,"endResize")},np(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:n,inverted:a,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:n-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),nD(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){nD(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=nG(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=nY(e[i+s],o[r])})}),nb.forEach(function(e,i){t[e]=nY(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:n||"none"},(b||m["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),m.attr(M).shadow(t.shadow)),m[k]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,nD(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=nk[o.type],i=o[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=nk[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(nH(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=nY(t.options.visible,s.options.visible,t.visible))}}),nD(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,h=0;for(let e of(this.setTitle(),nD(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sg(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&nY(i.reserveSpace,!nW(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&h(h?1:1.1),a=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=nF(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(nM.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(nD(e,"destroy"),e.renderer.forExport?nE(nx,e):nx[e.index]=void 0,O.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),nV(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t6.emptyHTML,nV(o),r&&nO(o)),nX(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=nz(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),nD(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),nD(this,"load"),nD(this,"render"),nP(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),nD(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),nT(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=nY(n[x],t.len),v=nY(s[x],t.len),M=10>Math.abs(b)?1:b/v,k=(s[y]||0)+v/2-t.pos,w=k-((n[y]??t.pos)+b/2-t.pos)/M,S=m&&!h||!m&&h?-1:1;if(!o&&(k<0||k>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:g*S),T=t.toValue(w+u/M,!0)-(r||t.isOrdinal?0:g*S||0),P=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===M&&!o&&"yAxis"===t.coll&&!P){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);P??(P={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),nW(t.dataMin)&&nW(t.dataMax)&&(P.dataMin=Math.min(t.dataMin,P.dataMin),P.dataMax=Math.max(t.dataMax,P.dataMax))}t.allExtremes=P}let{dataMin:C,dataMax:O,min:E,max:L}=nB(t.getExtremes(),P||{}),B=l.parse(f.min),I=l.parse(f.max),D=C??B,R=O??I,N=T-A,z=t.categories?0:Math.min(N,R-D),W=D-z*(nP(B)?0:f.minPadding),G=R+z*(nP(I)?0:f.maxPadding),H=t.allowZoomOutside||1===M||"zoom"!==a&&M>1,F=Math.min(B??W,W,H?E:W),X=Math.max(I??G,G,H?L:G);(!t.isOrdinal||t.options.overscroll||1!==M||o)&&(A=1&&(T=A+N)),T>X&&(T=X,M>=1&&(A=T-N)),(o||t.series.length&&(A!==E||T!==L)&&A>=F&&T<=X)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==a,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:a,scale:M}),!o&&(A>F||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),d}}nB(nZ.prototype,{callbacks:[],collectionsWithInit:{xAxis:[nZ.prototype.addAxis,[!0]],yAxis:[nZ.prototype.addAxis,[!1]],series:[nZ.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let nK=nZ,{stop:nJ}=tU,{composed:nQ}=O,{addEvent:n0,createElement:n1,css:n2,defined:n3,erase:n5,merge:n6,pushUnique:n9}=tt;function n4(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new n7(this)),t?.applyFixed()}function n8(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class n7{static compose(t,e,i){n9(nQ,this.compose)&&(n0(t,"afterInit",n8),n0(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),n0(e,"render",n4),n0(i,"show",n8))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=n6(t.plotBox),h.width=t.plotWidth+=i,a[l?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),n3(s)&&(t.scrollablePlotBox=n6(t.plotBox),h.height=t.plotHeight+=s,a[l?"width":"height"]+=s,o=!1)),n3(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=eu.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;let a=this.parentDiv=n1("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=n1("div",{className:"highcharts-scrolling"},n,a),l=this.innerContainer=n1("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=n1("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),n2(t.renderTo,{overflow:"visible"}),n0(t,"afterShowResetZoom",r),n0(t,"afterApplyDrilldown",r),n0(t,"afterLayOutTitles",r),n0(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),nJ(t.container),n2(a,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),n2(s,{width:`${r}px`,height:`${n}px`}),n3(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,M=l+c+o[1]+1,k=l+c-p,w=d+h-u,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",k,y],["L",r,y],["L",r,v],["L",k,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,w],["L",b,n],["L",M,n],["L",M,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=n7.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])n9(n,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])n5(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}n7.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:at}=ep,{series:ae}=ry,{destroyObjectProperties:ai,fireEvent:as,getAlignFactor:ao,isNumber:ar,pick:an}=tt,aa=class{constructor(t,e,i,s,o){let r=t.chart.inverted,n=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){ai(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?at(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:an(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,as(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:h,options:l,textAlign:d}=this,c=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===an(l.overflow,"justify"),s;n.x=l.x||0,n.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(n,!1,p),(s=c.isInsidePlot(h.alignAttr.x+n.x+o,h.alignAttr.y+n.y+r))||(i=!1),i&&ae.prototype.justifyDataLabel.call(a,h,n,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*ao(l.textAlign||"center"),rotationOriginY:t.height/2}),an(!i&&l.crop,!0)&&(s=ar(h.x)&&ar(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}as(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*ao(i)-1),y:t.height/2*2*(1-ao(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,h=e.stacking.usePercentage?100:an(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=an(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(a||ar(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-n+d.top-i.plotTop,width:p,height:n}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:n,height:p}}},{getDeferredAnimation:ah}=tU,{series:{prototype:al}}=ry,{addEvent:ad,correctFloat:ac,defined:ap,destroyObjectProperties:au,fireEvent:ag,isNumber:af,objectEach:am,pick:ax}=tt;function ay(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,ax(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function ab(){let t=this.stacking;if(t){let e=t.stacks;am(e,(t,i)=>{au(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function av(){this.stacking||(this.stacking=new aT(this))}function aM(t,e,i,s){return!ap(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function ak(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s=r.length,n,h,l;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),h=o[i]?.[n],(l=h?.points[t.key||""])&&a.call(e,l,h,s)})}function aw(t,e,i){let s=e.total?100/e.total:0;t[0]=ac(t[0]*s),t[1]=ac(t[1]*s),this.stackedYData[i]=t[1]}function aS(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?al.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function aA(t,e){let i,s,o,r,n,a,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,M=t.stacking,k=M.stacks,w=M.oldStacks;for(M.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&k[r]?.[e]?(r=k[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):ac(S+Math.abs(g))):"group"===l?af(u)&&S++:S=ac(S+g),"group"===l?o.cumulative=(S||1)-1:o.cumulative=ac(ax(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[a].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(M.usePercentage=!0),"group"!==l&&(this.stackedYData=p),M.oldStacks={}}class aT{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{am(t,t=>{t.cumulative=t.total})}))}resetStacks(){am(this.stacks,t=>{am(t,(e,i)=>{af(e.touched)&&e.touched{am(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(f||(f={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(ad(t,"init",av),ad(t,"destroy",ab),s.getStacks=ay,o.getStackIndicator=aM,o.modifyStacks=ak,o.percentStacker=aw,o.setGroupedPoints=aS,o.setStackedPoints=aA)};let aP=f,{defined:aC,merge:aO,isObject:aE}=tt;class aL extends rK{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",h=s.dashStyle||t.dashStyle;n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r).shadow(t.shadow&&aO({filterUnits:"userSpaceOnUse"},aE(t.shadow)?t.shadow:{}))),n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,u=l.plotY,g=t[d-1],f=l.isNull||"number"!=typeof u;(l.leftCliff||g&&g.rightCliff)&&!i&&(a=!0),f&&!aC(e)&&d>0?a=!o.connectNulls:f&&!e?a=!0:(0===d||a?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",g.plotX,u]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],n.push(l.x),h&&(n.push(l.x),2===h&&n.push(l.x)),r.push.apply(r,c),a=!1)}),r.xMap=n,s.graphPath=r,r}}aL.defaultOptions=aO(rK.defaultOptions,{legendSymbol:"lineMarker"}),ry.registerSeriesType("line",aL);let{seriesTypes:{line:aB}}=ry,{extend:aI,merge:aD,objectEach:aR,pick:aN}=tt;class az extends aB{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=aB.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,h=[],l=[],d=this.index,c=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=aN(r.connectNulls,"percent"===n),f=function(i,s,o){let r=t[i],g=n&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?g[0]:g[1])+m,y=g[0]+m,b=!!f):!n&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?u:a.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?u:a.getThreshold(y),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&n&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,f,m;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),n=2*h-o):op&&n>h?(n=Math.max(p,h),o=2*h-n):n1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;a9(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&a2(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(aQ(s)){if(a3(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=a6(i.borderWidth,s?0:1),r=t.xAxis,n=t.yAxis,a=i.threshold,h=a6(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rK.prototype.translate.apply(t),t.points.forEach(function(s){let o=a6(s.yBottom,g),m=999+Math.abs(o),x=s.plotX||0,y=aK(s.plotY,-m,n.len+m),b,v=Math.min(y,o),M=Math.max(y,o)-v,k=d,w=x+c,S=f;h&&Math.abs(M)h?o-h:g-(b?h:0)),aQ(s.options.pointWidth)&&(w-=Math.round(((k=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,k,s,l)),s.barX=w,s.pointWidth=k,s.tooltipPos=e.inverted?[aK(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,M]:[r.left-e.plotLeft+w+S/2,aK(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?g:v,S,s.isNull?0:M)}),a1(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=a6(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(a=t.getZone(),l=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,c=a.dashStyle||c,p=a.borderWidth||p)),e&&t&&(h=(n=a5(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=n.color||void 0!==h&&aq(l).brighten(n.brightness).get()||l,d=n[o]||d,p=n[r]||p,c=n.dashStyle||c,u=a6(n.opacity,u));let g={fill:l,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,n=o.animationLimit||250;t.forEach(function(t){let a=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=he(h)&&he(l)&&r.isInsidePlot(h,Math.round(l),{inverted:a,paneCoordinates:!0,series:this}),p=0===d&&"justify"===hl(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&he(h)&&(t.series.forceDL||n&&!p||c||hl(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=hi({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),hi(i,{width:h.width,height:h.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(ha(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=ho(i.align)*(l.width-h.width),e.alignAttr.y+=ho(i.verticalAlign)*(l.height-h.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(hl(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(hn(l)&&l||hn(n)&&n||"#000000"),c=h(i),{animation:p,defer:u}=c[0],g=u?a7(s,p,i):{defer:0,duration:0};hs(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let n=t.dataLabels||[];hc(a(c,t.dlOptions||t.options?.dataLabels)).forEach((a,h)=>{let l=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,a),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=a,f,m,x,y={},b=n[h],v=!b,M;l&&(m=he(f=hl(a[t.formatPrefix+"Format"],a.format))?ht(f,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a),x=a.rotation,!s.styledMode&&(g.color=hl(a.color,g.color,hn(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(M=c),t.contrastColor=r.getContrast("auto"!==M&&M||t.color||i.color),g.color=M||!he(u)&&a.inside||0>hd(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:a.borderRadius||0,rotation:x,padding:a.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=a.borderWidth),hh(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&he(m)&&!!b.div==!!a.useHTML&&(b.rotation&&a.rotation||b.rotation===a.rotation)||(b=void 0,v=!0),l&&he(m)&&(b?y.text=m:(b=r.label(m,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),b&&(b.options=a,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(a.shadow),hs(b,"beforeAddingDataLabel",{labelOptions:a,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,a,void 0,v),b.isActive=!0,n[h]&&n[h]!==b&&n[h].destroy(),n[h]=b))});let h=n.length;for(;h--;)n[h]&&n[h].isActive?n[h].isActive=!1:(n[h]?.destroy(),n.splice(h,1));t.dataLabel=n[0],t.dataLabels=n})),hs(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n=this.chart,a=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>n.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function a(t,e){let i=[],s;if(hr(t)&&!hr(e))i=t.map(function(t){return ha(t,e)});else if(hr(e)&&!hr(t))i=e.map(function(e){return ha(t,e)});else if(hr(t)||hr(e)){if(hr(t)&&hr(e))for(s=Math.max(t.length,e.length);s--;)i[s]=ha(t[s],e[s])}else i=ha(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hc(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,h=a.reversed,l=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:h?-l-c:a.width-l+c,e.startYPos=n?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let a=t.prototype;a.initDataLabels||(a.initDataLabels=o,a.initDataLabelsGroup=s,a.alignDataLabel=i,a.drawDataLabels=r,a.justifyDataLabel=n,a.setDataLabelStartPos=l,a.hasDataLabels=e)}}(m||(m={}));let hp=m,{composed:hu}=O,{series:hg}=ry,{merge:hf,pick:hm,pushUnique:hx}=tt;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,n=t.series,a=(n.xAxis?n.xAxis.len:this.chart.plotSizeX)||0,h=(n.yAxis?n.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hm(t.below,t.plotY>hm(this.translatedThreshold,h)),c=hm(i.inside,!!this.options.stacking);if(l){if(s=hf(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hA(hP.prototype,{drawTracker:hk.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hS(hP,"afterTranslate",function(){this.applyJitter()}),ry.registerSeriesType("scatter",hP);let{deg2rad:hC}=O,{fireEvent:hO,isNumber:hE,pick:hL,relativeLength:hB}=tt;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let u=[hL(r?.[0],"50%"),hL(r?.[1],"50%"),hL(l&&l<0?void 0:t.size,"100%"),hL(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rK||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=hB(p,[s,o,n,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),hE(a)&&2*a0&&(u[3]=u[2]-2*a),hO(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=hE(t)?t:0,s=hE(e)&&e>i&&e-i<360?e:i+360;return{start:hC*(i+-90),end:hC*(s+-90)}}}(y||(y={}));let hI=y,{setAnimation:hD}=tU,{addEvent:hR,defined:hN,extend:hz,isNumber:hW,pick:hG,relativeLength:hH}=tt;class hF extends oq{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hR(this,"select",s),hR(this,"unselect",s)}isValid(){return hW(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hD(i,s.chart),e=hG(e,!0),this.sliced=this.options.sliced=t=hN(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hz(hF.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,h,l]=n.center,d=l/2,{plotLeft:c,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=hH(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hX}=hI,{noop:hY}=O,{clamp:hj,extend:hU,fireEvent:hV,merge:h$,pick:h_}=tt;class hq extends rK{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:h_(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:is.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,h=Math.asin(hj((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(h)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||h$(!0,a,i),h$(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hV(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hX(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,h=n.length,l,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hV(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hq.defaultOptions=h$(rK.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hU(hq.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:a8.prototype.drawTracker,getCenter:hI.getCenter,getSymbol:hY,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:a8.prototype.pointAttribs,pointClass:hF,requireSorting:!1,searchPoint:hY,trackerGroups:["group","dataLabelsGroup"]}),ry.registerSeriesType("pie",hq);let{composed:hZ,noop:hK}=O,{distribute:hJ}=ey,{series:hQ}=ry,{arrayMax:h0,clamp:h1,defined:h2,pick:h3,pushUnique:h5,relativeLength:h6}=tt;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,h=n[2]/2,l=Math.cos(r),d=Math.sin(r),c=n[0]+l*h,p=n[1]+d*h,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,h=a[2]/2,l=a[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hQ.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=h6(o?.distance||0,s);0===i&&d[t.half].push(t),!h2(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,n)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,n-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),hJ(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,M=(v-l.getBBox().height)/2,k=0,w=y,S="inherit";if(x){if(u&&h2(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)k=p.justify(i,l,h,a);else switch(d.alignTo){case"connectors":k=p.alignToConnectors(e,n,s,r);break;case"plotEdges":k=p.alignToPlotEdges(l,n,s,r);break;default:k=p.radialDistributionX(t,i,w-M,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:k+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=k,x.computed.y=w-M,h3(d.crop,!0)){let t;k-(g=l.getBBox().width)s-b&&0===n&&(t=Math.round(k+g-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===h0(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},n=s.dataLabelPosition;if(r){let a;u=s.connector,n&&n.distance>0?(a=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[a?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:n.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h1(r,o,e[2]-Math.max(t[0],t[2])):(r=h1(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-a)/(l-a)+s&&(n=!n)}return n}}(v||(v={}));let{pointInPolygon:h4}=v,{addEvent:h8,fireEvent:h7,objectEach:lt,pick:le}=tt;function li(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(h4({x:i[0],y:i[1]},e))return!0;return!1},o,r,n,a,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{lt(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=le(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,ls(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let lr={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=li,h8(t,"render",lo))}},{defaultOptions:ln}=tS,{noop:la}=O,{addEvent:lh,extend:ll,isObject:ld,merge:lc,relativeLength:lp}=tt,lu={radius:0,scope:"stack",where:void 0},lg=la,lf=la;function lm(t,e,i,s,o={}){let r=lg(t,e,i,s,o),{innerR:n=0,r:a=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lp(o.borderRadius||0,a-n),(a-n)/2,a*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*n),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(h.start),p+n*Math.sin(h.start)])):(h.end=d-f,o[6]=c+n*Math.cos(h.end),o[7]=p+n*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?u:p);return r}function lx(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=ln.plotOptions?.[this.type]?.borderRadius,o=ly(t.borderRadius,ld(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:h=0,y:l=0}=n,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=n.y,c=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(lp(o.radius,a),a/2,"all"===u?h/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),ll(n,{brBoxHeight:c,brBoxY:d,r:g})}}}}function ly(t,e){return ld(t)||(t={radius:t||0}),lc(lu,e,t)}function lb(){let t=ly(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lp(t.radius,(i.r||0)-(i.innerR||0)))}}function lv(t,e,i,s,o={}){let r=lf(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:h=e}=o,l=e-h,d=h+a-(e+s),c=l-n>-.1?0:n,p=d-n>-.1?0:n,u=Math.max(c&&l,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],M=[t,e+s-p],k=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=w(c,c-u);f[0]-=t,m[0]+=t,x[1]=k[1]=e+c-u}if(s=lA(i.minWidth,0)&&this.chartHeight>=lA(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lT()),this.matchResponsiveRule(t,o)},this);let n=lS(...o.map(t=>lw((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));n.isResponsiveOptions=!0,o=o.toString()||void 0;let a=s&&s.ruleIds;o===a||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lM(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:n,undoOptions:r},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lk(s,{matchResponsiveRule:e,setResponsive:i}),t}}(M||(M={}));let lP=M;function lC(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function lO(t,e,i,s){return lC(t,e,i/2,s)}function lE(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function lL(t,e,i,s){return lE(t,e,i/2,s)}O.AST=t6,O.Axis=sU,O.Chart=nK,O.Color=tO,O.DataLabel=hp,O.DataTableCore=rl,O.Fx=tD,O.HTMLElement=i5,O.Legend=nd,O.LegendSymbol=ru,O.OverlappingDataLabels=O.OverlappingDataLabels||lr,O.PlotLineOrBand=or,O.Point=oq,O.Pointer=ro,O.RendererRegistry=eu,O.Series=rK,O.SeriesRegistry=ry,O.StackItem=aa,O.SVGElement=eJ,O.SVGRenderer=iU,O.Templating=ep,O.Tick=sg,O.Time=ty,O.Tooltip=oO,O.animate=tU.animate,O.animObject=tU.animObject,O.chart=nK.chart,O.color=tO.parse,O.dateFormat=ep.dateFormat,O.defaultOptions=tS.defaultOptions,O.distribute=ey.distribute,O.format=ep.format,O.getDeferredAnimation=tU.getDeferredAnimation,O.getOptions=tS.getOptions,O.numberFormat=ep.numberFormat,O.seriesType=ry.seriesType,O.setAnimation=tU.setAnimation,O.setOptions=tS.setOptions,O.stop=tU.stop,O.time=tS.defaultTime,O.timers=tD.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;lh(t,"afterColumnTranslate",lx,{order:9}),lh(s,"afterTranslate",lb),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lg=o.arc,lf=o.roundedRect,o.arc=lm,o.roundedRect=lv}},optionsToObject:ly}).compose(O.Series,O.SVGElement,O.SVGRenderer),hy.compose(O.Series.types.column),hp.compose(O.Series),sZ.compose(O.Axis),i5.compose(O.SVGRenderer),nd.compose(O.Chart),s0.compose(O.Axis),lr.compose(O.Chart),h9.compose(O.Series.types.pie),or.compose(O.Chart,O.Axis),ro.compose(O.Chart),lP.compose(O.Chart),n7.compose(O.Axis,O.Chart,O.Series),aP.compose(O.Axis,O.Chart,O.Series),oO.compose(O.Pointer),tt.extend(O,tt);let lB={compose:function(t){let e=t.prototype.symbols;e.arrow=lC,e["arrow-filled"]=lE,e["arrow-filled-half"]=lL,e["arrow-half"]=lO,e["triangle-left"]=lE,e["triangle-left-half"]=lL}},{defined:lI,error:lD,merge:lR,objectEach:lN}=tt,lz=O.deg2rad,lW=Math.max,lG=Math.min,lH=class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,o=this.pathfinder,r={},n=this.graphics&&this.graphics.path;o.group||(o.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),o.group.translate(i.plotLeft,i.plotTop),n&&n.renderer||(n=i.renderer.path().add(o.group),s||n.attr({opacity:0})),n.attr(e),r.d=t,s||(r.opacity=1),n.animate(r),this.graphics=this.graphics||{},this.graphics.path=n}addMarker(t,e,i){let s,o,r,n,a,h,l,d;let c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,f=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(l={x:d[1],y:d[2]},o=g.getRadiansToVector(l,f),s=g.getMarkerVector(o,e.radius,f),r=-o/lz,e.width&&e.height?(a=e.width,h=e.height):a=h=2*e.radius,this.graphics=this.graphics||{},n={x:s.x-a/2,y:s.y-h/2,width:a,height:h,rotation:r,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(n):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(n).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],o=e.chartObstacles;return"function"!=typeof s?(lD('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!o&&(o=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(o)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),lR({chartObstacles:o,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,o={},r=lR(i.options.connectors,e.options.connectors,t.options.connectors,this.options);!i.styledMode&&(o.stroke=r.lineColor||t.color,o["stroke-width"]=r.lineWidth,r.dashStyle&&(o.dashstyle=r.dashStyle)),o.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,lI((r=lR(o,r)).marker.radius)||(r.marker.radius=lG(lW(Math.ceil((r.algorithmMargin||8)/2)-1,1),5));let n=this.getPath(r),a=n.path;n.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(n.obstacles)),this.renderPath(a,o),this.addMarker("start",lR(r.marker,r.startMarker),a),this.addMarker("end",lR(r.marker,r.endMarker),a)}destroy(){this.graphics&&(lN(this.graphics,function(t){t.destroy()}),delete this.graphics)}},{composed:lF}=O,{addEvent:lX,merge:lY,pushUnique:lj,wrap:lU}=tt,lV={color:"#ccd3ff",width:2,label:{format:"%[abdYHM]",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t,!0)},rotation:0,style:{fontSize:"0.7em"}}};function l$(){let t=this.options,e=t.currentDateIndicator;if(e){let i="object"==typeof e?lY(lV,e):lY(lV);i.value=Date.now(),i.className="highcharts-current-date-indicator",t.plotLines||(t.plotLines=[]),t.plotLines.push(i)}}function l_(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function lq(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}let{defaultOptions:lZ}=tS,{isArray:lK,merge:lJ,splat:lQ}=tt;class l0 extends nK{init(t,e){let i;let s=t.xAxis,o=t.yAxis;t.xAxis=t.yAxis=void 0;let r=lJ(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=o,r.xAxis=(lK(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),lJ({grid:{borderColor:"#cccccc",enabled:!0},opposite:lZ.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=lQ(t.yAxis||{}).map(t=>lJ({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}!function(t){t.ganttChart=function(e,i,s){return new t(e,i,s)}}(l0||(l0={}));let l1=l0,{isTouchDevice:l2}=O,{addEvent:l3,merge:l5,pick:l6}=tt,l9=[];function l4(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function l8(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=l6(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+l6(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function l7(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),l6(t.redraw,!0)&&this.redraw(t.animation))}function dt(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function de(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!l2&&"x"===this.zooming.type||l2&&"x"===this.zooming.pinchType))return!1}function di(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function ds(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(l5(!0,this.options.navigator,e),l5(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let dr={compose:function(t,e){if(tt.pushUnique(l9,t)){let s=t.prototype;i=e,s.callbacks.push(di),l3(t,"afterAddSeries",l4),l3(t,"afterSetChartSize",l8),l3(t,"afterUpdate",l7),l3(t,"beforeRender",dt),l3(t,"beforeShowResetZoom",de),l3(t,"update",ds)}}},{isTouchDevice:dn}=O,{addEvent:da,correctFloat:dh,defined:dl,isNumber:dd,pick:dc}=tt;function dp(){this.navigatorAxis||(this.navigatorAxis=new dg(this))}function du(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||dn&&"xy"===n)&&this.options.range){let e=r.previousZoom;dl(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class dg{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),da(t,"init",dp),da(t,"setExtremes",du))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=dc(i,o.translate(t,!0,!o.horiz)),a=dc(s,o.translate(e,!0,!o.horiz));return dl(i)||(n=dh(n+r)),dl(s)||(a=dh(a-r)),dd(n)&&dd(a)||(n=a=void 0),{min:n,max:a}}}let{parse:df}=tO,{seriesTypes:dm}=ry,dx={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:df("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===dm.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:dy}=tt,db={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,n=dy(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...is.rect(-r-1,.5,2*r+1,s,{r:n})]}},{defined:dv}=tt,{setOptions:dM}=tS,{composed:dk}=O,{getRendererType:dw}=eu,{setFixedRange:dS}={setFixedRange:function(t){let e=this.xAxis[0];dv(e.dataMax)&&dv(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:dA,extend:dT,pushUnique:dP}=tt;function dC(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let dO={compose:function(t,e,i){dg.compose(e),dP(dk,"Navigator")&&(t.prototype.setFixedRange=dS,dT(dw().prototype.symbols,db),dA(i,"afterUpdate",dC),dM({navigator:dx}))}},{composed:dE}=O,{addEvent:dL,defined:dB,pick:dI,pushUnique:dD}=tt;!function(t){let e;function i(t){let e=dI(t.options&&t.options.min,t.min),i=dI(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:dB(t.dataMin)?Math.min(e,t.min,t.dataMin,dI(t.threshold,1/0)):e,scrollMax:dB(t.dataMax)?Math.max(i,t.max,t.dataMax,dI(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),dL(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:n,scrollMin:a,scrollMax:h}=i(t),l=h-a;if(dB(r)&&dB(n)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+l*this.to,o=a+l*this.from):(s=a+l*(1-this.from),o=a+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(n&&h){if(this.horiz)this.opposite||(h[1]+=a),n.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=a),e=n.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,n.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!dB(this.min)||!dB(this.max)||this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){dD(dE,"Axis.Scrollbar")&&(e=i,dL(t,"afterGetOffset",s),dL(t,"afterInit",o),dL(t,"afterRender",r))}}(k||(k={}));let dR=k,dN={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:dz}=tS,{addEvent:dW,correctFloat:dG,crisp:dH,defined:dF,destroyObjectProperties:dX,fireEvent:dY,merge:dj,pick:dU,removeEvent:dV}=tt;class d${static compose(t){dR.compose(t,d$)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,dX(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(d$.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dj(dN,dz.scrollbar,e),this.options.margin=dU(this.options.margin,10),this.chart=i,this.size=dU(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dY(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dY(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,n?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-h,translateY:n?s-l:0})}removeEvents(){this._events.forEach(function(t){dV.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-dH(0,r),y:-dH(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(d$.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-dH(0,this.scrollbarStrokeWidth),-dH(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!dF(a))return;let l=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=dG(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dU(this.options.liveRedraw,O.svg&&!O.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!dF(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dY(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dj(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=dG(1-dG(e-t)),e=1),t<0&&(e=dG(e-t),t=0),this.from=t,this.to=e}}d$.defaultOptions=dN,dz.scrollbar=dj(!0,d$.defaultOptions,dz.scrollbar);let{defaultOptions:d_}=tS,{isTouchDevice:dq}=O,{prototype:{symbols:dZ}}=iU,{addEvent:dK,clamp:dJ,correctFloat:dQ,defined:d0,destroyObjectProperties:d1,erase:d2,extend:d3,find:d5,fireEvent:d6,isArray:d9,isNumber:d4,merge:d8,pick:d7,removeEvent:ct,splat:ce}=tt;function ci(t,...e){let i=[].filter.call(e,d4);if(i.length)return Math[t].apply(0,i)}class cs{static compose(t,e,i){dr.compose(t,cs),dO.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,f,m;i?(f=d+e+a,e=d+t+a,m=[["M",g+c,d-h-a],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+l+h]],o&&m.push(["M",g+c,f-n],["L",g+c,e+n])):(g-=h,t+=g+h-a,e+=g+h-a,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+l+2*h,p]],o&&m.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,n,a;let h=this.left,l=this.top,d=this.height;i?(n=[h,h,h],a=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[h,h+t,h+e],a=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=dZ[l].call(dZ,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(d8(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),d0(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{ct(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(dK(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!d0(i))return;if(this.isDirty&&this.renderElements(),t=dQ(t-n/2),e=dQ(e+n/2),!d4(t)||!d4(e)){if(!l)return;i=0,s=d7(r.width,a.width)}this.left=d7(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=y=d7(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:y+2*u,i=d7(i,r.toPixels(t,!0)),s=d7(s,r.toPixels(e,!0)),d4(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=r.toValue(i,!0),k=r.toValue(s,!0),w=Math.abs(dQ(k-M));wp&&(this.grabbedLeft?i=r.toPixels(k-p-n,!0):this.grabbedRight&&(s=r.toPixels(M+p+n,!0))),this.zoomedMax=dJ(Math.max(i,s),0,v),this.zoomedMin=dJ(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,d6(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(dK(e.renderTo,"mousemove",o),dK(i.ownerDocument,"mouseup",r),dK(e.renderTo,"touchmove",o),dK(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(dK(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(dK(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,a=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=n,this.dragOffset=h-o):(p=h-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,d0((c=s.navigatorAxis.toFixedRange(p,p+n,d,l)).min)&&d6(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-a)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&d7(e.scrollbar.options.liveRedraw,!dq&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n;let a=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),d0((n=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&d6(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&d4(this.zoomedMin)&&d4(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){ct(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&ct(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,h=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new sU(t,d8({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),l.yAxis=new sU(t,d8(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:d7(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=dK(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,n=ci("min",s.options.min,o.dataMin),a=ci("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=dg.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=d8(t.options.scrollbar,{vertical:t.inverted});!d4(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new d$(t.renderer,e,t),dK(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=d7(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:d7(s.parse(r?.min),ci("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:d7(s.parse(r?.max),ci("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?d5(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(ct(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=d3({color:t.color,visible:t.visible},d9(l)?d_.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},p.dataLabels=ce(p.dataLabels),(h=d8(a,r,p,d)).pointRange=d7(p.pointRange,d.pointRange,d_.plotOptions[h.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,h.data=u||a.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||d9(l))&&(i.hasNavigatorData=!1,(l=ce(l)).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(h=d8(d_.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(dK(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(dK(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(dK(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(dK(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(dK(i,"remove",function(){e&&d2(e,i),this.navigatorSeries&&t.series&&(d2(t.series,this.navigatorSeries),d0(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=d7(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=n)+h),d&&(t=a+c,l||(e=Math.max(n,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&d4(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=d7(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(d4(o)&&d4(r))&&(n&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{d1(t)}),this.navigatorEnabled=!1}}let co={lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%[ebY]",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}},{defaultOptions:cr}=tS,{composed:cn}=O,{addEvent:ca,defined:ch,extend:cl,isNumber:cd,merge:cc,pick:cp,pushUnique:cu}=tt,cg=[];function cf(){let t,e;let i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i=r.toParts(t),o=i.slice();"year"===s?o[0]+=e:o[1]+=e;let n=r.makeTime.apply(r,o),a=r.toParts(n);return"month"===s&&i[1]===a[1]&&1===Math.abs(e)&&(o[0]=i[0],o[1]=i[1],o[2]=0),(n=r.makeTime.apply(r,o))-t};cd(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=cp(this.dataMin,Number.MIN_VALUE);return cd(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,cp(this.dataMax,Number.MAX_VALUE))),cd(o)?!cd(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function cm(){this.rangeSelector?.redrawElements()}function cx(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new s(this))}function cy(){let t=this.rangeSelector;if(t){cd(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"top"!==e||(this.extraTopMargin=!0))}}function cb(){let t;let e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;cd(i.min)&&e.render(i.min,i.max),s.display&&"top"===o&&o===s.options.verticalAlign&&(t=cc(this.spacingBox),"vertical"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function cv(){for(let t=0,e=cg.length;tt()),cg.splice(t,1);return}}}function cM(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function ck(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,o=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!ch(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new s(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}}let cw={compose:function(t,e,i){if(s=i,cu(cn,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=cf,ca(e,"afterGetContainer",cx),ca(e,"beforeRender",cy),ca(e,"destroy",cv),ca(e,"getMargins",cM),ca(e,"redraw",cb),ca(e,"update",ck),ca(e,"beforeRedraw",cm),i.callbacks.push(cb),cl(cr,{rangeSelector:co.rangeSelector}),cl(cr.lang,co.lang)}}},{addEvent:cS,correctFloat:cA,css:cT,defined:cP,error:cC,isNumber:cO,pick:cE,timeUnits:cL,isString:cB}=tt;!function(t){function e(t,i,s,o,r=[],n=0,a){let h={},l=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,f,m,x=0,y=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*n||m){if(r[p]>b){for(u=d.getTimeTicks(t,r[x],r[p],o);u.length&&u[0]<=b;)u.shift();u.length&&(b=u[u.length-1]),c.push(y.length),y=y.concat(u)}x=p+1}if(m)break}if(u){if(f=u.info,a&&f.unitRange<=cL.hour){for(x=1,p=y.length-1;xt-e),(a=i[Math.floor(i.length/2)])<.6*l&&(a=null),c=y[t-1]>s?t-1:t,n=void 0;c--;)d=Math.abs(n-(r=e[c])),n&&d<.8*l&&(null===a||d<.8*a)?(h[y[c]]&&!h[y[c+1]]?(o=c+1,n=r):o=c,y.splice(o,1)):n=r}return y}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=cA((t-i)*s+this.minPixelPadding),n=cA(e.getIndexOfPoint(r,o)),a=cA(n%1);if(n>=0&&n<=o.length-1){let t=o[Math.floor(n)],e=o[Math.ceil(n)];return o[Math.floor(n)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function n(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&cP(e.overscroll)&&0!==e.overscroll&&cO(this.max)&&cO(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&cP(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function h(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function l(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let n=this.mouseDownX,a=e.getExtremes(),h=a.dataMin,l=a.dataMax,d=a.min,c=a.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||u))),f=e.ordinal.getExtendedPositions(),m={ordinal:{positions:f,extendedOrdinalPositions:f}},x=e.index2val,y=e.val2lin;if(d<=h&&g<0||c+i>=l&&g>0)return;m.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),l>(o=m.ordinal.positions)[o.length-1]&&o.push(l),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(m,[y.apply(m,[d,!0])+g]),x.apply(m,[y.apply(m,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,cT(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,n=s.slope,a;if(!r)return t;let h=r.length;if(r[0]<=t&&r[h-1]>=t)i=o(r,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let h=a.length;n||(n=(a[h-1]-a[0])/h);let l=o(a,r[0]);if(t>=a[0]&&t<=a[h-1])i=o(a,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(y=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),f=Math.min(f,cE(t.closestPointRange,f)),a)){for(e=0;e2){for(l=g[1]-g[0],u=a-1;u--&&!m;)g[u+1]-g[u]!==l&&(m=!0);!t.options.keepOrdinalPadding&&(g[0]-s>l||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===a?f=g[1]-g[0]:1===a?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=cE(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),n=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),h,l,d=e.index;return d||(d=e.index={}),!d[r]&&((h={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+n}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=h,i.series.forEach(i=>{l={xAxis:h,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:O.noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);l.dataTable=new rl({columns:{x:s}}),l.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},h.series.push(l),i.processData.apply(l)}),h.applyGrouping({hasExtremesChanged:!0}),l?.closestPointRange!==l?.basePointRange&&l.currentDataGrouping&&(h.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:h}),!i.ordinal.originalOrdinalRange&&h.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=h.ordinal.originalOrdinalRange),h.ordinal.positions&&(d[r]=h.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],n,a,h=this.groupIntervalFactor;if(!h){for(a=0;aRegExp(`%[[a-zA-Z]*${e}`).test(t);if(cU(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=cU(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=cU(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class cK{static compose(t,e){cw.compose(t,e,cK)}constructor(t){this.isDirty=!1,this.buttonOptions=cK.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},n=s.type,a=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=cj(o?.max)?Math.round(Math.min(o.max,l??o.max)):void 0,p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,sU.prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===n||"year"===n)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),cj(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)cj(c)&&(c=Math.min((d=Math.max(c-u,h))+u,l),x=!1);else if("ytd"===n){if(o)!o.hasData()||cj(l)&&cj(h)||(h=Number.MAX_VALUE,l=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(h=Math.min(e[0],h),l=Math.max(e[e.length-1],l))}),e=!1),cj(l)&&cj(h)&&(d=g=(m=this.getYTDExtremes(l,h)).min,c=m.max);else{this.deferredYTDClick=t;return}}else"all"===n&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&cW(d)&&(d+=s._offsetMin),s._offsetMax&&cW(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)cj(d)&&cj(c)&&(o.setExtremes(d,c,c_(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=cq(i.options.xAxis||{})[0];let t=cR(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});cR(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}cY(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&cY(t,"blur"),i&&i.blur&&cY(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(cR(t.container,"mousedown",r)),this.eventsToUnbind.push(cR(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(cR(t,"load",function(){t.xAxis&&t.xAxis[0]&&cR(t.xAxis[0],"setExtremes",function(i){cj(this.max)&&cj(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),n=!o.hasVisibleSeries,a=24*36e5,h=e.scroller&&e.scroller.getUnionExtremes()||o,l=h.dataMin,d=h.dataMax,c=t.getYTDExtremes(d,l),p=c.min,u=c.max,g=t.selected,f=t.options.allButtonsEnabled,m=Array(t.buttonOptions.length).fill(0),x=cj(g),y=t.buttons,b=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,h=e.type,c=e.count||1,y=e._offsetMax-e._offsetMin,M=i===g,k=s>d-l,w=ss&&(A=!0)}else("month"===h||"year"===h)&&r+36e5>=({month:28,year:365})[h]*a*c-y&&r-36e5<=({month:31,year:366})[h]*a*c+y?A=!0:"ytd"===h?(A=u-p+y===r,S=!M):"all"===h&&(A=o.max-o.min>=d-l);let T=!f&&!(b&&"all"===h)&&(k||w||n),P=b&&"all"===h||!S&&A||M&&t.frozenStates;T?m[i]=3:P&&(!x||i===g)&&(v=i)}),null!==v?(m[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(cD.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:ch&&(c=h)),void 0!==c&&r.setExtremes(l?c:r.min,l?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=h[l?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=n.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?a.inputBoxHeight:0}).add(s),u=n.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=cN("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",cZ(a.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(cV(r,a.labelStyle)),u.css(cV({color:"#333333"},r,a.inputStyle)),cz(g,cX({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===O.doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let f=!1;return g.onchange=()=>{f||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{f=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=c_(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=cN("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(cW(o.dataMin)&&cW(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=cD.lang,o=e.renderer,r=cV(i.buttonTheme),n=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=cN("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),h=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},cV(r,{"stroke-width":c_(r["stroke-width"],0),width:"auto",paddingLeft:c_(i.buttonTheme.paddingLeft,h?.padding,8),paddingRight:c_(i.buttonTheme.paddingRight,h?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),cR(a,"touchstart",()=>{a.style.fontSize="16px"});let l=O.isMS?"mouseover":"mouseenter",d=O.isMS?"mouseout":"mouseleave";cR(a,l,()=>{cY(this.dropdownLabel.element,l)}),cR(a,d,()=>{cY(this.dropdownLabel.element,d)}),cR(a,"change",()=>{cY(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),cN("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=cV(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:n,options:a}=this,h=n.renderer,l=cV(a.buttonTheme);o?.add(cN("option",{textContent:t.title||t.text}),e+2),r[e]=h.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},l,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,h=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:l,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>h&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(h.y||0)+(h.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&l&&d){let a=l.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,l,"right"===l.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let h=0;r.inputEnabled&&o&&(h=p(o,d,"right"===l.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-h)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(h),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,f=s.getBBox().height+20,m=0;if("bottom"===c){let t=i.legend&&i.legend.options;m=g-(f=f+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+c_(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===l.y?m=g:(d.y||l.y)&&(d.y<0||l.y<0?m-=Math.min(d.y,l.y):m=g-f)),s.translate(r.x,r.y+Math.floor(m));let{minInput:x,maxInput:y,dropdown:b}=this;r.inputEnabled&&x&&y&&(x.style.marginTop=s.translateY+"px",y.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=cV(s.buttonTheme),r=o&&o.states,n=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(cH(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,n,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i?a.align===r.align?(h(),o>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):o-t+s.getBBox().width>e.plotWidth?"responsive"===n?this.collapseButtons():h():this.expandButtons():i&&"responsive"===n&&(o>e.plotWidth?this.collapseButtons():this.expandButtons()),i&&("always"===n&&this.collapseButtons(),"never"===n&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),cz(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),cz(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let h=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(h)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(cV(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),cW(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),cG(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),c$(t,function(e,i){e&&"chart"!==i&&(e instanceof eJ?e.destroy():e instanceof window.HTMLElement&&cF(e),delete t[i]),e!==cK.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}cX(cK.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let cJ={applyRadius:function(t,e){let i=[];for(let s=0;s>1].xMin)>0)o=n+1;else{if(!(a<0))return n;r=n-1}return o>0?o-1:0}function c5(t,e){let i=c3(t,e.x+1)+1;for(;i--;){var s;if(t[i].xMax>=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return -1}function c6(t){let e=[];if(t.length){e.push(["M",t[0].start.x,t[0].start.y]);for(let i=0;ic2(e.y-t.y))?"x":"y",l,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){let s=c2(e[i]-t[i+"Min"])>c2(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}n>-1?(a={start:d=g(o[n],e,h),end:e},p=d):p=e,r>-1&&(d=g(l=o[r],t,h),s.push({start:t,end:d}),d[h]>=t[h]==d[h]>=p[h]&&(c=t[h="y"===h?"x":"y"]c2(e.y-t.y)),o=s?"x":"y",r=[],n=i.obstacleMetrics,a=c0(t.x,e.x)-n.maxWidth-10,h=c1(t.x,e.x)+n.maxWidth+10,l=c0(t.y,e.y)-n.maxHeight-10,d=c1(t.y,e.y)+n.maxHeight+10,c,p,u,g=!1,f=i.chartObstacles,m=c3(f,h),x=c3(f,a);function y(t,e,i){let s,o,r,n;let a=t.x0&&f[h].xMin<=o.x||a<0&&f[h].xMax>=s.x);){if(f[h].xMin<=o.x&&f[h].xMax>=s.x&&f[h].yMin<=r.y&&f[h].yMax>=n.y){if(i)return{y:t.y,x:t.x=r[a+"Max"],c=t[a+"Min"]<=r[a+"Min"],p=t[a+"Max"]>=n[a+"Max"],u=t[a+"Min"]<=n[a+"Min"],g=c2(t[a+"Min"]-e[a]),f=c2(t[a+"Max"]-e[a]),m=10>c2(g-f)?e[a]-1&&(u=function(t,e,s){let o=c0(t.xMax-e.x,e.x-t.xMin)-1;)p=e[o]-t[o]<0,(u={x:e.x,y:e.y})[o]=f[m][p?o+"Max":o+"Min"]+(p?1:-1),r.push({end:e,start:u}),e=u;return{path:c6(c=(c=function t(e,s,o){let r,n,c,p,u,m,x;if(e.x===s.x&&e.y===s.y)return[];let v=o?"x":"y",M=i.obstacleOptions.margin,k={soft:{xMin:a,xMax:h,yMin:l,yMax:d},hard:i.hardBounds};return(u=c5(f,e))>-1?(p=b(u=f[u],e,s,o,k),c9(u,i.hardBounds),x=o?{y:e.y,x:u[p?"xMax":"xMin"]+(p?1:-1)}:{x:e.x,y:u[p?"yMax":"yMin"]+(p?1:-1)},(m=c5(f,x))>-1&&(c9(m=f[m],i.hardBounds),x[v]=p?c1(u[v+"Max"]-M+1,(m[v+"Min"]+u[v+"Max"])/2):c0(u[v+"Min"]+M-1,(m[v+"Max"]+u[v+"Min"])/2),e.x===x.x&&e.y===x.y?(g&&(x[v]=p?c1(u[v+"Max"],m[v+"Max"])+1:c0(u[v+"Min"],m[v+"Min"])-1),g=!g):g=!1),n=[{start:e,end:x}]):(r=y(e,{x:o?s.x:e.x,y:o?e.y:s.y},o),n=[{start:e,end:{x:r.x,y:r.y}}],r[o?"x":"y"]!==s[o?"x":"y"]&&(p=b(r.obstacle,r,s,!o,k),c9(r.obstacle,i.hardBounds),c={x:o?r.x:r.obstacle[p?"xMax":"xMin"]+(p?1:-1),y:o?r.obstacle[p?"yMax":"yMin"]+(p?1:-1):r.y},o=!o,n=n.concat(t({x:r.x,y:r.y},c,o)))),n=n.concat(t(n[n.length-1].end,s,!o))}(t,e,s)).concat(r.reverse())),obstacles:c}}c4.requiresObstacles=!0,c8.requiresObstacles=!0;let c7={connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}},{setOptions:pt}=tS,{defined:pe,error:pi,merge:ps}=tt;function po(t){let e=t.shapeArgs;if(e)return{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)};let i=t.graphic&&t.graphic.getBBox();return i?{xMin:t.plotX-i.width/2,xMax:t.plotX+i.width/2,yMin:t.plotY-i.height/2,yMax:t.plotY+i.height/2}:null}!function(t){function e(t){let e,i;let s=po(this);switch(t.align){case"right":e="xMax";break;case"left":e="xMin"}switch(t.verticalAlign){case"top":i="yMin";break;case"bottom":i="yMax"}return{x:e?s[e]:(s.xMin+s.xMax)/2,y:i?s[i]:(s.yMin+s.yMax)/2}}function i(t,e){let i;return!pe(e)&&(i=po(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)}function s(t,e,i){let s=2*Math.PI,o=po(this),r=o.xMax-o.xMin,n=o.yMax-o.yMin,a=Math.atan2(n,r),h=r/2,l=n/2,d=o.xMin+h,c=o.yMin+l,p={x:d,y:c},u=t,g=1,f=!1,m=1,x=1;for(;u<-Math.PI;)u+=s;for(;u>Math.PI;)u-=s;return g=Math.tan(u),u>-a&&u<=a?(x=-1,f=!0):u>a&&u<=Math.PI-a?x=-1:u>Math.PI-a||u<=-(Math.PI-a)?(m=-1,f=!0):m=-1,f?(p.x+=m*h,p.y+=x*h*g):(p.x+=n/(2*g)*m,p.y+=x*l),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}t.compose=function(t,o,r){let n=r.prototype;n.getPathfinderAnchorPoint||(t.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&((t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&ps(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(ps(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),pi('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new o(this),this.pathfinder.update(!0))}),n.getMarkerVector=s,n.getPathfinderAnchorPoint=e,n.getRadiansToVector=i,pt(c7))}}(S||(S={}));let pr=S,{addEvent:pn,defined:pa,pick:ph,splat:pl}=tt,pd=Math.max,pc=Math.min;class pp{static compose(t,e){pr.compose(t,pp,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],pn(t,"redraw",function(){this.pathfinder.update()})}update(t){let e=this.chart,i=this,s=i.connections;i.connections=[],e.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(t){let s;let o=t.options;o&&o.dependency&&(o.connect=o.dependency);let r=t.options?.connect?pl(t.options.connect):[];t.visible&&!1!==t.isInside&&r.forEach(o=>{let r="string"==typeof o?o:o.to;r&&(s=e.get(r)),s instanceof oq&&s.series.visible&&s.visible&&!1!==s.isInside&&i.connections.push(new lH(t,s,"string"==typeof o?{}:o))})})});for(let t=0,e,o,r=s.length,n=i.connections.length;ti.yMin-o&&e.yMin-oi.xMin-o&&e.xMin-oi.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,h=n?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return n&&r?o?t(e,i,Math.floor(o/2)):1/0:pc(a,h)}(t[o],t[r]))<80&&s.push(e);return s.push(80),pd(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}(s),s.forEach(function(t){t.xMin-=o,t.xMax+=o,t.yMin-=o,t.yMax+=o})),s}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e=1&&(e.plotHeight=o,e.redrawTrigger="adjustHeight",e.setSize(void 0,e.chartHeight+r,i)),t.series.forEach(function(t){let i=t.sharedClipKey&&e.sharedClips[t.sharedClipKey];i&&i.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}let pb={compose:function(t,e){let i=e.prototype;i.adjustHeight||(pu(t,"afterSetOptions",px),i.adjustHeight=py,pu(e,"render",i.adjustHeight))}};pb.compose(O.Axis,O.Chart);let{correctFloat:pv,isNumber:pM,isObject:pk}=tt,{column:{prototype:{pointClass:pw}}}=ry.seriesTypes,{extend:pS}=tt;class pA extends pw{static getColorByCategory(t,e){let i=t.options.colors||t.chart.options.colors,s=i?i.length:t.chart.options.chart.colorCount,o=e.y%s,r=i&&i[o];return{colorIndex:o,color:r}}resolveColor(){let t=this.series;if(t.options.colorByPoint&&!this.options.color){let e=pA.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color=this.options.color||t.color}constructor(t,e){super(t,e),this.y||(this.y=0)}applyOptions(t,e){return super.applyOptions(t,e),this.x2=this.series.chart.time.parse(this.x2),this.isNull=!this.isValid?.(),this}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}pS(pA.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});let{composed:pT,noop:pP}=O,{parse:pC}=tO,{column:pO}=ry.seriesTypes,{addEvent:pE,clamp:pL,crisp:pB,defined:pI,extend:pD,find:pR,isNumber:pN,isObject:pz,merge:pW,pick:pG,pushUnique:pH,relativeLength:pF}=tt;function pX(){let t,e;if(this.isXAxis){for(let i of(t=pG(this.dataMax,-Number.MAX_VALUE),this.series)){let s=i.dataTable.getColumn("x2",!0)||i.dataTable.getColumn("end",!0);if(s)for(let i of s)pN(i)&&i>t&&(t=i,e=!0)}e&&(this.dataMax=t)}}class pY extends pO{static compose(t){pH(pT,"Series.XRange")&&pE(t,"afterGetSeriesExtremes",pX)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let t=()=>{for(let t of this.chart.series){let e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}};t();let e=super.getColumnMetrics();return t(),e}cropData(t,e,i){let s=t.getColumn("x")||[],o=t.getColumn("x2");t.setColumn("x",o,void 0,{silent:!0});let r=super.cropData(t,e,i);return t.setColumn("x",s.slice(r.start,r.end),void 0,{silent:!0}),r}findPointIndex(t){let e;let{cropStart:i,points:s}=this,{id:o}=t;if(o){let t=pR(s,t=>t.id===o);e=t?t.index:void 0}if(void 0===e){let i=pR(s,e=>e.x===t.x&&e.x2===t.x2&&!e.touched);e=i?i.index:void 0}return this.cropped&&pN(e)&&pN(i)&&e>=i&&(e-=i),e}alignDataLabel(t){let e=t.plotX;t.plotX=pG(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:`${t.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=s.offset,h=pG(t.x2,t.x+(t.len||0)),l=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(h,0,0,0,1),g=Math.abs(u-p),f=this.chart.inverted,m=pG(o.borderWidth,1),x,y,b=s.offset,v=Math.round(s.width),M,k,w,S;r&&((x=r-g)<0&&(x=0),p-=x/2,u+=x/2),p=Math.max(p,-10),u=pL(u,-10,e.len+10),pI(t.options.pointWidth)&&(b-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),o.pointPlacement&&pN(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));let A=pB(Math.min(p,u),m),T=pB(Math.max(p,u),m)-A,P=Math.min(pF("object"==typeof l?l.radius:l||0,v),Math.min(T,v)/2),C={x:A,y:pB((t.plotY||0)+b,m),width:T,height:v,r:P};t.shapeArgs=C,f?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-C.width/2,k=(M=C.x)+C.width,M<0||k>e.len?(M=pL(M,0,e.len),w=(k=pL(k,0,e.len))-M,t.dlBox=pW(C,{x:M,width:k-M,centerX:w?w/2:null})):t.dlBox=null;let O=t.tooltipPos,E=f?1:0,L=f?0:1,B=this.columnMetrics?this.columnMetrics.offset:-s.width/2;f?O[E]+=C.width/2:O[E]=pL(O[E]+(e.reversed?-1:0)*C.width,e.left-c,e.left+e.len-c-1),O[L]=pL(O[L]+(f?-1:1)*B,i.top-d,i.top+i.len-d-1),(y=t.partialFill)&&(pz(y)&&(y=y.amount),pN(y)||(y=0),t.partShapeArgs=pW(C),S=Math.max(Math.round(g*y+t.plotX-p),0),t.clipRectArgs={x:e.reversed?C.x+g-S:C.x,y:C.y,width:S,height:C.height}),t.key=t.category||t.name,t.yCategory=i.categories?.[t.y??-1]}translate(){for(let t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,n=t.partShapeArgs,a=t.clipRectArgs,h=t.state,l=i.states[h||"normal"]||{},d=void 0===h?"attr":e,c=this.pointAttribs(t,h),p=pG(this.chart.options.chart.animation,l.animation),u=t.graphic,g=t.partialFill;if(t.isNull||!1===t.visible)u&&(t.graphic=u.destroy());else if(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](pW(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),n&&(u.partRect?(u.partRect[e](pW(n)),u.partialClipRect[e](pW(a))):(u.partialClipRect=s.clipRect(a.x,a.y,a.width,a.height),u.partRect=s[o](n).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),n)){pz(g)||(g={}),pz(i.partialFill)&&(g=pW(i.partialFill,g));let e=g.fill||pC(c.fill).brighten(-.3).get()||pC(t.color||this.color).brighten(-.3).get();c.fill=e,u.partRect[d](c,p).shadow(i.shadow)}}drawPoints(){let t=this.getAnimationVerb();for(let e of this.points)this.drawPoint(e,t)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){let e=t.shapeArgs,i=t.plotX,s=t.plotY;return e?void 0!==i&&void 0!==s&&s>=0&&s<=this.yAxis.len&&(e.x||0)+(e.width||0)>=0&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}pY.defaultOptions=pW(pO.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){let t=this.partialFill;if(pk(t)&&(t=t.amount),pM(t)&&t>0)return pv(100*t)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{ucfirst point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}),pD(pY.prototype,{pointClass:pA,pointArrayMap:["x2","y"],getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:ry.series.prototype.animate,autoIncrement:pP,buildKDTree:pP}),ry.registerSeriesType("xrange",pY),pY.compose(O.Axis);let{xrange:{prototype:{pointClass:pj}}}=ry.seriesTypes;class pU extends pj{static setGanttPointAliases(t,e){t.x=t.start=e.time.parse(t.start??t.x),t.x2=t.end=e.time.parse(t.end??t.x2),t.partialFill=t.completed=t.completed??t.partialFill}applyOptions(t,e){let i=super.applyOptions(t,e);return pU.setGanttPointAliases(i,i.series.chart),this.isNull=!this.isValid?.(),i}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}let{isNumber:pV}=tt,{addEvent:p$,find:p_,fireEvent:pq,isArray:pZ,isNumber:pK,pick:pJ}=tt;!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,n;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(n&&!1!==n.visible||(n=i[r+1]),t=i[r],!1!==n.visible&&!1!==t.visible){if(n.x-t.x>o){let e=(t.x+n.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new aa(s,s.options.stackLabels,!1,e,this.stack)).total=0)}n=t}}return this.getGraphPath(i)}t.compose=function(t,l){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),p$(t,"init",o),p$(t,"afterInit",e),p$(t,"afterSetTickPositions",s),p$(t,"afterSetOptions",i);let d=l.prototype;d.drawBreaks=a,d.gappedPath=h,p$(l,"afterGeneratePoints",r),p$(l,"afterRender",n)}return t};class l{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(l.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return p_(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==l.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=l.lin2Val,s.val2lin=l.val2Lin,s.setExtremes=function(t,e,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=h;for(;p{t.getOffset()})}i&&t.apply(this)}function uo(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:s,left:o,offset:r,opposite:n,options:a,top:h,width:l}=this,d=this.tickSize(),c=e&&e.getBBox().width,p=a.title.x,u=a.title.y,g=p8(a.title.margin,s?5:10),f=e?this.chart.renderer.fontMetrics(e).f:0,m=(s?h+i:o)+(s?1:-1)*(n?-1:1)*(d?d[0]/2:0)+(this.side===T.bottom?f:0);t.titlePosition.x=s?o-(c||0)/2-g+p:m+(n?l:0)+r+p,t.titlePosition.y=s?m-(n?i:0)+(n?f:-f)/2+r+u:h-g+u}}function ur(){let{chart:t,options:{grid:e={}},userOptions:i}=this;if(e.enabled&&function(t){let e=t.options;e.labels.align=p8(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}(this),e.columns){let s=this.grid.columns=[],o=this.grid.columnIndex=0;for(;++ot.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;let i=this.tickmarkOffset,r=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[r].label)&&(r-o>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[r].mark;a&&r-o0&&this.ticks[r].isLast&&this.hiddenMarks.push(a.hide())}}}function ua(){let t=this.tickPositions&&this.tickPositions.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!p2(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align="left",p2(s.x)||(e.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function uh(t){let e;let i=this.options,s=t.userOptions,o=i&&ue(i.grid)?i.grid:{};!0===o.enabled&&(e=p4(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[E]"]},week:{list:["Week %W","W%W"]},month:{list:["%[B]","%[b]","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(p2(s.linkedTo)&&!p2(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!p2(s.tickPixelInterval)&&p2(s.linkedTo))||p2(s.tickPositioner)||p2(s.tickInterval)||p2(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=e.units||[],r,n=1,a="year";for(let t=0;tt.setScale())}function uc(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=e?s.cellHeight||o+i.height:o+i.width;p6(t.tickSize)?t.tickSize[0]=r:t.tickSize=[r,0]}}function up(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function uu(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function ug(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&p2(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new ub(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function uf(t){let e=this.label,i=this.axis,s=i.reversed,o=i.chart,r=i.options.grid||{},n=i.options.labels,a=n.align,h=T[i.side],l=t.tickmarkOffset,d=i.tickPositions,c=this.pos-l,p=p9(d[t.index+1])?d[t.index+1]-l:(i.max||0)+l,u=i.tickSize("tick"),g=u?u[0]:0,f=u?u[1]/2:0;if(!0===r.enabled){let r,l,d,u;if("top"===h?l=(r=i.top+i.offset)-g:"bottom"===h?r=(l=o.chartHeight-i.bottom+i.offset)+g:(r=i.top+i.len-(i.translate(s?p:c)||0),l=i.top+i.len-(i.translate(s?c:p)||0)),"right"===h?u=(d=o.chartWidth-i.right+i.offset)+g:"left"===h?d=(u=i.left+i.offset)-g:(d=Math.round(i.left+(i.translate(s?p:c)||0))-f,u=Math.min(Math.round(i.left+(i.translate(s?c:p)||0))-f,i.left+i.len)),this.slotWidth=u-d,t.pos.x="left"===a?d:"right"===a?u:d+(u-d)/2,t.pos.y=l+(r-l)/2,e){let i=o.renderer.fontMetrics(e),s=e.getBBox().height;if(n.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&n.x||0}}function um(t){let{axis:e,value:i}=t;if(e.options.grid&&e.options.grid.enabled){let s;let o=e.tickPositions,r=(e.linkedParent||e).series[0],n=i===o[0],a=i===o[o.length-1],h=r&&p5(r.options.data,function(t){return t[e.isXAxis?"x":"y"]===i});h&&r.is("gantt")&&(s=p4(h),O.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,e.chart)),t.isFirst=n,t.isLast=a,t.point=s}}function ux(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],h=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,d=h||this.min,c=l||this.max,p=this.tickInterval,u=p9(d)&&d>=o+p&&dd,f=p9(c)&&n>c&&n-pa;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!t.startOnTick&&(s[0]=d),(f||m)&&!t.endOnTick&&(s[s.length-1]=c))}function uy(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}!function(t){t[t.top=0]="top",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.left=3]="left"}(T||(T={}));class ub{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],o=i?t.linkedParent:t,r=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e!==o||(r=i))}),n===r&&(!p9(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}p0.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},p0.W=function(t){let e=this.toParts(t),i=(e[7]+6)%7,s=e.slice(0);s[2]=e[2]-i+3;let o=this.toParts(this.makeTime(s[0],0,1));return 4!==o[7]&&(e[1]=0,e[2]=1+(11-o[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(o[0],o[1],o[2]))/6048e5)).toString()};let uv={compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=ui,ut(t.prototype,"unsquish",uy),ut(t.prototype,"getOffset",us),p1(t,"init",ug),p1(t,"afterGetTitlePosition",uo),p1(t,"afterInit",ur),p1(t,"afterRender",un),p1(t,"afterSetAxisTranslation",ua),p1(t,"afterSetOptions",uh),p1(t,"afterSetOptions",ul),p1(t,"afterSetScale",ud),p1(t,"afterTickSize",uc),p1(t,"trimTicks",ux),p1(t,"destroy",uu),p1(e,"afterSetChartSize",up),p1(i,"afterGetLabelPosition",uf),p1(i,"labelFormat",um)),t}},{extend:uM,isNumber:uk,pick:uw}=tt;function uS(t,e,i,s,o,r){let n=r&&r.after,a=r&&r.before,h={data:s,depth:i-1,id:t,level:i,parent:e||""},l=0,d=0,c,p;"function"==typeof a&&a(h,r);let u=(o[t]||[]).map(e=>{let s=uS(e.id,t,i+1,e,o,r),n=e.start||NaN,a=!0===e.milestone?n:e.end||NaN;return c=!uk(c)||np?a:p,l=l+1+s.descendants,d=Math.max(s.height+1,d),s});return s&&(s.start=uw(s.start,c),s.end=uw(s.end,p)),uM(h,{children:u,descendants:l,height:d}),"function"==typeof n&&n(h,r),h}let uA={getNode:uS,getTree:function(t,e){return uS("",null,1,null,function(t){let e=[],i=t.reduce((t,i)=>{let{parent:s="",id:o}=i;return void 0===t[s]&&(t[s]=[]),t[s].push(i),o&&e.push(o),t},{});return Object.keys(i).forEach(t=>{if(""!==t&&-1===e.indexOf(t)){let e=i[t].map(function(t){let{...e}=t;return e});i[""].push(...e),delete i[t]}}),i}(t),e)}},{addEvent:uT,removeEvent:uP,isObject:uC,isNumber:uO,pick:uE,wrap:uL}=tt;function uB(){this.treeGrid||(this.treeGrid=new uR(this))}function uI(t,e,i,s,o,r,n,a,h){let l,d,c;let p=uE(this.options&&this.options.labels,r),u=this.pos,g=this.axis,f="treegrid"===g.type,m=t.apply(this,[e,i,s,o,p,n,a,h]);if(f){let{width:t=0,padding:e=g.linkedParent?0:5}=p&&uC(p.symbol,!0)?p.symbol:{},i=p&&uO(p.indentation)?p.indentation:0;c=(d=(l=g.treeGrid.mapOfPosToGridNode)&&l[u])&&d.depth||1,m.x+=t+2*e+(c-1)*i}return m}function uD(t){let e,i,s;let{pos:o,axis:r,label:n,treeGrid:a,options:h}=this,l=a?.labelIcon,d=n?.element,{treeGrid:c,options:p,chart:u,tickPositions:g}=r,f=c.mapOfPosToGridNode,m=uE(h?.labels,p?.labels),x=m&&uC(m.symbol,!0)?m.symbol:{},y=f&&f[o],{descendants:b,depth:v}=y||{},M=y&&b&&b>0,k="treegrid"===r.type&&d,w=g.indexOf(o)>-1,S="highcharts-treegrid-node-",A=S+"level-",T=u.styledMode;k&&y&&n.removeClass(RegExp(A+".*")).addClass(A+v),t.apply(this,Array.prototype.slice.call(arguments,1)),k&&M?(e=c.isCollapsed(y),function(t,e){let i=t.treeGrid,s=!i.labelIcon,o=e.renderer,r=e.xy,n=e.options,a=n.width||0,h=n.height||0,l=n.padding??t.axis.linkedParent?0:5,d={x:r.x-a/2-l,y:r.y-h/2},c=e.collapsed?90:180,p=e.show&&uO(d.y),u=i.labelIcon;u||(i.labelIcon=u=o.path(o.symbols[n.type](n.x||0,n.y||0,a,h)).addClass("highcharts-label-icon").add(e.group)),u[p?"show":"hide"](),o.styledMode||u.attr({cursor:"pointer",fill:uE(e.color,"#666666"),"stroke-width":1,stroke:n.lineColor,strokeWidth:n.lineWidth||0}),u[s?"attr":"animate"]({translateX:d.x,translateY:d.y,rotation:c})}(this,{color:!T&&n.styles.color||"",collapsed:e,group:n.parentGroup,options:x,renderer:n.renderer,show:w,xy:n.xy}),i=S+(e?"collapsed":"expanded"),s=S+(e?"expanded":"collapsed"),n.addClass(i).removeClass(s),T||n.css({cursor:"pointer"}),[n,l].forEach(t=>{t&&!t.attachedTreeGridEvents&&(uT(t.element,"mouseover",function(){n.addClass("highcharts-treegrid-node-active"),n.renderer.styledMode||n.css({textDecoration:"underline"})}),uT(t.element,"mouseout",function(){!function(t,e){let i=uC(e.style)?e.style:{};t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:i.textDecoration||"none"})}(n,m)}),uT(t.element,"click",function(){a.toggleCollapse()}),t.attachedTreeGridEvents=!0)})):l&&(uP(d),n?.css({cursor:"default"}),l.destroy())}class uR{static compose(t){let e=t.prototype;e.toggleCollapse||(uT(t,"init",uB),uL(e,"getLabelPosition",uI),uL(e,"renderLabel",uD),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.collapse(r);s.setBreaks(n,uE(t,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;if(o&&r){let i=r[e],n=s.expand(i);o.setBreaks(n,uE(t,!0))}}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.toggleCollapse(r);s.setBreaks(n,uE(t,!0))}}}let{extend:uN,isArray:uz,isNumber:uW,isObject:uG,merge:uH,pick:uF,relativeLength:uX}=tt,{getLevelOptions:uY}={getColor:function(t,e){let i,s,o,r,n,a;let h=e.index,l=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,f=p.points,m=p.chart.options.chart;return t&&(i=f[t.i],s=l[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:m.colorCount),o=u&&u[r]),p.chart.styledMode||(n=uF(i&&i.options.color,s&&s.color,o,d&&(t=>{let e=s&&s.colorVariation;return e&&"brightness"===e.key&&h&&g?tO.parse(t).brighten(e.to*(h/g)).get():t})(d),p.color)),a=uF(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:n,colorIndex:a}},getLevelOptions:function(t){let e,i,s,o,r,n;let a={};if(uG(t))for(o=uW(t.from)?t.from:1,n=t.levels,i={},e=uG(t.defaults)?t.defaults:{},uz(n)&&(i=n.reduce((t,i)=>{let s,r,n;return uG(i)&&uW(i.level)&&(r=uF((n=uH({},i)).levelIsConstant,e.levelIsConstant),delete n.levelIsConstant,delete n.level,uG(t[s=i.level+(r?0:o-1)])?uH(!0,t[s],n):t[s]=n),t},{})),r=uW(t.to)?t.to:1,s=0;s<=r;s++)a[s]=uH({},e,uG(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(e+parseFloat(o)/100*(e-1));let t=Number(o);return(n+t)/(e||1)-t}return uX(r,n)},setTreeValues:function t(e,i){let s=i.before,o=i.idRoot,r=i.mapIdToNode[o],n=!1!==i.levelIsConstant,a=i.points[e.i],h=a&&a.options||{},l=[],d=0;e.levelDynamic=e.level-(n?0:r.level),e.name=uF(a&&a.name,""),e.visible=o===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,o)=>{let r=uN({},i);uN(r,{index:o,siblings:e.children.length,visible:e.visible}),s=t(s,r),l.push(s),s.visible&&(d+=s.val)});let c=uF(h.value,d);return e.visible=c>=0&&(d>0||e.visible),e.children=l,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=c,e},updateRootId:function(t){let e,i;return uG(t)&&(i=uG(t.options)?t.options:{},e=uF(t.rootNode,i.rootId,""),uG(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}},{addEvent:uj,isArray:uU,splat:uV,find:u$,fireEvent:u_,isObject:uq,isString:uZ,merge:uK,pick:uJ,removeEvent:uQ,wrap:u0}=tt;function u1(t,e){let i=t.collapseEnd||0,s=t.collapseStart||0;return i>=e&&(s-=.5),{from:s,to:i,showPoints:!1}}function u2(t,e,i){let s=[],o=[],r={},n=e||!1,a={},h=-1,l=uA.getTree(t,{after:function(t){let e=a[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&o.push(e)},before:function(t){let e,i;let o=uq(t.data,!0)?t.data:{},l=uZ(o.name)?o.name:"",d=r[t.parent],c=uq(d,!0)?a[d.pos]:null;n&&uq(c,!0)&&(e=u$(c.children,function(t){return t.name===l}))?(i=e.pos,e.nodes.push(t)):i=h++,!a[i]&&(a[i]=e={depth:c?c.depth+1:0,name:l,id:o.id,nodes:[t],children:[],pos:i},-1!==i&&s.push(l),uq(c,!0)&&c.children.push(e)),uZ(t.id)&&(r[t.id]=t),e&&!0===o.collapsed&&(e.collapsed=!0),t.pos=i}});return{categories:s,mapOfIdToNode:r,mapOfPosToGridNode:a=function(t,e){let i=function(t,s,o){let r=t.nodes,n=s+(-1===s?0:e-1),a=(n-s)/2,h=s+a;return r.forEach(function(t){let e=t.data;uq(e,!0)&&(e.y=s+(e.seriesIndex||0),delete e.seriesIndex),t.pos=h}),o[h]=t,t.pos=h,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){i(t,n+1,o),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,o};return i(t["-1"],-1,{})}(a,i),collapsedNodes:o,tree:l}}function u3(t){let e=t.target;e.axes.filter(t=>"treegrid"===t.type).forEach(function(i){let s=i.options||{},o=s.labels,r=i.uniqueNames,n=e.time.parse(s.max),a=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),h=0,l,d;if(a){let s=[];if(l=i.series.reduce(function(t,i){let o=i.options.data||[],n=o[0],a=Array.isArray(n)&&!n.find(t=>"object"==typeof t);return s.push(a),i.visible&&(o.forEach(function(s){(a||i.options.keys&&i.options.keys.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,e)),uq(s,!0)&&(s.seriesIndex=h,t.push(s))}),!0===r&&h++),t},[]),n&&l.length=0&&e.indexOf(t.x2||0)>=0&&(i=t)}),uq(i,!0)?uK(i):i});t.visible&&t.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=uY({defaults:o,from:1,levels:o&&o.levels,to:i.treeGrid.tree&&i.treeGrid.tree.height}),"beforeRender"===t.type&&(i.treeGrid.collapsedNodes=d.collapsedNodes)}})}function u5(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,r=this.ticks,n=r[e],a,h,l;s&&this.treeGrid.mapOfPosToGridNode?((a=i[(l=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(h={labels:a}),!n&&o?r[e]=n=new o(this,e,void 0,void 0,{category:l.name,tickmarkOffset:l.tickmarkOffset,options:h}):(n.parameters.category=l.name,n.options=h,n.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function u6(t,e,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new u8(o)),r&&(uj(e,"beforeRender",u3),uj(e,"beforeRedraw",u3),uj(e,"addSeries",function(t){if(t.options.data){let e=u2(t.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),uj(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){let e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),uj(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=uK({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function u9(t){let e=this.options,i=this.chart.time,s="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(e.min)??this.dataMin,this.max=this.userMax??i.parse(e.max)??this.dataMax,u_(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let t=s.getExtremes();this.min=uJ(t.min,t.dataMin),this.max=uJ(t.max,t.dataMax),this.tickPositions=s.tickPositions}this.linkedParent=s}else t.apply(this,Array.prototype.slice.call(arguments,1))}function u4(t){let e=this;"treegrid"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label&&i.label.attachedTreeGridEvents&&(uQ(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class u8{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),u0(e,"generateTick",u5),u0(e,"init",u6),u0(e,"setTickInterval",u9),u0(e,"redraw",u4),e.utils={getNode:uA.getNode},o||(o=s)}return uv.compose(t,e,s),pQ.compose(t,i),uR.compose(s),t}constructor(t){this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let o=i.get(t.id),r=s[e.data.indexOf(o)];o&&r&&(o.collapsed=t.collapsed,r.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=u1(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=u1(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return(e.to!==s.to||e.from!==s.from)&&t.push(e),t},[])}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=e&&r<=i&&!(t.brokenAxis&&t.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=u1(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}let{series:u7,seriesTypes:{xrange:gt}}=ry,{extend:ge,isNumber:gi,merge:gs}=tt;class go extends gt{static compose(t,e,i,s){gt.compose(t),e&&(pb.compose(t,e),i)&&(pp.compose(e,i.prototype.pointClass),s&&u8.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,n=t.selected&&"select",a=i.stacking&&!i.borderRadius,h=t.graphic,l;t.options.milestone?gi(r)&&null!==t.y&&!1!==t.visible?(l=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),h?h[e]({d:l}):t.graphic=h=s.path(l).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,n)).shadow(i.shadow,null,a)):h&&(t.graphic=h.destroy()):super.drawPoint(t,e)}translatePoint(t){let e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}go.defaultOptions=gs(gt.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,n=o.xDateFormat,a=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!n&&pV(this.start)&&(n=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));let h=t.chart.time.dateFormat(n,this.start),l=t.chart.time.dateFormat(n,this.end);return a+="
",r?a+=h+"
":a+="Start: "+h+"
End: "+l+"
",a}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),ge(go.prototype,{pointArrayMap:["start","end","y"],pointClass:pU,setData:u7.prototype.setData}),ry.registerSeriesType("gantt",go),O.Connection=O.Connection||lH,O.GanttChart=O.GanttChart||l1,O.Navigator=O.Navigator||cs,O.RangeSelector=O.RangeSelector||cK,O.Scrollbar=O.Scrollbar||d$,O.ganttChart=O.GanttChart.ganttChart,lB.compose(O.SVGRenderer),({compose:function(t,e){lj(lF,"CurrentDateIndication")&&(lX(t,"afterSetOptions",l$),lX(e,"render",l_),lU(e.prototype,"getLabelText",lq))}}).compose(O.Axis,O.PlotLineOrBand),go.compose(O.Axis,O.Chart,O.Series,O.Tick),O.Navigator.compose(O.Chart,O.Axis,O.Series),O.RangeSelector.compose(O.Axis,O.Chart),O.Scrollbar.compose(O.Axis),/** + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-gantt * * (c) 2017-2024 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng * * License: www.highcharts.com/license - */O.product="Highcharts Gantt";let go=O;return C.default})()); \ No newline at end of file + */O.product="Highcharts Gantt";let gr=O;return C.default})()); \ No newline at end of file diff --git a/highcharts-gantt.src.js b/highcharts-gantt.src.js index 713c42e535..9fa738c5d4 100644 --- a/highcharts-gantt.src.js +++ b/highcharts-gantt.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi @@ -74,12 +74,12 @@ var Globals; * Constants * * */ - Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.0', Globals.win = (typeof window !== 'undefined' ? + Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ? window : {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', @@ -3500,7 +3500,7 @@ const SeriesPalettes = { * */ -const { win: Time_win } = Core_Globals; +const { pageLang, win: Time_win } = Core_Globals; const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities; /* * @@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -3688,7 +3696,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (Time_isString(options)) { options = this.str2dtf(options); @@ -7066,14 +7074,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Core_Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions @@ -8834,7 +8834,7 @@ AST.bypassHTMLFiltering = false; const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults; -const { doc: Templating_doc } = Core_Globals; +const { pageLang: Templating_pageLang } = Core_Globals; const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities; const helpers = { @@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) @@ -9691,9 +9691,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -9725,7 +9723,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - SVGElement_getAlignFactor(alignOptions.verticalAlign); + SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed @@ -11608,7 +11608,9 @@ class SVGLabel extends SVG_SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { @@ -12636,7 +12638,7 @@ class SVGRenderer { this.url = this.getReferenceURL(); // Add description const desc = this.createElement('desc').add(); - desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.0')); + desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1')); this.defs = this.createElement('defs').add(); this.allowHTML = allowHTML; this.forExport = forExport; @@ -27477,7 +27479,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } @@ -42627,9 +42631,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + @@ -54320,7 +54323,7 @@ class RangeSelector { * exporting button */ handleCollision(xOffsetForExportButton) { - const { chart, buttonGroup, inputGroup } = this; + const { chart, buttonGroup, inputGroup, initialButtonGroupWidth } = this; const { buttonPosition, dropdown, inputPosition } = this.options; const moveInputsDown = () => { if (inputGroup && buttonGroup) { @@ -54337,7 +54340,7 @@ class RangeSelector { if (inputGroup && buttonGroup) { if (inputPosition.align === buttonPosition.align) { moveInputsDown(); - if (this.initialButtonGroupWidth > + if (initialButtonGroupWidth > chart.plotWidth + xOffsetForExportButton - 20) { this.collapseButtons(); } @@ -54345,7 +54348,7 @@ class RangeSelector { this.expandButtons(); } } - else if (this.initialButtonGroupWidth - + else if (initialButtonGroupWidth - xOffsetForExportButton + inputGroup.getBBox().width > chart.plotWidth) { @@ -54360,6 +54363,14 @@ class RangeSelector { this.expandButtons(); } } + else if (buttonGroup && dropdown === 'responsive') { + if (initialButtonGroupWidth > chart.plotWidth) { + this.collapseButtons(); + } + else { + this.expandButtons(); + } + } // Forced states if (buttonGroup) { if (dropdown === 'always') { @@ -56394,7 +56405,7 @@ Pathfinder.prototype.algorithms = PathfinderAlgorithms; ;// ./code/es-modules/masters/modules/pathfinder.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/pathfinder * @requires highcharts * @@ -56522,7 +56533,7 @@ const StaticScale = { ;// ./code/es-modules/masters/modules/static-scale.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/static-scale * @requires highcharts * @@ -57333,7 +57344,7 @@ Series_SeriesRegistry.registerSeriesType('xrange', XRangeSeries); ;// ./code/es-modules/masters/modules/xrange.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/xrange * @requires highcharts * @@ -60881,7 +60892,7 @@ Series_SeriesRegistry.registerSeriesType('gantt', GanttSeries); ;// ./code/es-modules/masters/modules/gantt.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/gantt * @requires highcharts * @@ -60925,7 +60936,7 @@ gantt_src_G.Scrollbar.compose(gantt_src_G.Axis); ;// ./code/es-modules/masters/highcharts-gantt.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-gantt * * (c) 2017-2024 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng diff --git a/highcharts-more.js b/highcharts-more.js index 1de99f903c..07ce03749a 100644 --- a/highcharts-more.js +++ b/highcharts-more.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-more * @requires highcharts * diff --git a/highcharts-more.src.js b/highcharts-more.src.js index 15727ab78a..06210c55a5 100644 --- a/highcharts-more.src.js +++ b/highcharts-more.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts-more * @requires highcharts * diff --git a/highcharts.d.ts b/highcharts.d.ts index 4d216c118e..3d3f2e96eb 100644 --- a/highcharts.d.ts +++ b/highcharts.d.ts @@ -97913,7 +97913,15 @@ export class Tick { * options set. * * The Time object is available from Highcharts.Chart#time, which refers to - * `Highcharts.time` if no individual time settings are applied. + * `Highcharts.time` unless individual time settings are applied for each chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. */ export class Time { /** @@ -97922,7 +97930,17 @@ export class Time { * time options set. * * The Time object is available from Highcharts.Chart#time, which refers to - * `Highcharts.time` if no individual time settings are applied. + * `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware + * that using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. + * However, the recommended best practice is to use `setOptions` to define + * global time settings unless specific configurations are needed for each + * chart. * * @param options * Time options as defined in chart.options.time. diff --git a/highcharts.js b/highcharts.js index 00677a8411..89acfc2b8e 100644 --- a/highcharts.js +++ b/highcharts.js @@ -1,9 +1,9 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e;var i,s,o,r,a,n,h,l,d,c,p,g,u,f,m,x,y,b={};b.d=(t,e)=>{for(var i in e)b.o(e,i)&&!b.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},b.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var v={};b.d(v,{default:()=>ly}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.0",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(i||(i={}));let k=i,{charts:w,doc:M,win:S}=k;function T(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=I(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),G(s,function(e,i){t+=` - - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}j(k,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);S.console&&-1===T.messages.indexOf(a)&&console.warn(a)}),T.messages.push(a)}function C(t,e){return parseInt(t,e||10)}function A(t){return"string"==typeof t}function P(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function L(t,e){return!!t&&"object"==typeof t&&(!e||!P(t))}function O(t){return L(t)&&"number"==typeof t.nodeType}function E(t){let e=t&&t.constructor;return!!(L(t,!0)&&!O(t)&&e&&e.name&&"Object"!==e.name)}function I(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function D(t){return null!=t}function B(t,e,i){let s;let o=A(e)&&!D(i),r=(e,i)=>{D(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return A(e)?r(i,e):G(e,r),s}function N(t){return P(t)?t:[t]}function z(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function R(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(T||(T={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let F=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let U=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();S.jQuery&&(S.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new k[A(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):w[B(this[0],"data-highcharts-chart")]});let $={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;k.Point&&t instanceof k.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!k.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){Y(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=N(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=S.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),R(s,"opacity"!==i)&&(o=C(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return X(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:G,offset:function(t){let e=M.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(S.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(S.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:R,pInt:C,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:Y,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:N,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return A(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:U,useSerialIds:function(e){return t=R(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{win:V}=k,{defined:q,error:Z,extend:_,isNumber:K,isObject:J,isString:Q,merge:tt,objectEach:te,pad:ti,splat:ts,timeUnits:to,ucfirst:tr}=$,ta=k.isSafari&&V.Intl&&!V.Intl.DateTimeFormat.prototype.formatRange,tn=t=>void 0===t.main,th=t=>["D","L","M","X","J","V","S"].indexOf(t),tl=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=V.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=tt(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||V.Date||Date;let s=t.timezone;q(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,th(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale){let s=JSON.stringify(t)+i;Q(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(Z(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):Z(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&_(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||ta||(n-=36e5)}}return n}parse(t){if(!Q(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(K(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(K(a))return a}return 0}dateFormat(t,e,i){let s=k.defaultOptions?.lang;if(!q(e)||isNaN(e))return s?.invalidDate||"";if(Q(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(Q(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,g=s?.shortWeekdays||this.shortWeekdays,u=s?.months||this.months,f=s?.shortMonths||this.shortMonths;te(_({a:g?g[c]:p[c].substr(0,3),A:p[c],d:ti(a),e:ti(a,2," "),w:c,b:f[r],B:u[r],m:ti(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:ti(n),k:n,I:ti(n%12||12),l:n%12||12,M:ti(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:ti(l),L:ti(d,3)},k.dateFormats),function(s,o){if(Q(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(J(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(_({timeZone:s},t),e)+r}return i?tr(t):t}resolveDTLFormat(t){return J(t,!0)?J(t,!0)&&tn(t)?{main:t}:t:{main:(t=ts(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,g,u]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),q(e)){if(f=h>=to.second?0:n*Math.floor(f/n),h>=to.second&&(u=h>=to.minute?0:n*Math.floor(u/n)),h>=to.minute&&(g=h>=to.hour?0:n*Math.floor(g/n)),h>=to.hour&&(p=h>=to.day?0:n*Math.floor(p/n)),h>=to.day&&(c=h>=to.month?1:Math.max(1,n*Math.floor(c/n))),h>=to.month&&(d=h>=to.year?0:n*Math.floor(d/n)),h>=to.year&&(l-=l%n),h===to.week){n&&(e=o.makeTime(l,d,c,p,g,u,f));let t=th(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*to.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=to.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=_(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in to){if(t===to.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(to[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:td}=k,{fireEvent:tc,merge:tp}=$,tg={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:td?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};tg.chart.styledMode=!0,tg.chart.styledMode=!1;let tu=new tl(tg.time),tf={defaultOptions:tg,defaultTime:tu,getOptions:function(){return tg},setOptions:function(t){return tc(k,"setOptions",{options:t}),tp(!0,tg,t),t.time&&tu.update(tg.time),t.lang&&"locale"in t.lang&&tu.update({locale:t.lang.locale}),tg}},{isNumber:tm,merge:tx,pInt:ty,defined:tb}=$;class tv{static parse(t){return t?new tv(t):tv.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=k.Color;if(r&&r!==tv)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tv(t[1]));else if("string"==typeof t)for(this.input=t=tv.names[t.toLowerCase()]||t,s=tv.parsers.length;s--&&!i;)(e=(o=tv.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tx(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tm(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tm(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=ty(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tm(i[0])||!tm(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tv.names={white:"#ffffff",black:"#000000"},tv.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[ty(t[1]),ty(t[2]),ty(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[ty(t[1]),ty(t[2]),ty(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[ty(t[1]+t[1],16),ty(t[2]+t[2],16),ty(t[3]+t[3],16),tb(t[4])?ty(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[ty(t[1],16),ty(t[2],16),ty(t[3],16),tb(t[4])?ty(t[4],16)/255:1]}}],tv.None=new tv("");let{parse:tk}=tv,{win:tw}=k,{isNumber:tM,objectEach:tS}=$;class tT{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tS(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[r,r];function u(t,e){for(;t.length{let i=tB(t.options.animation);r=tO(e)&&tC(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tD(t,e.options.chart.animation,!0)},stop:tN},{SVG_NS:tR,win:tW}=k,{attr:tH,createElement:tX,css:tF,error:tG,isFunction:tY,isString:tj,objectEach:tU,splat:t$}=$,{trustedTypes:tV}=tW,tq=tV&&tY(tV.createPolicy)&&tV.createPolicy("highcharts",{createHTML:t=>t}),tZ=tq?tq.createHTML(""):"";class t_{static filterUserAttributes(t){return tU(t,(e,i)=>{let s=!0;-1===t_.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tj(e)&&t_.allowedReferences.some(t=>0===e.indexOf(t))),s||(tG(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tj(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t_.emptyHTML,e&&new t_(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return t$(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?k.doc.createTextNode(e.textContent):void 0,n=t_.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==t_.allowedTags.indexOf(r)||n){let s="svg"===r?tR:i.namespaceURI||tR,h=k.doc.createElementNS(s,r),l=e.attributes||{};tU(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tH(h,n?l:t_.filterUserAttributes(l)),e.style&&tF(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tG(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(tq?tq.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tX("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t_.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t_.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t_.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t_.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t_.emptyHTML=tZ,t_.bypassHTMLFiltering=!1;let{defaultOptions:tK,defaultTime:tJ}=tf,{doc:tQ}=k,{extend:t0,getNestedProperty:t1,isArray:t2,isNumber:t3,isObject:t5,isString:t6,pick:t9,ucfirst:t4}=$,t8={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t2(t)&&t.map((i,s)=>ee(e.body,t0(t5(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:t4,unless:t=>!t},t7={},et=t=>/^["'].+["']$/.test(t);function ee(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||tK.lang,l=i&&i.time||tJ,d=i&&i.numberFormatter||ei,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:et(t)?t.slice(1,-1):t1(t,e))},p,g,u=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),g&&g.isBlock||(g={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(g.isBlock?i:p)[1].split(" ")[0].replace("#","");t8[a]&&(g.isBlock&&a===g.fn&&u++,g.fn||(g.fn=a));let n="else"===p[1];if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||n)){if(u)!n&&u--;else{let e=g.startInner,i=t.substr(e,p.index-e);void 0===g.body?(g.body=i,g.startInner=p.index+p[0].length):g.elseBody=i,g.find+=i+p[0],n||(r.push(g),g=void 0)}}else g.isBlock||r.push(g);if(s&&!g?.isBlock)break}return r.forEach(s=>{let r,p;let{body:g,elseBody:u,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=t8[m].length;p--;)t.unshift(c(o[p+1]));r=t8[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ee(r?g:u,e,i))}else{let t=et(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&t6(r)&&(r=`"${r}"`)}t=t.replace(s.find,t9(r,""))}),f?ee(t,e,i):t}function ei(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||tK.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):t3(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),t3(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,g=p?"en":this?.locale||h.locale||tQ.body.closest("[lang]")?.lang,u=JSON.stringify(c)+g;return o=(t7[u]??(t7[u]=new Intl.NumberFormat(g,c))).format(t),p&&(o=o.replace(/\,/g,s??",").replace(".",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let es={dateFormat:function(t,e,i){return tJ.dateFormat(t,e,i)},format:ee,helpers:t8,numberFormat:ei};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,k.Renderer=s)}}(s||(s={}));let eo=s,{clamp:er,pick:ea,pushUnique:en,stableSort:eh}=$;(o||(o={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(eh(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>r;)f=e[c=Math.floor(p)],en(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(eh(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:ea(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=er(m-f.size*f.align,0,i-f.size);for(c=e.length,u=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),eh(o,a),o};let el=o,{animate:ed,animObject:ec,stop:ep}=tz,{deg2rad:eg,doc:eu,svg:ef,SVG_NS:em,win:ex,isFirefox:ey}=k,{addEvent:eb,attr:ev,createElement:ek,crisp:ew,css:eM,defined:eS,erase:eT,extend:eC,fireEvent:eA,getAlignFactor:eP,isArray:eL,isFunction:eO,isNumber:eE,isObject:eI,isString:eD,merge:eB,objectEach:eN,pick:ez,pInt:eR,pushUnique:eW,replaceNested:eH,syncTimeout:eX,uniqueKey:eF}=$;class eG{_defaultGetter(t){let e=ez(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o={"text-align":t?.align},r=this.renderer,a=r.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let h=!i||eD(i)?i||"renderer":void 0;h&&(n&&eW(a,this),i=void 0);let l=ez(i,r[h],r),d=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*eP(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*eP(t.verticalAlign);return o[e?"translateX":"x"]=Math.round(d),o[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](o),this.placed=!0),this.alignAttr=o,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ec(ez(e,this.renderer.globalAnimation,!0)),o=s.defer;return eu.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eX(()=>{this.element&&ed(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eN(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&k.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=eu.createElementNS(em,"tspan");ev(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=eu.createElementNS(em,"tspan");a.textContent="​",ev(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eG.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eN(t,function(e,i){l=!1,s||ep(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eF()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eC(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=ew(i,e),n=ew(s,e);return eC(t,{x:a,y:n,width:ew(o,e)-a,height:ew(r,e)-n}),eS(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,g,u=[],f;eA(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eL(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eS(a.gradientUnits)&&(n=a,a=eB(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eN(a,function(t,e){"id"!==e&&u.push(e,t)}),eN(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=eF();let t=h[u]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tv.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eN(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eC(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eR(t.width)),eC(this.styles,t),o&&!ef&&this.renderer.forExport&&delete t.width;let r=ey&&t.fontSize||null;r&&(eE(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eB(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eM(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eR(s[e])*ez(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ep(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=ez(e,this.rotation,0),f=h.styledMode?n&&eG.prototype.getStyle.call(n,"font-size"):l.fontSize;if(eS(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,u,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(g||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eM(e,{display:t})},eO(o)&&o("none"),i=n.getBBox?eC({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eO(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),u&&(i=this.getRotatedBox(i,u));let t={bBox:i};eA(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eP(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*eg,g=(e-90)*eg,u=Math.cos(p),f=Math.sin(p),m=o*u,x=o*f,y=Math.cos(g),b=Math.sin(g),[[v,k],[w,M]]=[h,l].map(t=>[t-t*u,t*f]),S=i+d*(o-m)+v+M+c*y,T=S+m,C=T-r*y,A=C-m,P=s+c-d*x-k+w+c*b,L=P+x,O=L-r*b,E=O-x,I=Math.min(S,T,C,A),D=Math.min(P,L,O,E),B=Math.max(S,T,C,A)-I,N=Math.max(P,L,O,E)-D;return{x:I,y:D,width:B,height:N,polygon:[[S,P],[T,L],[C,O],[A,E]]}}getStyle(t){return ex.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=em,this.element="span"===e||"body"===e?ek(e):eu.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eA(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eb(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eD(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eB(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eI(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eR(t):""!==t&&(ev(i=eu.createElementNS(em,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eG.symbolCustomAttribs.forEach(function(i){e[i]=ez(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||eu.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eH(ez(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eS(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+ez(o,e.getAttribute("x"),0)+" "+ez(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eS(a)||eS(n))&&d.push("scale("+ez(a,1)+" "+ez(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,g;if(eS(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eS(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=o.childNodes).length-1;g>=0&&!d;g--)c=!eS(l=(h=n[g]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!g?(o.insertBefore(r,n[g]),d=!0):(eR(l)<=t||c&&(!eS(t)||t>=0))&&(o.insertBefore(r,n[g+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}eG.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eG.prototype.strokeSetter=eG.prototype.fillSetter,eG.prototype.yGetter=eG.prototype.xGetter,eG.prototype.matrixSetter=eG.prototype.rotationOriginXSetter=eG.prototype.rotationOriginYSetter=eG.prototype.rotationSetter=eG.prototype.scaleXSetter=eG.prototype.scaleYSetter=eG.prototype.translateXSetter=eG.prototype.translateYSetter=eG.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eY=eG,{defined:ej,extend:eU,getAlignFactor:e$,isNumber:eV,merge:eq,pick:eZ,removeEvent:e_}=$;class eK extends eY{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=eK.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=e$(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&eV(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=eq(t),eK.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eY.prototype.css.call(this,t)}destroy(){e_(this.element,"mouseenter"),e_(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eY.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=eZ(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:eZ(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&ej(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){eV(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!eV(this.widthSetting)||!eV(this.heightSetting)||this.textAlign)&&ej(e.textStr)?e.getBBox(void 0,0):eK.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(eU(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+e$(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=eV(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=eZ(this.paddingLeft,t),i=eZ(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}eK.emptyBBox={width:0,height:0,x:0,y:0},eK.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:eJ,isNumber:eQ,pick:e0}=$;function e1(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e0(o.r,i),h=e0(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return e1(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e2,roundedRect:e3,square:e2,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:e6,SVG_NS:e9,win:e4}=k,{attr:e8,extend:e7,fireEvent:it,isString:ie,objectEach:ii,pick:is}=$,io=(t,e)=>t.substring(0,e)+"…",ir=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=is(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new t_(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(e6.createTextNode(this.unescapeEntities(s)));ie(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=e8(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),e8(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,io),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(e6.createTextNode(e),t);let s=e6.createElementNS(e9,"tspan");s.textContent="​",e8(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,io)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===e4.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===e4.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),e7(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),it(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,g=(e||i||"").length,u=g;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=g;)u=Math.ceil((p+g)/2),i&&(n=a(i,u)),h=f(u,n&&n.length-1),p===g?p=g+1:h>o?g=u-1:p=u;0===g?t.textContent="":e&&g===e.length-1||(t.textContent=n||a(e||i,u)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,io)}i&&i.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ii(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:ia}=tf,{charts:ih,deg2rad:il,doc:id,isFirefox:ic,isMS:ip,isWebKit:ig,noop:iu,SVG_NS:im,symbolSizes:ix,win:iy}=k,{addEvent:ib,attr:iv,createElement:ik,crisp:iw,css:iM,defined:iS,destroyObjectProperties:iT,extend:iC,isArray:iA,isNumber:iP,isObject:iL,isString:iO,merge:iE,pick:iI,pInt:iD,replaceNested:iB,uniqueKey:iN}=$;class iz{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),iv(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iv(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(id.createTextNode("Created with Highcharts 12.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),ic&&t.getBoundingClientRect&&((n=function(){iM(t,{left:0,top:0}),h=t.getBoundingClientRect(),iM(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=ib(iy,"resize",n))}definition(t){return new t_([t]).addToDOM(this.defs.element)}getReferenceURL(){if((ic||ig)&&id.getElementsByTagName("base").length){if(!iS(e)){let t=iN(),i=new t_([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(id.body);iM(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=id.elementFromPoint(6,6);e="hitme"===(s&&s.id),id.body.removeChild(i)}if(e)return iB(iy.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iC({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iT(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iE({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ir(t).buildSVG()}getContrast(t){let e=tv.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0;o=iE(ia.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let u=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t_.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iE(m[0],t_.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),ib(d.element,ip?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),ib(d.element,ip?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{if(1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iL(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iC({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iS(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iw(i[1],e)),iS(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iw(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iA(t)?e.d=t:iL(t)&&iC(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iL(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iL(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iL(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iC(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iv(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iI(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iP(e)&&(a.x=e),iP(i)&&(a.y=i),iP(s)&&(a.width=s),iP(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iy.Image;ib(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof e&&(n=u.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iC(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&iC(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iI(r&&r.width,ix[h]&&ix[h].width),s.imgheight=iI(r&&r.height,ix[h]&&ix[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),iv(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iS(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iS(s.imgwidth)&&iS(s.imgheight)?l(s):(s.attr({width:0,height:0}),ik("img",{onload:function(){let t=ih[d.chartIndex];0===this.width&&(iM(this,{position:"absolute",top:"-999em"}),id.body.appendChild(this)),ix[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iS(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iC(iz.prototype,{Element:eY,SVG_NS:im,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:e5,draw:iu}),eo.registerRendererType("svg",iz,!0);let{composed:iR}=k,{attr:iW,css:iH,createElement:iX,defined:iF,extend:iG,getAlignFactor:iY,isNumber:ij,pInt:iU,pushUnique:i$}=$;function iV(t,e,i){let s=this.div?.style||i.style;eY.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let iq=(t,e)=>{if(!t.div){let i=iW(t.element,"class"),s=t.css,o=iX("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=iV,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eY.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class iZ extends eY{static compose(t){i$(iR,this.compose)&&(t.prototype.html=function(t,e,i){return new iZ(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=iU(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),ij(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iG(this.styles,t),iH(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:g=0}=this,{display:u="block",whiteSpace:f}=n;if(iH(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iH(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iH(t,{width:e>s||i||r?l+"px":"auto",display:u,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,iF(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iF(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,iY(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${g+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??g)-x-g-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iH(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iH(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=iq(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t_.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i_=iZ.prototype;i_.visibilitySetter=i_.opacitySetter=iV,i_.ySetter=i_.rotationSetter=i_.rotationOriginXSetter=i_.rotationOriginYSetter=i_.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(r||(r={}));let iK=r,{addEvent:iJ,isFunction:iQ,objectEach:i0,removeEvent:i1}=$;(a||(a={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i0(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i1(t,i,t.eventOptions[i]),delete t.eventOptions[i]),iQ(e)&&(t.eventOptions[i]=e,iJ(t,i,e,{order:0})))})};let i2=a,{deg2rad:i3}=k,{clamp:i5,correctFloat:i6,defined:i9,destroyObjectProperties:i4,extend:i8,fireEvent:i7,getAlignFactor:st,isNumber:se,merge:si,objectEach:ss,pick:so}=$,sr=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,i7(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=so(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(o?so(o[n],a[n],n):n);r&&se(y)&&(y=i6(r.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:se(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y};i7(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),es.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),w=m&&m.list;w?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*i3))):(f=s-d*c,m=s+(1-d)*c,fn&&(g=n-t.x+g*d,u=-1),(g=Math.min(p,g))g||e.autoRotation&&(h.styles||{}).width)&&(x=g)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(i8({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):ss(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=so(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(i6(p)c)&&(i=0);let g=so(i,this.label&&this.label.newOpacity,1);i=so(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,g,t),this.isNew=!1,i7(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=so(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=so(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=so(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,g=!0;n&&se(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):g=!1,l&&s%l&&(g=!1),g&&se(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sa}=tz,{xAxis:sn,yAxis:sh}=iK,{defaultOptions:sl}=tf,{registerEventOptions:sd}=i2,{deg2rad:sc}=k,{arrayMax:sp,arrayMin:sg,clamp:su,correctFloat:sf,defined:sm,destroyObjectProperties:sx,erase:sy,error:sb,extend:sv,fireEvent:sk,getClosestDistance:sw,insertItem:sM,isArray:sS,isNumber:sT,isString:sC,merge:sA,normalizeTickInterval:sP,objectEach:sL,pick:sO,relativeLength:sE,removeEvent:sI,splat:sD,syncTimeout:sB}=$,sN=(t,e)=>sP(e,void 0,void 0,sO(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sv(sl,{xAxis:sn,yAxis:sA(sn,sh)});class sz{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sk(this,"init",{userOptions:e}),this.opposite=sO(e.opposite,this.opposite),this.side=sO(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sk(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sO(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sS(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sm(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sO(r.crosshair,sD(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sM(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sm(this.reversed)&&(this.reversed=!0),this.labelRotation=sT(a.rotation)?a.rotation:void 0,sd(this,r),sk(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sA(e,sl[this.coll],t),sk(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sT(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sl.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sk(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sT(a)||a instanceof Date||(o=o.filter(sT),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sO(e.dataMin,a),a),e.dataMax=Math.max(sO(e.dataMax,n),n)));else{let t=i.applyExtremes();sT(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sO(e.dataMin,a),a)),sT(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sO(e.dataMax,n),n)),sm(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sk(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sT(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,g=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(g=(t=t*d+c-h)/p+n,l&&(g=a.lin2val(g))):(l&&(t=a.val2lin(t)),g=d*(t-n)*p+c+d*h+(sT(r)?p*r:0),a.isRadial||(g=sf(g))),g}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,g,u,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=su(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sk(this,"getPlotLinePath",b,function(t){g=f=(c=su(c=sO(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,u=m=h-c-d,sT(c)?e.horiz?(u=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),g=f=y(g,s,s+e.width)):(g=s,f=l-e.right+(i.scrollablePixelsX||0),u=m=y(u,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",g,u],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sf(Math.floor(e/t)*t),n=sf(Math.ceil(i/t)*t),h=[];if(sf(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sf(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sO(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sT(s)&&sT(o)&&sT(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sp(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sg(l))-ot-e),t=sw([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sS(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sm(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sO(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sT(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sO(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sC(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sk(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sT(t)&&sT(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sT(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:g,floor:u,linkedTo:f,softMax:m,softMin:x}=h,y=sT(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,w=0,M,S=sT(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,T,C,A,P;if(r||e||y||this.getTickAmount(),A=sO(this.userMin,d.parse(h.min)),P=sO(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,M=y.getExtremes(),this.min=sO(M.min,M.dataMin),this.max=sO(M.max,M.dataMax),this.type!==y.type&&sb(11,!0,i)):(l&&sm(c)&&sT(s)&&sT(o)&&(o>=c?(T=c,k=0):s<=c&&(C=c,v=0)),this.min=sO(A,T,o),this.max=sO(P,C,s)),sT(this.max)&&sT(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sO(o,this.min))&&sb(10,!0,i),this.min=sf(n.log2lin(this.min),16),this.max=sf(n.log2lin(this.max),16)),this.range&&sT(o)&&(this.userMin=this.min=A=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sk(this,"foundExtremes"),this.adjustForMinRange(),sT(this.min)&&sT(this.max)){if(!sT(this.userMin)&&sT(x)&&xthis.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(w=this.max-this.min)||(!sm(A)&&k&&(this.min-=w*k),sm(P)||!v||(this.max+=w*v)),!sT(this.userMin)&&sT(u)&&(this.min=Math.max(this.min,u)),!sT(this.userMax)&&sT(g)&&(this.max=Math.min(this.max,g)),l&&sT(o)&&sT(s)){let t=c||0;!sm(A)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sm(P)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sm(h.min)?this.max=this.min:sm(h.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&sT(this.min)&&sT(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sO(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sk(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sk(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let L=sO(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sb(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sN(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sT(this.min)&&sT(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sk(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sk(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sT(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sT(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sT(this.threshold)){let t=su((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sm(t.tickInterval)||i||!(this.lenr.push(sf(r[r.length-1]+p)),f=()=>r.unshift(sf(r[0]-p));if(sT(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(g=a-1-g)),t.hasData()&&sT(s)&&sT(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sT(g)&&sT(t.threshold)){for(;r[g]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():u();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sk(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sk(this,"setExtremes",o=sv(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sE(sO(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sE(sO(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sE(sO(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sE(sO(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sf(t.lin2log(this.min)):this.min,max:t?sf(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sO(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sk(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sf(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sf(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sT(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(sc*i))))+Math.abs(i/360))u&&(u=i)}),this.maxLabelLength=u,this.autoRotation?u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sv(a,{width:`${p}px`,lineClamp:g})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sm(this.min)&&sm(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sA(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sr(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sT(s.crossing),g=e.axisOffset,u=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,w;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sO(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sL(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sm(y=d.offset)?0:sO(d.margin,i?5:10))),t.renderLine(),t.offset=f*sO(s.offset,g[o]?g[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=w,k+=f*(i?sO(c.y,t.tickRotCorr.y+f*c.distance):sO(c.x,f*c.distance))),t.axisTitleMargin=sO(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&u){let e=this.tickSize("tick");g[o]=Math.max(g[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;u[h]=Math.max(u[h],i)}sk(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,g={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],u=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?g+l:u+(n?this.width:0)+h+l,y:e?u+d-(n?this.height:0)+h:g+d};return sk(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sr(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sr(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,g=a.stackLabels,u=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sa(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sL(t,function(t){t.isActive=!1})}),sT(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sT(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sr(i,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sY(t=sj("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(h||(h={}));let sU=h,{erase:s$,extend:sV,isNumber:sq}=$;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!sq(this.min)||!sq(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),sZ.compose(s9,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){s2(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),g=e.borderWidth,u=e.label,{label:f,svgElem:m}=this,x=[],y,b=sQ(c)&&sQ(d),v=sQ(p),k=!m,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},M=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=s6(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",g&&(w.stroke=e.borderColor,w["stroke-width"]=g))),l.zIndex=a,M+="-"+a,(y=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=y=n.g("plot-"+M).attr(l).add()),m||(this.svgElem=m=n.path().attr(w).add(y)),sQ(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(sQ(c)&&sQ(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(s5(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),u&&(sQ(u.text)||sQ(u.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(u=s3({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},u),this.renderLabel(u,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(s3({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=sJ(h),c=sJ(l),p=sK(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:sK(l)-c}),(!n.alignValue||"left"===n.alignValue||sQ(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return sQ(t.formatter)?t.formatter.call(this):t.text}destroy(){s1(this.axis.plotLinesAndBands,this),delete this.axis,s0(this)}}let{animObject:s4}=tz,{format:s8}=es,{composed:s7,dateFormats:ot,doc:oe,isSafari:oi}=k,{distribute:os}=el,{addEvent:oo,clamp:or,css:oa,discardElement:on,extend:oh,fireEvent:ol,isArray:od,isNumber:oc,isObject:op,isString:og,merge:ou,pick:of,pushUnique:om,splat:ox,syncTimeout:oy}=$;class ob{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||ox(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),on(this.container)),$.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=ox(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+of(t.colorIndex,o.colorIndex),r&&r.className].filter(og).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=eo.getRendererType();this.container=a=k.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),oa(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&k.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oe,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,g={},u=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),w=v("x"),M,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let T=!this.followPointer&&of(i.ttBelow,!d&&!n===S),C=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+u)}},A=function(t,e,i,o,r){if(re-s)return!1;re-o/2?g[t]=e-o-2:g[t]=r-i/2},P=function(t){[k,w]=[w,k],M=t},L=()=>{!1!==C.apply(0,k)?!1!==A.apply(0,w)||M||(P(!0),L()):M?g.x=g.y=0:(P(!0),L())};return(n&&!d||this.len>1)&&P(),L(),g}hide(t){let e=this;$.clearTimeout(this.hideTimer),t=of(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oy(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=of(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=s4(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=ox(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;$.clearTimeout(this.hideTimer),this.allowShared=!(!od(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),g=p[0],u=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=og(h)?s8(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=of(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=g,r=u;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:or(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:g,plotY:u,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ol(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:g,options:{positioner:u},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?oe.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:w,top:M}=f.getChartPosition(),S=h+x,T=0,C=a-l;function A(t,e,s,o,r=!0){let a,n;return s?(a=k?0:C,n=or(t-o/2,y.left,y.right-o-(i.outside?w:0))):(a=e-S,n=or(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}og(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:g.padding,r:g.borderRadius};c||(t.fill=g.backgroundColor,t["stroke-width"]=g.borderWidth??1),o=v.label("",0,0,g[r?"headerShape":"shape"],void 0,void 0,g.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(g.style).attr({stroke:g.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(T=m.height,C+=T,k&&(S-=T));let{anchorX:w,anchorY:M}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+or(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=or(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof M){let e=m.height+1,s=u?u.call(i,x,e,r):A(w,M,l,x);t.push({align:u?0:void 0,anchorX:w,anchorY:M,boxWidth:x,point:r,rank:of(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!u&&P.some(t=>{let{outside:e}=i,s=(e?w:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=A(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return oh(t,{target:i,x:e})})),i.cleanSplit(),os(P,C);let L={left:w,right:w};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&w+eL.right&&(L.right=w+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(L.right-L.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:O,outside:E,renderer:I}=i;if(E&&O&&I){let{width:t,height:e,x:i,y:s}=b.getBBox();I.setSize(t+i,e+s,!1),O.style.left=L.left+"px",O.style.top=M+"px"}oi&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return ol(this,"headerFormatter",a,function(e){if(r&&!n&&oc(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(op(n)){let t=n;ot[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=s8(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,ou(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),g=(o.positioner||this.getPosition).call(this,h,n,t),u=k.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(g.x+=l-s,g.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(or(h+x,0,u.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(oa(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-g.x,m+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,m)}}!function(t){t.compose=function(e){om(s7,"Core.Tooltip")&&oo(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(ob||(ob={}));let ov=ob,{animObject:ok}=tz,{defaultOptions:ow}=tf,{format:oM}=es,{addEvent:oS,crisp:oT,erase:oC,extend:oA,fireEvent:oP,getNestedProperty:oL,isArray:oO,isFunction:oE,isNumber:oI,isObject:oD,merge:oB,pick:oN,syncTimeout:oz,removeEvent:oR,uniqueKey:oW}=$;class oH{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oA({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oA(this,t=oH.prototype.optionsToObject.call(this,t)),this.options=this.options?oA(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oH.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oI(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oI(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=ok(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oR(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oC(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oz(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oP(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oL(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oW()),this.resolveColor(),t.chart.pointCount++,oP(this,"afterInit")}isValid(){return(oI(this.x)||this.x instanceof Date)&&oI(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oI(t)||null===t)r[s[0]]=t;else if(oO(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oH.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oI(i)&&oI(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oN(this.options.colorIndex,a),this.color=oN(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oD(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oM(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oD(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oD(l.data[o],!0)||oD(t,!0)?r.options:oN(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oN(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oN(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oB(this.series.options.point,this.options),i=e.events?.[t];oE(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oS(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oR(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=ow.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=oN(d.options.chart.animation,o.animation);let e=u.opacity;i.options.inactiveOtherPoints&&oI(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,oN(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height,oB(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oN(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oA({fill:this.color||i.color,"fill-opacity":y.opacity},t_.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oP(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oT(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oX=oH,{parse:oF}=tv,{charts:oG,composed:oY,isTouchDevice:oj}=k,{addEvent:oU,attr:o$,css:oV,extend:oq,find:oZ,fireEvent:o_,isNumber:oK,isObject:oJ,objectEach:oQ,offset:o0,pick:o1,pushUnique:o2,splat:o3}=$;class o5{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!k.chartCount&&(o5.unbindDocumentMouseUp.forEach(t=>t.unbind()),o5.unbindDocumentMouseUp.length=0,o5.unbindDocumentTouchEnd&&(o5.unbindDocumentTouchEnd=o5.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),oQ(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o_(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=oJ(o)?o.enabled:o,p=r&&t[`${r}Key`],g=t.chartX,u=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(gn+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(g,u);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oF("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o_(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}oK(i.index)&&(this.selectionMarker=s.destroy())}i&&oK(i.index)&&(oV(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);oJ(r,!0)&&r.series&&(!oJ(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&oK(o.x)&&oK(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o0(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o1(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o_(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=oZ(t.points,function(t){return t.x===c.x&&!t.isNull});oJ(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),o_(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o$(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o_(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o1(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return oq(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o_(i.series,"click",oq(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(oq(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o_(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),k.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oG[o1(o5.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oG[o1(o5.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&o1(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(o_(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&o3(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&o3(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(g?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=oU(s.container.ownerDocument,"mousemove",t=>oG[o5.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o1((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=oZ(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(oU(t,"mouseenter",this.onContainerMouseEnter.bind(this)),oU(t,"mouseleave",this.onContainerMouseLeave.bind(this))),o5.unbindDocumentMouseUp.some(t=>t.doc===e)||o5.unbindDocumentMouseUp.push({doc:e,unbind:oU(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(oU(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(oU(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),oU(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),o5.unbindDocumentTouchEnd||(o5.unbindDocumentTouchEnd=oU(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),oU(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oj)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o1(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(oU(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),oU(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||oV(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||oV(i,{"touch-action":o1(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=k.charts[o1(o5.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(o5.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o1(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o1(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}o5.unbindDocumentMouseUp=[],function(t){t.compose=function(e){o2(oY,"Core.Pointer")&&oU(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(o5||(o5={}));let o6=o5,{fireEvent:o9,isArray:o4,objectEach:o8,uniqueKey:o7}=$,rt=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||o7(),this.modified=this,this.rowCount=0,this.versionTag=o7();let e=0;o8(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,o8(this.columns,e=>{o4(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;o8(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(o9(this,"afterSetColumns"),this.versionTag=o7())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;o8(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(o9(this,"afterSetRows"),this.versionTag=o7())}},{extend:re,merge:ri,pick:rs}=$;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},f,m=r.marker,x=0;if(o.styledMode||(u["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?u.dashstyle=r.dashStyle:"square"===r.linecap||(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,g],["L",n-x,g]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(rs(m.radius,d),d);0===l.indexOf("url")&&(m=ri(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,re({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,rs(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(d||(d={}));let ro=d,{defaultOptions:rr}=tf,{extend:ra,extendClass:rn,merge:rh}=$;!function(t){function e(e,i){let s=rr.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oX),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=k.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rr.plotOptions||{};if(s=s||"",n[i]=rh(n[s],o),delete t.seriesTypes[i],e(i,rn(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oX{}ra(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(c||(c={}));let rl=c,{animObject:rd,setAnimation:rc}=tz,{defaultOptions:rp}=tf,{registerEventOptions:rg}=i2,{svg:ru,win:rf}=k,{seriesTypes:rm}=rl,{arrayMax:rx,arrayMin:ry,clamp:rb,correctFloat:rv,crisp:rk,defined:rw,destroyObjectProperties:rM,diffObjects:rS,erase:rT,error:rC,extend:rA,find:rP,fireEvent:rL,getClosestDistance:rO,getNestedProperty:rE,insertItem:rI,isArray:rD,isNumber:rB,isString:rN,merge:rz,objectEach:rR,pick:rW,removeEvent:rH,syncTimeout:rX}=$;class rF{constructor(){this.zoneAxis="y"}init(t,e){let i;rL(this,"init",{options:e}),this.dataTable??(this.dataTable=new rt);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rA(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rg(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rW(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rI(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rL(this,"afterInit")}is(t){return rm[t]&&this instanceof rm[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rL(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rW(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rI(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rC(18,!0,s)})}),rL(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rW(this.pointInterval,i.pointInterval,1),o&&rB(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rB(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rA(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rw(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rz(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rL(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rp.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let g=rz(h,s.series,p,r);this.tooltipOptions=rz(rp.tooltip,rp.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rW(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let u=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),u.push(e)),u.length&&rw(u[u.length-1].value)&&u.push(a?{}:{color:this.color,fillColor:this.fillColor}),rL(this,"afterSetOptions",{options:g}),g}getName(){return rW(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rw(o=rW("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rp.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oX&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rP(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rB(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rB(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rw(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rB(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let g=this.getColumn("x");return null===this.xIncrement&&g.length&&(this.xIncrement=rx(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),g=this.pointValKey||"y",u=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rz(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rD(t)&&(f||rB(t[0])));if(rB(i)&&rB(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[g]:i})}else if(o(i)&&o(s)){if(u){let e=i.length===u?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=u;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[g]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rE(i,t),o=rE(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,g,u,f,m=e.getColumn("x"),x=i,y=!1;return r&&(u=(g=r.getExtremes()).min,f=g.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new rt:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,u,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rO([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rC(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rL(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rt({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],g=this.dataColumnKeys(),u,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,g=o||this.cropped||!i,u,f,m,x=0,y=0;for(i&&(x=(u=i.getExtremes()).min,y=u.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rB(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:ry(d),dataMax:rx(d)};return rL(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rR(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rL(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=rW(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(g),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=rW(o.radius,s&&s.radius);e&&(n=s.states[e],l=rW((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rB(l)&&d&&(i.crisp&&(d[0]=rk(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,g=rW(o.lineWidth,i.lineWidth),u=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},g=rW((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,g+rW(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":g,fill:c,opacity:u=rW(l.opacity,h.opacity,u)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rf.navigator.userAgent),n=o.data||[];for(rL(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rT(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rM(t,void 0,!0);$.clearTimeout(o.animationTimeout),rR(o,function(t,e){t instanceof eY&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rT(r.series,o),r.orderItems("series"),rR(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:g=0}=d||{},u=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rb(d.toPixels(rW(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,f=r.len,y=a.len;c?(p=o,f=x):(g=o,y=x);let b=[["M",p,g],["L",f,g],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rw(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rw(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rH(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rd(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rL(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rX(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rL(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rX(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(ru?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rL(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,g=n.data,u=this.getColumn("x");e=rW(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=u.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),g?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,g,...Object.values(d.getColumns())].filter(rw).forEach(t=>{t.shift()}),d.rowCount-=1,rL(d,"afterDeleteRows"))),!1!==o&&rL(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rw).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rL(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rc(i,o),e=rW(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rW(t,!0)&&r.redraw(e)}!1!==i?rL(o,"remove",null,a):a()}update(t,e){rL(this,"update",{options:t=rS(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rm[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||o.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));g=g||r,u?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rA(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rz(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rm[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rm[g].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rA(i,rm[g].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rC(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rL(this,"afterUpdate"),rW(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rW(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rw(r)?i!==o:i!==rW(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rL(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rL(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rW(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=rW(a[t].opacity,l)),o&&!o.dashstyle&&rB(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rL(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rL(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){ro[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rF.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rF.types=rl.seriesTypes,rF.registerType=rl.registerSeriesType,rA(rF.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oX,requireSorting:!0,sorted:!0}),rl.series=rF;let rG=rF,{animObject:rY,setAnimation:rj}=tz,{registerEventOptions:rU}=i2,{composed:r$,marginNames:rV}=k,{distribute:rq}=el,{format:rZ}=es,{addEvent:r_,createElement:rK,css:rJ,defined:rQ,discardElement:r0,find:r1,fireEvent:r2,isNumber:r3,merge:r5,pick:r6,pushUnique:r9,relativeLength:r4,stableSort:r8,syncTimeout:r7}=$;class at{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),rU(this,e),r_(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r_(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=r6(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=r5(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=r6(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(r5(!0,this.options,t)),"events"in this.options&&rU(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,r6(e,!0)&&i.redraw(),r2(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rG||t instanceof oX)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(r5(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,r2(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[rQ(e.translateY)?"animate":"attr"](o,void 0,()=>{r2(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r0(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,rJ(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?r6(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&r6(i.showInLegend,!rQ(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),r2(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!rQ(t[a])&&(i[rV[a]]=Math.max(i[rV[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+r6(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r1(a?t.points:t.points.slice(0).reverse(),function(t){return r3(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),rq(i,e.plotHeight)))t=o.item.legendItem||{},r3(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=r4(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),r8(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),r2(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=r5(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(r5(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=r6(l.animation,!0),c=l.arrowSize||12,p=this.pages,g=this.allItems,u=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=r6(this.currentPage,1),this.fullHeight=t,g.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((g[e-1].legendItem||{}).pageIx=o-1),e===g.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),u(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(u(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&rj(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),r7(()=>{r2(this,"afterScroll",{currentPage:l})},rY(r6(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oX,n=t instanceof rG,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(r5(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),r2(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&r2(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=rK("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r_(t.checkbox,"click",function(e){let i=e.target;r2(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){r9(r$,"Core.Legend")&&r_(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(at||(at={}));let ae=at,{animate:ai,animObject:as,setAnimation:ao}=tz,{defaultOptions:ar}=tf,{numberFormat:aa}=es,{registerEventOptions:an}=i2,{charts:ah,doc:al,marginNames:ad,svg:ac,win:ap}=k,{seriesTypes:ag}=rl,{addEvent:au,attr:af,createElement:am,css:ax,defined:ay,diffObjects:ab,discardElement:av,erase:ak,error:aw,extend:aM,find:aS,fireEvent:aT,getAlignFactor:aC,getStyle:aA,isArray:aP,isNumber:aL,isObject:aO,isString:aE,merge:aI,objectEach:aD,pick:aB,pInt:aN,relativeLength:az,removeEvent:aR,splat:aW,syncTimeout:aH,uniqueKey:aX}=$;class aF{static chart(t,e,i){return new aF(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aE(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aB(t.zoomType,e.type),key:aB(t.zoomKey,e.key),pinchType:aB(t.pinchType,e.pinchType),singleTouch:aB(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aI(e.resetButton,t.resetZoomButton)}}init(t,e){aT(this,"init",{args:arguments},function(){let i=aI(ar,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aM({},t),(this.renderTo=aE(o)?al.getElementById(o):o)||aw(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tl(aM(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||aa).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ah.length,ah.push(this),k.chartCount++,an(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aT(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=ag[i];s||aw(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aW(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aW(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(u.isInsidePlot=!1)}if(!i.ignoreY&&u.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+g:a+g;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(u.isInsidePlot=!1)}return aT(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){aT(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ao(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&(g=!0)),t.isDirtyData&&aT(t,"updatedData")}),g&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){aT(t,"afterSetExtremes",aM(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aT(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aT(this,"redraw"),aT(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aS(this.axes,i)||aS(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aB(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aI(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aM("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aI(o),n=i?.textPxLength||0;if(i&&r){aT(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,g="title"===t?c?-3:0:c?e[0]+2:0,u=Math.min(a.width/n,1),f=Math.max(p,u),m=aI({y:"bottom"===d?h:g+h},{align:"title"===t?up?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aC(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aT(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aA(this.renderTo,"width",!0)||0,height:aA(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,az(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(ax(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(al.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(al.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,al.body.appendChild(e)),("none"===aA(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),ax(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==al.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aX(),r=this.renderTo,a=aN(af(r,s));aL(a)&&ah[a]&&ah[a].hasRendered&&ah[a].destroy(),af(r,s,this.index),r.innerHTML=t_.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;ax(r,{overflow:"hidden"}),this.styledMode||(t=aM({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=am("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||ax(l,{width:aB(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!ac?eo.getRendererType(i.renderer):iz;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ao(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aT(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!ay(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!ay(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aT(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ad.forEach(function(i,o){ay(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return ab(this.userOptions,ar)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&($.clearTimeout(e.reflowTimeout),e.reflowTimeout=aH(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=au(ap,"resize",e);au(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ao(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ai:ax)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aT(s,"resize"),setTimeout(()=>{s&&aT(s,"endResize")},as(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),aT(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aT(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aO(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aB(e[i+s],o[r])})}),ad.forEach(function(e,i){t[e]=aB(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](g),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aT(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=ag[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=ag[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aE(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aB(t.options.visible,s.options.visible,t.visible))}}),aT(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),aT(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sr(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aB(i.reserveSpace,!aL(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aI(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(ap.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aT(e,"destroy"),e.renderer.forExport?ak(ah,e):ah[e.index]=void 0,k.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aR(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t_.emptyHTML,aR(o),r&&av(o)),aD(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aP(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aT(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aT(this,"load"),aT(this,"render"),ay(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aT(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),ax(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:g,minPointOffset:u=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aB(a[x],t.len),v=aB(s[x],t.len),k=10>Math.abs(b)?1:b/v,w=(s[y]||0)+v/2-t.pos,M=w-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(w<0||w>t.len))continue;let T=t.toValue(M,!0)+(r||t.isOrdinal?0:u*S),C=t.toValue(M+g/k,!0)-(r||t.isOrdinal?0:u*S||0),A=t.allExtremes;if(T>C&&([T,C]=[C,T]),1===k&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aL(t.dataMin)&&aL(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:P,dataMax:L,min:O,max:E}=aM(t.getExtremes(),A||{}),I=l.parse(f.min),D=l.parse(f.max),B=P??I,N=L??D,z=C-T,R=t.categories?0:Math.min(z,N-B),W=B-R*(ay(I)?0:f.minPadding),H=N+R*(ay(D)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,F=Math.min(I??W,W,X?O:W),G=Math.max(D??H,H,X?E:H);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(T=1&&(C=T+z)),C>G&&(C=G,k>=1&&(T=C-z)),(o||t.series.length&&(T!==O||C!==E)&&T>=F&&C<=G)&&(r?r[t.coll].push({axis:t,min:T,max:C}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:T,o?void 0:C,!1,!1,{move:M,trigger:n,scale:k}),!o&&(T>F||C{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aM(aF.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aF.prototype.addAxis,[!0]],yAxis:[aF.prototype.addAxis,[!1]],series:[aF.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:aG}=tz,{composed:aY}=k,{addEvent:aj,createElement:aU,css:a$,defined:aV,erase:aq,merge:aZ,pushUnique:a_}=$;function aK(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new aQ(this)),t?.applyFixed()}function aJ(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class aQ{static compose(t,e,i){a_(aY,this.compose)&&(aj(t,"afterInit",aJ),aj(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),aj(e,"render",aK),aj(i,"show",aJ))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=aZ(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),aV(s)&&(t.scrollablePlotBox=aZ(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),aV(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=eo.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=aU("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=aU("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=aU("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=aU("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),a$(t.renderTo,{overflow:"visible"}),aj(t,"afterShowResetZoom",r),aj(t,"afterApplyDrilldown",r),aj(t,"afterLayOutTitles",r),aj(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+g;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aG(t.container),a$(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),a$(s,{width:`${r}px`,height:`${a}px`}),aV(i)||(s.scrollLeft=p*u,s.scrollTop=g*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,w=l+c-p,M=d+h-g,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:g&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,a],["L",k,a],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=aQ.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a_(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aq(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}aQ.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a0}=es,{series:a1}=rl,{destroyObjectProperties:a2,fireEvent:a3,getAlignFactor:a5,isNumber:a6,pick:a9}=$,a4=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){a2(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a0(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:a9(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a3(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:g}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===a9(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&a1.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*a5(l.textAlign||"center"),rotationOriginY:t.height/2}),a9(!i&&l.crop,!0)&&(s=a6(h.x)&&a6(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}a3(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*a5(i)-1),y:t.height/2*2*(1-a5(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:a9(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=a9(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||a6(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:a8}=tz,{series:{prototype:a7}}=rl,{addEvent:nt,correctFloat:ne,defined:ni,destroyObjectProperties:ns,fireEvent:no,isNumber:nr,objectEach:na,pick:nn}=$;function nh(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nn(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nl(){let t=this.stacking;if(t){let e=t.stacks;na(e,(t,i)=>{ns(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function nd(){this.stacking||(this.stacking=new nm(this))}function nc(t,e,i,s){return!ni(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function np(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function ng(t,e,i){let s=e.total?100/e.total:0;t[0]=ne(t[0]*s),t[1]=ne(t[1]*s),this.stackedYData[i]=t[1]}function nu(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?a7.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nf(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],g=c.length,u=this.options,f=u.threshold||0,m=u.startFromThreshold?f:0,x=u.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(u):ne(S+Math.abs(u))):"group"===l?nr(g)&&S++:S=ne(S+u),"group"===l?o.cumulative=(S||1)-1:o.cumulative=ne(nn(o.cumulative,m)+u),o.total=S,null!==g&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class nm{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{na(t,t=>{t.cumulative=t.total})}))}resetStacks(){na(this.stacks,t=>{na(t,(e,i)=>{nr(e.touched)&&e.touched{na(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(p||(p={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(nt(t,"init",nd),nt(t,"destroy",nl),s.getStacks=nh,o.getStackIndicator=nc,o.modifyStacks=np,o.percentStacker=ng,o.setGroupedPoints=nu,o.setStackedPoints=nf)};let nx=p,{defined:ny,merge:nb,isObject:nv}=$;class nk extends rG{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nb({filterUnits:"userSpaceOnUse"},nv(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,g=l.plotY,u=t[d-1],f=l.isNull||"number"!=typeof g;(l.leftCliff||u&&u.rightCliff)&&!i&&(n=!0),f&&!ny(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",u.plotX,g]]:2===h?[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,g]]:[["L",p,u.plotY]]).push(["L",p,g]):c=[["L",p,g]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nk.defaultOptions=nb(rG.defaultOptions,{legendSymbol:"lineMarker"}),rl.registerSeriesType("line",nk);let{seriesTypes:{line:nw}}=rl,{extend:nM,merge:nS,objectEach:nT,pick:nC}=$;class nA extends nw{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nw.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,g=Math.round(n.getThreshold(r.threshold)),u=nC(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],u=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?u[0]:u[1])+m,y=u[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?g:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?g:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,g){let u=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[g+i]],u=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;n_(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&n$(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nY(s)){if(nV(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=nZ(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=nZ(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,g=t.dataMax,u=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rG.prototype.translate.apply(t),t.points.forEach(function(s){let o=nZ(s.yBottom,u),m=999+Math.abs(o),x=s.plotX||0,y=nF(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,w=d,M=x+c,S=f;h&&Math.abs(k)h?o-h:u-(b?h:0)),nY(s.options.pointWidth)&&(M-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,l)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[nF(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-S/2,k]:[r.left-e.plotLeft+M+S/2,nF(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,s.isNull?u:v,S,s.isNull?0:k)}),nU(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,g=nZ(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=nq(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nH(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,g=nZ(a.opacity,g));let u={fill:l,stroke:d,"stroke-width":p,opacity:g};return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=n1(h)&&n1(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===n7(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&n1(h)&&(t.series.forceDL||a&&!p||c||n7(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();if(g&&u){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=n2({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),n2(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(n4(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=n5(i.align)*(l.width-h.width),e.alignAttr.y+=n5(i.verticalAlign)*(l.height-h.height),e.attr({"text-align":e.alignAttr["text-align"]||"center"})[e.placed?"animate":"attr"]({x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(n7(i.crop,!0)){let{x:t,y:i}=e.alignAttr;g=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})}o&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(n9(l)&&l||n9(a)&&a||"#000000"),c=h(i),{animation:p,defer:g}=c[0],u=g?nQ(s,p,i):{defer:0,duration:0};n3(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(u),t.forEach(t=>{let a=t.dataLabels||[];he(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:g,style:u={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=n1(f=n7(n[t.formatPrefix+"Format"],n.format))?n0(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(u.color=n7(n.color,u.color,n9(i.color)?i.color:void 0,"#000000"),"contrast"===u.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),u.color=k||!n1(g)&&n.inside||0>ht(g||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(u.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),n8(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&n1(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&n1(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?u.width&&b.css({width:u.width,textOverflow:u.textOverflow,whiteSpace:u.whiteSpace}):b.css(u).shadow(n.shadow),n3(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),n3(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&u>=0?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(n6(t)&&!n6(e))i=t.map(function(t){return n4(t,e)});else if(n6(e)&&!n6(t))i=e.map(function(e){return n4(t,e)});else if(n6(t)||n6(e)){if(n6(t)&&n6(e))for(s=Math.max(t.length,e.length);s--;)i[s]=n4(t[s],e[s])}else i=n4(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return he(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(g||(g={}));let hi=g,{composed:hs}=k,{series:ho}=rl,{merge:hr,pick:ha,pushUnique:hn}=$;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=ha(t.below,t.plotY>ha(this.translatedThreshold,h)),c=ha(i.inside,!!this.options.stacking);if(l){if(s=hr(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hf(hx.prototype,{drawTracker:hp.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hu(hx,"afterTranslate",function(){this.applyJitter()}),rl.registerSeriesType("scatter",hx);let{deg2rad:hy}=k,{fireEvent:hb,isNumber:hv,pick:hk,relativeLength:hw}=$;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let g=[hk(r?.[0],"50%"),hk(r?.[1],"50%"),hk(l&&l<0?void 0:t.size,"100%"),hk(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rG||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=hw(p,[s,o,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),hv(n)&&2*n0&&(g[3]=g[2]-2*n),hb(this,"afterGetCenter",{positions:g}),g},t.getStartAndEndRadians=function(t,e){let i=hv(t)?t:0,s=hv(e)&&e>i&&e-i<360?e:i+360;return{start:hy*(i+-90),end:hy*(s+-90)}}}(f||(f={}));let hM=f,{setAnimation:hS}=tz,{addEvent:hT,defined:hC,extend:hA,isNumber:hP,pick:hL,relativeLength:hO}=$;class hE extends oX{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hT(this,"select",s),hT(this,"unselect",s)}isValid(){return hP(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hS(i,s.chart),e=hL(e,!0),this.sliced=this.options.sliced=t=hC(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hA(hE.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,g="left"===t.alignment,{x:u,y:f}=t,m=o.x;if(i.crookDistance){let t=hO(i.crookDistance,1);m=g?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",u,f]];return(g?m<=u&&m>=o.x:m>=u&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hI}=hM,{noop:hD}=k,{clamp:hB,extend:hN,fireEvent:hz,merge:hR,pick:hW}=$;class hH extends rG{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hW(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:e5.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hB((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hR(!0,n,i),hR(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hz(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hI(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,g,u,f,m=0;for(t||(this.center=t=this.getCenter()),u=0;u1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hz(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hH.defaultOptions=hR(rG.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hN(hH.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:nJ.prototype.drawTracker,getCenter:hM.getCenter,getSymbol:hD,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:nJ.prototype.pointAttribs,pointClass:hE,requireSorting:!1,searchPoint:hD,trackerGroups:["group","dataLabelsGroup"]}),rl.registerSeriesType("pie",hH);let{composed:hX,noop:hF}=k,{distribute:hG}=el,{series:hY}=rl,{arrayMax:hj,clamp:hU,defined:h$,pick:hV,pushUnique:hq,relativeLength:hZ}=$;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,g=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*g,y:p+d*g},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,g,u,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hY.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=hZ(o?.distance||0,s);0===i&&d[t.half].push(t),!h$(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,g=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},g.push(t.distributeBox))})}),hG(g,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,w=0,M=y,S="inherit";if(x){if(g&&h$(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,M=p.radialDistributionY(i,l))),d.justify)w=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,a,s,r);break;case"plotEdges":w=p.alignToPlotEdges(l,a,s,r);break;default:w=p.radialDistributionX(t,i,M-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:M+(d.y||0)-v/2},x.computed.x=w,x.computed.y=M-k,hV(d.crop,!0)){let t;w-(u=l.getBBox().width)s-b&&0===a&&(t=Math.round(w+u-s+b),c[1]=Math.max(t,c[1])),M-f/2<0?c[0]=Math.max(Math.round(-M+f/2),c[0]):M+f/2>o&&(c[2]=Math.max(Math.round(M+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===hj(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;g=s.connector,a&&a.distance>0?(n=!g,g||(s.connector=g=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||g.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),g[n?"attr":"animate"]({d:e.getConnectorPath(s)}),g.attr({visibility:a.attribs?.visibility})):g&&(s.connector=g.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=hU(r,o,e[2]-Math.max(t[0],t[2])):(r=hU(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(x||(x={}));let{pointInPolygon:hK}=x,{addEvent:hJ,fireEvent:hQ,objectEach:h0,pick:h1}=$;function h2(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(hK({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{h0(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=h1(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,h3(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let h6={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=h2,hJ(t,"render",h5))}},{defaultOptions:h9}=tf,{noop:h4}=k,{addEvent:h8,extend:h7,isObject:lt,merge:le,relativeLength:li}=$,ls={radius:0,scope:"stack",where:void 0},lo=h4,lr=h4;function la(t,e,i,s,o={}){let r=lo(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(li(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),g=Math.min(p,d/Math.PI*2*a),u=r.length-1;for(;u--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,g=n?a-i:a+i,u=g?Math.asin(i/g):0,f=n?u:-u,m=Math.cos(u)*g;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?g:p);return r}function ln(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=h9.plotOptions?.[this.type]?.borderRadius,o=lh(t.borderRadius,lt(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,g=o.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let u=Math.min(li(o.radius,n),n/2,"all"===g?h/2:1/0)||0;"end"===g&&(p&&(d-=u),c+=u),h7(a,{brBoxHeight:c,brBoxY:d,r:u})}}}}function lh(t,e){return lt(t)||(t={radius:t||0}),le(ls,e,t)}function ll(){let t=lh(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=li(t.radius,(i.r||0)-(i.innerR||0)))}}function ld(t,e,i,s,o={}){let r=lr(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,g=Math.max(c&&l,0),u=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);f[0]-=t,m[0]+=t,x[1]=w[1]=e+c-g}if(s=lf(i.minWidth,0)&&this.chartHeight>=lf(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lm()),this.matchResponsiveRule(t,o)},this);let a=lu(...o.map(t=>lg((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lc(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lp(s,{matchResponsiveRule:e,setResponsive:i}),t}}(y||(y={}));let lx=y;k.AST=t_,k.Axis=sz,k.Chart=aF,k.Color=tv,k.DataLabel=hi,k.DataTableCore=rt,k.Fx=tT,k.HTMLElement=iZ,k.Legend=ae,k.LegendSymbol=ro,k.OverlappingDataLabels=k.OverlappingDataLabels||h6,k.PlotLineOrBand=s9,k.Point=oX,k.Pointer=o6,k.RendererRegistry=eo,k.Series=rG,k.SeriesRegistry=rl,k.StackItem=a4,k.SVGElement=eY,k.SVGRenderer=iz,k.Templating=es,k.Tick=sr,k.Time=tl,k.Tooltip=ov,k.animate=tz.animate,k.animObject=tz.animObject,k.chart=aF.chart,k.color=tv.parse,k.dateFormat=es.dateFormat,k.defaultOptions=tf.defaultOptions,k.distribute=el.distribute,k.format=es.format,k.getDeferredAnimation=tz.getDeferredAnimation,k.getOptions=tf.getOptions,k.numberFormat=es.numberFormat,k.seriesType=rl.seriesType,k.setAnimation=tz.setAnimation,k.setOptions=tf.setOptions,k.stop=tz.stop,k.time=tf.defaultTime,k.timers=tT.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;h8(t,"afterColumnTranslate",ln,{order:9}),h8(s,"afterTranslate",ll),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lo=o.arc,lr=o.roundedRect,o.arc=la,o.roundedRect=ld}},optionsToObject:lh}).compose(k.Series,k.SVGElement,k.SVGRenderer),hh.compose(k.Series.types.column),hi.compose(k.Series),sF.compose(k.Axis),iZ.compose(k.SVGRenderer),ae.compose(k.Chart),sU.compose(k.Axis),h6.compose(k.Chart),h_.compose(k.Series.types.pie),s9.compose(k.Chart,k.Axis),o6.compose(k.Chart),lx.compose(k.Chart),aQ.compose(k.Axis,k.Chart,k.Series),nx.compose(k.Axis,k.Chart,k.Series),ov.compose(k.Pointer),$.extend(k,$);let ly=k;return v.default})()); \ No newline at end of file + */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e;var i,s,o,r,a,n,h,l,d,c,p,g,u,f,m,x,y,b={};b.d=(t,e)=>{for(var i in e)b.o(e,i)&&!b.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},b.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var v={};b.d(v,{default:()=>lb}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.1",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.body.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(i||(i={}));let k=i,{charts:w,doc:M,win:S}=k;function T(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=I(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),G(s,function(e,i){t+=` + - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}j(k,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);S.console&&-1===T.messages.indexOf(a)&&console.warn(a)}),T.messages.push(a)}function C(t,e){return parseInt(t,e||10)}function A(t){return"string"==typeof t}function P(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function L(t,e){return!!t&&"object"==typeof t&&(!e||!P(t))}function O(t){return L(t)&&"number"==typeof t.nodeType}function E(t){let e=t&&t.constructor;return!!(L(t,!0)&&!O(t)&&e&&e.name&&"Object"!==e.name)}function I(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function D(t){return null!=t}function B(t,e,i){let s;let o=A(e)&&!D(i),r=(e,i)=>{D(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return A(e)?r(i,e):G(e,r),s}function N(t){return P(t)?t:[t]}function z(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function R(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(T||(T={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let F=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let U=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();S.jQuery&&(S.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new k[A(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):w[B(this[0],"data-highcharts-chart")]});let $={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;k.Point&&t instanceof k.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!k.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){Y(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=N(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=S.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),R(s,"opacity"!==i)&&(o=C(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return X(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:G,offset:function(t){let e=M.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(S.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(S.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:R,pInt:C,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:Y,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:N,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return A(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:U,useSerialIds:function(e){return t=R(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:V,win:_}=k,{defined:q,error:Z,extend:K,isNumber:J,isObject:Q,isString:tt,merge:te,objectEach:ti,pad:ts,splat:to,timeUnits:tr,ucfirst:ta}=$,tn=k.isSafari&&_.Intl&&!_.Intl.DateTimeFormat.prototype.formatRange,th=t=>void 0===t.main,tl=t=>["D","L","M","X","J","V","S"].indexOf(t),td=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=_.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=te(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||_.Date||Date;let s=t.timezone;q(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,tl(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||V){let s=JSON.stringify(t)+i;tt(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(Z(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):Z(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&K(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tn||(n-=36e5)}}return n}parse(t){if(!tt(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(J(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(J(a))return a}return 0}dateFormat(t,e,i){let s=k.defaultOptions?.lang;if(!q(e)||isNaN(e))return s?.invalidDate||"";if(tt(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(tt(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,g=s?.shortWeekdays||this.shortWeekdays,u=s?.months||this.months,f=s?.shortMonths||this.shortMonths;ti(K({a:g?g[c]:p[c].substr(0,3),A:p[c],d:ts(a),e:ts(a,2," "),w:c,b:f[r],B:u[r],m:ts(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:ts(n),k:n,I:ts(n%12||12),l:n%12||12,M:ts(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:ts(l),L:ts(d,3)},k.dateFormats),function(s,o){if(tt(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(Q(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(K({timeZone:s},t),e)+r}return i?ta(t):t}resolveDTLFormat(t){return Q(t,!0)?Q(t,!0)&&th(t)?{main:t}:t:{main:(t=to(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,g,u]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),q(e)){if(f=h>=tr.second?0:n*Math.floor(f/n),h>=tr.second&&(u=h>=tr.minute?0:n*Math.floor(u/n)),h>=tr.minute&&(g=h>=tr.hour?0:n*Math.floor(g/n)),h>=tr.hour&&(p=h>=tr.day?0:n*Math.floor(p/n)),h>=tr.day&&(c=h>=tr.month?1:Math.max(1,n*Math.floor(c/n))),h>=tr.month&&(d=h>=tr.year?0:n*Math.floor(d/n)),h>=tr.year&&(l-=l%n),h===tr.week){n&&(e=o.makeTime(l,d,c,p,g,u,f));let t=tl(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tr.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=tr.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=K(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in tr){if(t===tr.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(tr[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tc}=k,{fireEvent:tp,merge:tg}=$,tu={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tc?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tf=new td(tu.time),tm={defaultOptions:tu,defaultTime:tf,getOptions:function(){return tu},setOptions:function(t){return tp(k,"setOptions",{options:t}),tg(!0,tu,t),t.time&&tf.update(tu.time),t.lang&&"locale"in t.lang&&tf.update({locale:t.lang.locale}),tu}},{isNumber:tx,merge:ty,pInt:tb,defined:tv}=$;class tk{static parse(t){return t?new tk(t):tk.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=k.Color;if(r&&r!==tk)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tk(t[1]));else if("string"==typeof t)for(this.input=t=tk.names[t.toLowerCase()]||t,s=tk.parsers.length;s--&&!i;)(e=(o=tk.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=ty(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tx(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tx(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tb(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tx(i[0])||!tx(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tk.names={white:"#ffffff",black:"#000000"},tk.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tb(t[1]),tb(t[2]),tb(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tb(t[1]),tb(t[2]),tb(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tb(t[1]+t[1],16),tb(t[2]+t[2],16),tb(t[3]+t[3],16),tv(t[4])?tb(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tb(t[1],16),tb(t[2],16),tb(t[3],16),tv(t[4])?tb(t[4],16)/255:1]}}],tk.None=new tk("");let{parse:tw}=tk,{win:tM}=k,{isNumber:tS,objectEach:tT}=$;class tC{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tT(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[r,r];function u(t,e){for(;t.length{let i=tN(t.options.animation);r=tE(e)&&tA(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tB(t,e.options.chart.animation,!0)},stop:tz},{SVG_NS:tW,win:tH}=k,{attr:tX,createElement:tF,css:tG,error:tY,isFunction:tj,isString:tU,objectEach:t$,splat:tV}=$,{trustedTypes:t_}=tH,tq=t_&&tj(t_.createPolicy)&&t_.createPolicy("highcharts",{createHTML:t=>t}),tZ=tq?tq.createHTML(""):"";class tK{static filterUserAttributes(t){return t$(t,(e,i)=>{let s=!0;-1===tK.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tU(e)&&tK.allowedReferences.some(t=>0===e.indexOf(t))),s||(tY(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tU(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=tK.emptyHTML,e&&new tK(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tV(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?k.doc.createTextNode(e.textContent):void 0,n=tK.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==tK.allowedTags.indexOf(r)||n){let s="svg"===r?tW:i.namespaceURI||tW,h=k.doc.createElementNS(s,r),l=e.attributes||{};t$(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tX(h,n?l:tK.filterUserAttributes(l)),e.style&&tG(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tY(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(tq?tq.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tF("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=tK.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}tK.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],tK.allowedReferences=["https://","http://","mailto:","/","../","./","#"],tK.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],tK.emptyHTML=tZ,tK.bypassHTMLFiltering=!1;let{defaultOptions:tJ,defaultTime:tQ}=tm,{pageLang:t0}=k,{extend:t1,getNestedProperty:t2,isArray:t3,isNumber:t5,isObject:t6,isString:t9,pick:t4,ucfirst:t8}=$,t7={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t3(t)&&t.map((i,s)=>ei(e.body,t1(t6(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:t8,unless:t=>!t},et={},ee=t=>/^["'].+["']$/.test(t);function ei(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||tJ.lang,l=i&&i.time||tQ,d=i&&i.numberFormatter||es,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ee(t)?t.slice(1,-1):t2(t,e))},p,g,u=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),g&&g.isBlock||(g={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(g.isBlock?i:p)[1].split(" ")[0].replace("#","");t7[a]&&(g.isBlock&&a===g.fn&&u++,g.fn||(g.fn=a));let n="else"===p[1];if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||n)){if(u)!n&&u--;else{let e=g.startInner,i=t.substr(e,p.index-e);void 0===g.body?(g.body=i,g.startInner=p.index+p[0].length):g.elseBody=i,g.find+=i+p[0],n||(r.push(g),g=void 0)}}else g.isBlock||r.push(g);if(s&&!g?.isBlock)break}return r.forEach(s=>{let r,p;let{body:g,elseBody:u,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=t7[m].length;p--;)t.unshift(c(o[p+1]));r=t7[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ei(r?g:u,e,i))}else{let t=ee(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&t9(r)&&(r=`"${r}"`)}t=t.replace(s.find,t4(r,""))}),f?ei(t,e,i):t}function es(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||tJ.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):t5(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),t5(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,g=p?"en":this?.locale||h.locale||t0,u=JSON.stringify(c)+g;return o=(et[u]??(et[u]=new Intl.NumberFormat(g,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let eo={dateFormat:function(t,e,i){return tQ.dateFormat(t,e,i)},format:ei,helpers:t7,numberFormat:es};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,k.Renderer=s)}}(s||(s={}));let er=s,{clamp:ea,pick:en,pushUnique:eh,stableSort:el}=$;(o||(o={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(el(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>r;)f=e[c=Math.floor(p)],eh(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(el(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:en(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=ea(m-f.size*f.align,0,i-f.size);for(c=e.length,u=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),el(o,a),o};let ed=o,{animate:ec,animObject:ep,stop:eg}=tR,{deg2rad:eu,doc:ef,svg:em,SVG_NS:ex,win:ey,isFirefox:eb}=k,{addEvent:ev,attr:ek,createElement:ew,crisp:eM,css:eS,defined:eT,erase:eC,extend:eA,fireEvent:eP,getAlignFactor:eL,isArray:eO,isFunction:eE,isNumber:eI,isObject:eD,isString:eB,merge:eN,objectEach:ez,pick:eR,pInt:eW,pushUnique:eH,replaceNested:eX,syncTimeout:eF,uniqueKey:eG}=$;class eY{_defaultGetter(t){let e=eR(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||eB(i)?i||"renderer":void 0;n&&(a&&eH(r,this),i=void 0);let h=eR(i,o[n],o),l=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*eL(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*eL(t.verticalAlign),c={"text-align":t?.align};return c[e?"translateX":"x"]=Math.round(l),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ep(eR(e,this.renderer.globalAnimation,!0)),o=s.defer;return ef.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eF(()=>{this.element&&ec(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),ez(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&k.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ef.createElementNS(ex,"tspan");ek(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=ef.createElementNS(ex,"tspan");a.textContent="​",ek(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eY.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(ez(t,function(e,i){l=!1,s||eg(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eG()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eA(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eM(i,e),n=eM(s,e);return eA(t,{x:a,y:n,width:eM(o,e)-a,height:eM(r,e)-n}),eT(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,g,u=[],f;eP(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eO(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eT(a.gradientUnits)&&(n=a,a=eN(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),ez(a,function(t,e){"id"!==e&&u.push(e,t)}),ez(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=eG();let t=h[u]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tk.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&ez(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eA(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eW(t.width)),eA(this.styles,t),o&&!em&&this.renderer.forExport&&delete t.width;let r=eb&&t.fontSize||null;r&&(eI(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eN(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eS(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eW(s[e])*eR(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,eg(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=eR(e,this.rotation,0),f=h.styledMode?n&&eY.prototype.getStyle.call(n,"font-size"):l.fontSize;if(eT(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,u,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(g||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eS(e,{display:t})},eE(o)&&o("none"),i=n.getBBox?eA({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eE(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),u&&(i=this.getRotatedBox(i,u));let t={bBox:i};eP(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eL(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*eu,g=(e-90)*eu,u=Math.cos(p),f=Math.sin(p),m=o*u,x=o*f,y=Math.cos(g),b=Math.sin(g),[[v,k],[w,M]]=[h,l].map(t=>[t-t*u,t*f]),S=i+d*(o-m)+v+M+c*y,T=S+m,C=T-r*y,A=C-m,P=s+c-d*x-k+w+c*b,L=P+x,O=L-r*b,E=O-x,I=Math.min(S,T,C,A),D=Math.min(P,L,O,E),B=Math.max(S,T,C,A)-I,N=Math.max(P,L,O,E)-D;return{x:I,y:D,width:B,height:N,polygon:[[S,P],[T,L],[C,O],[A,E]]}}getStyle(t){return ey.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ex,this.element="span"===e||"body"===e?ew(e):ef.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eP(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=ev(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eB(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eN(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eD(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eW(t):""!==t&&(ek(i=ef.createElementNS(ex,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eY.symbolCustomAttribs.forEach(function(i){e[i]=eR(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ef.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eX(eR(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eT(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eR(o,e.getAttribute("x"),0)+" "+eR(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eT(a)||eT(n))&&d.push("scale("+eR(a,1)+" "+eR(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,g;if(eT(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eT(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=o.childNodes).length-1;g>=0&&!d;g--)c=!eT(l=(h=n[g]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!g?(o.insertBefore(r,n[g]),d=!0):(eW(l)<=t||c&&(!eT(t)||t>=0))&&(o.insertBefore(r,n[g+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}eY.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eY.prototype.strokeSetter=eY.prototype.fillSetter,eY.prototype.yGetter=eY.prototype.xGetter,eY.prototype.matrixSetter=eY.prototype.rotationOriginXSetter=eY.prototype.rotationOriginYSetter=eY.prototype.rotationSetter=eY.prototype.scaleXSetter=eY.prototype.scaleYSetter=eY.prototype.translateXSetter=eY.prototype.translateYSetter=eY.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let ej=eY,{defined:eU,extend:e$,getAlignFactor:eV,isNumber:e_,merge:eq,pick:eZ,removeEvent:eK}=$;class eJ extends ej{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=eJ.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=eV(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e_(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=eq(t),eJ.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return ej.prototype.css.call(this,t)}destroy(){eK(this.element,"mouseenter"),eK(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),ej.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=eZ(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:eZ(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eU(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e_(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e_(this.widthSetting)||!e_(this.heightSetting)||this.textAlign)&&eU(e.textStr)?e.getBBox(void 0,0):eJ.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e$(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+eV(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e_(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=eZ(this.paddingLeft,t),i=eZ(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}eJ.emptyBBox={width:0,height:0,x:0,y:0},eJ.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:eQ,isNumber:e0,pick:e1}=$;function e2(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e1(o.r,i),h=e1(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return e2(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e3,roundedRect:e5,square:e3,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:e9,SVG_NS:e4,win:e8}=k,{attr:e7,extend:it,fireEvent:ie,isString:ii,objectEach:is,pick:io}=$,ir=(t,e)=>t.substring(0,e)+"…",ia=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=io(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new tK(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(e9.createTextNode(this.unescapeEntities(s)));ii(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=e7(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),e7(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ir),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(e9.createTextNode(e),t);let s=e9.createElementNS(e4,"tspan");s.textContent="​",e7(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ir)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===e8.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===e8.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),it(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),ie(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,g=(e||i||"").length,u=g;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=g;)u=Math.ceil((p+g)/2),i&&(n=a(i,u)),h=f(u,n&&n.length-1),p===g?p=g+1:h>o?g=u-1:p=u;0===g?t.textContent="":e&&g===e.length-1||(t.textContent=n||a(e||i,u)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ir)}i&&i.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return is(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:ih}=tm,{charts:il,deg2rad:id,doc:ic,isFirefox:ip,isMS:ig,isWebKit:iu,noop:im,SVG_NS:ix,symbolSizes:iy,win:ib}=k,{addEvent:iv,attr:ik,createElement:iw,crisp:iM,css:iS,defined:iT,destroyObjectProperties:iC,extend:iA,isArray:iP,isNumber:iL,isObject:iO,isString:iE,merge:iI,pick:iD,pInt:iB,replaceNested:iN,uniqueKey:iz}=$;class iR{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),ik(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&ik(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ic.createTextNode("Created with Highcharts 12.1.1")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),ip&&t.getBoundingClientRect&&((n=function(){iS(t,{left:0,top:0}),h=t.getBoundingClientRect(),iS(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iv(ib,"resize",n))}definition(t){return new tK([t]).addToDOM(this.defs.element)}getReferenceURL(){if((ip||iu)&&ic.getElementsByTagName("base").length){if(!iT(e)){let t=iz(),i=new tK([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ic.body);iS(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ic.elementFromPoint(6,6);e="hitme"===(s&&s.id),ic.body.removeChild(i)}if(e)return iN(ib.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iA({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iC(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iI({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ia(t).buildSVG()}getContrast(t){let e=tk.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0;o=iI(ih.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let u=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[tK.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iI(m[0],tK.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iv(d.element,ig?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),iv(d.element,ig?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{if(1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iO(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iA({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iT(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iM(i[1],e)),iT(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iM(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iP(t)?e.d=t:iO(t)&&iA(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iO(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iO(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iO(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iA(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,ik(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iD(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iL(e)&&(a.x=e),iL(i)&&(a.y=i),iL(s)&&(a.width=s),iL(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new ib.Image;iv(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof e&&(n=u.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iA(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&iA(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iD(r&&r.width,iy[h]&&iy[h].width),s.imgheight=iD(r&&r.height,iy[h]&&iy[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),ik(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iT(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iT(s.imgwidth)&&iT(s.imgheight)?l(s):(s.attr({width:0,height:0}),iw("img",{onload:function(){let t=il[d.chartIndex];0===this.width&&(iS(this,{position:"absolute",top:"-999em"}),ic.body.appendChild(this)),iy[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iT(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iA(iR.prototype,{Element:ej,SVG_NS:ix,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:e6,draw:im}),er.registerRendererType("svg",iR,!0);let{composed:iW}=k,{attr:iH,css:iX,createElement:iF,defined:iG,extend:iY,getAlignFactor:ij,isNumber:iU,pInt:i$,pushUnique:iV}=$;function i_(t,e,i){let s=this.div?.style||i.style;ej.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let iq=(t,e)=>{if(!t.div){let i=iH(t.element,"class"),s=t.css,o=iF("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i_,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return ej.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class iZ extends ej{static compose(t){iV(iW,this.compose)&&(t.prototype.html=function(t,e,i){return new iZ(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i$(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iU(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iY(this.styles,t),iX(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:g=0}=this,{display:u="block",whiteSpace:f}=n;if(iX(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iX(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iX(t,{width:e>s||i||r?l+"px":"auto",display:u,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,iG(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iG(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,ij(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${g+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??g)-x-g-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iX(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iX(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=iq(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,tK.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let iK=iZ.prototype;iK.visibilitySetter=iK.opacitySetter=i_,iK.ySetter=iK.rotationSetter=iK.rotationOriginXSetter=iK.rotationOriginYSetter=iK.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(r||(r={}));let iJ=r,{addEvent:iQ,isFunction:i0,objectEach:i1,removeEvent:i2}=$;(a||(a={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i1(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i2(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i0(e)&&(t.eventOptions[i]=e,iQ(t,i,e,{order:0})))})};let i3=a,{deg2rad:i5}=k,{clamp:i6,correctFloat:i9,defined:i4,destroyObjectProperties:i8,extend:i7,fireEvent:st,getAlignFactor:se,isNumber:si,merge:ss,objectEach:so,pick:sr}=$,sa=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,st(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=sr(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(o?sr(o[n],a[n],n):n);r&&si(y)&&(y=i9(r.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:si(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y};st(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),eo.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),w=m&&m.list;w?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*i5))):(f=s-d*c,m=s+(1-d)*c,fn&&(g=n-t.x+g*d,u=-1),(g=Math.min(p,g))g||e.autoRotation&&(h.styles||{}).width)&&(x=g)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(i7({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):so(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sr(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(i9(p)c)&&(i=0);let g=sr(i,this.label&&this.label.newOpacity,1);i=sr(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,g,t),this.isNew=!1,st(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sr(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=sr(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=sr(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,g=!0;n&&si(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):g=!1,l&&s%l&&(g=!1),g&&si(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sn}=tR,{xAxis:sh,yAxis:sl}=iJ,{defaultOptions:sd}=tm,{registerEventOptions:sc}=i3,{deg2rad:sp}=k,{arrayMax:sg,arrayMin:su,clamp:sf,correctFloat:sm,defined:sx,destroyObjectProperties:sy,erase:sb,error:sv,extend:sk,fireEvent:sw,getClosestDistance:sM,insertItem:sS,isArray:sT,isNumber:sC,isString:sA,merge:sP,normalizeTickInterval:sL,objectEach:sO,pick:sE,relativeLength:sI,removeEvent:sD,splat:sB,syncTimeout:sN}=$,sz=(t,e)=>sL(e,void 0,void 0,sE(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sk(sd,{xAxis:sh,yAxis:sP(sh,sl)});class sR{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sw(this,"init",{userOptions:e}),this.opposite=sE(e.opposite,this.opposite),this.side=sE(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sw(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sE(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sT(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sx(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sE(r.crosshair,sB(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sS(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sx(this.reversed)&&(this.reversed=!0),this.labelRotation=sC(a.rotation)?a.rotation:void 0,sc(this,r),sw(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sP(e,sd[this.coll],t),sw(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sC(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sd.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sw(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sC(a)||a instanceof Date||(o=o.filter(sC),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sE(e.dataMin,a),a),e.dataMax=Math.max(sE(e.dataMax,n),n)));else{let t=i.applyExtremes();sC(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sE(e.dataMin,a),a)),sC(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sE(e.dataMax,n),n)),sx(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sw(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sC(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,g=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(g=(t=t*d+c-h)/p+n,l&&(g=a.lin2val(g))):(l&&(t=a.val2lin(t)),g=d*(t-n)*p+c+d*h+(sC(r)?p*r:0),a.isRadial||(g=sm(g))),g}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,g,u,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sf(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sw(this,"getPlotLinePath",b,function(t){g=f=(c=sf(c=sE(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,u=m=h-c-d,sC(c)?e.horiz?(u=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),g=f=y(g,s,s+e.width)):(g=s,f=l-e.right+(i.scrollablePixelsX||0),u=m=y(u,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",g,u],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sm(Math.floor(e/t)*t),n=sm(Math.ceil(i/t)*t),h=[];if(sm(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sm(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sE(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sC(s)&&sC(o)&&sC(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sg(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=su(l))-ot-e),t=sM([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sT(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sx(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sE(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sC(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sE(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sA(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sw(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sC(t)&&sC(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sC(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:g,floor:u,linkedTo:f,softMax:m,softMin:x}=h,y=sC(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,w=0,M,S=sC(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,T,C,A,P;if(r||e||y||this.getTickAmount(),A=sE(this.userMin,d.parse(h.min)),P=sE(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,M=y.getExtremes(),this.min=sE(M.min,M.dataMin),this.max=sE(M.max,M.dataMax),this.type!==y.type&&sv(11,!0,i)):(l&&sx(c)&&sC(s)&&sC(o)&&(o>=c?(T=c,k=0):s<=c&&(C=c,v=0)),this.min=sE(A,T,o),this.max=sE(P,C,s)),sC(this.max)&&sC(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sE(o,this.min))&&sv(10,!0,i),this.min=sm(n.log2lin(this.min),16),this.max=sm(n.log2lin(this.max),16)),this.range&&sC(o)&&(this.userMin=this.min=A=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sw(this,"foundExtremes"),this.adjustForMinRange(),sC(this.min)&&sC(this.max)){if(!sC(this.userMin)&&sC(x)&&xthis.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(w=this.max-this.min)||(!sx(A)&&k&&(this.min-=w*k),sx(P)||!v||(this.max+=w*v)),!sC(this.userMin)&&sC(u)&&(this.min=Math.max(this.min,u)),!sC(this.userMax)&&sC(g)&&(this.max=Math.min(this.max,g)),l&&sC(o)&&sC(s)){let t=c||0;!sx(A)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sx(P)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sx(h.min)?this.max=this.min:sx(h.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&sC(this.min)&&sC(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sE(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sw(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sw(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let L=sE(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sv(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sz(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sC(this.min)&&sC(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sw(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sw(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sC(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sC(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sC(this.threshold)){let t=sf((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sx(t.tickInterval)||i||!(this.lenr.push(sm(r[r.length-1]+p)),f=()=>r.unshift(sm(r[0]-p));if(sC(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(g=a-1-g)),t.hasData()&&sC(s)&&sC(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sC(g)&&sC(t.threshold)){for(;r[g]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():u();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sw(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sw(this,"setExtremes",o=sk(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sI(sE(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sI(sE(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sI(sE(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sI(sE(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sm(t.lin2log(this.min)):this.min,max:t?sm(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sE(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sw(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sm(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sm(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sC(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(sp*i))))+Math.abs(i/360))u&&(u=i)}),this.maxLabelLength=u,this.autoRotation?u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sk(a,{width:`${p}px`,lineClamp:g})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sx(this.min)&&sx(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sP(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sa(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sC(s.crossing),g=e.axisOffset,u=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,w;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sE(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sO(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sx(y=d.offset)?0:sE(d.margin,i?5:10))),t.renderLine(),t.offset=f*sE(s.offset,g[o]?g[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=w,k+=f*(i?sE(c.y,t.tickRotCorr.y+f*c.distance):sE(c.x,f*c.distance))),t.axisTitleMargin=sE(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&u){let e=this.tickSize("tick");g[o]=Math.max(g[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;u[h]=Math.max(u[h],i)}sw(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,g={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],u=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?g+l:u+(n?this.width:0)+h+l,y:e?u+d-(n?this.height:0)+h:g+d};return sw(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sa(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sa(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,g=a.stackLabels,u=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sn(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sO(t,function(t){t.isActive=!1})}),sC(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sC(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sa(i,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sj(t=sU("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(h||(h={}));let s$=h,{erase:sV,extend:s_,isNumber:sq}=$;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!sq(this.min)||!sq(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),sZ.compose(s4,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){s3(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),g=e.borderWidth,u=e.label,{label:f,svgElem:m}=this,x=[],y,b=s0(c)&&s0(d),v=s0(p),k=!m,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},M=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=s9(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",g&&(w.stroke=e.borderColor,w["stroke-width"]=g))),l.zIndex=a,M+="-"+a,(y=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=y=n.g("plot-"+M).attr(l).add()),m||(this.svgElem=m=n.path().attr(w).add(y)),s0(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s0(c)&&s0(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(s6(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),u&&(s0(u.text)||s0(u.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(u=s5({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},u),this.renderLabel(u,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(s5({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=sQ(h),c=sQ(l),p=sJ(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:sJ(l)-c}),(!n.alignValue||"left"===n.alignValue||s0(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s0(t.formatter)?t.formatter.call(this):t.text}destroy(){s2(this.axis.plotLinesAndBands,this),delete this.axis,s1(this)}}let{animObject:s8}=tR,{format:s7}=eo,{composed:ot,dateFormats:oe,doc:oi,isSafari:os}=k,{distribute:oo}=ed,{addEvent:or,clamp:oa,css:on,discardElement:oh,extend:ol,fireEvent:od,isArray:oc,isNumber:op,isObject:og,isString:ou,merge:of,pick:om,pushUnique:ox,splat:oy,syncTimeout:ob}=$;class ov{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oy(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),oh(this.container)),$.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=oy(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+om(t.colorIndex,o.colorIndex),r&&r.className].filter(ou).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=er.getRendererType();this.container=a=k.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),on(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&k.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oi,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,g={},u=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),w=v("x"),M,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let T=!this.followPointer&&om(i.ttBelow,!d&&!n===S),C=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+u)}},A=function(t,e,i,o,r){if(re-s)return!1;re-o/2?g[t]=e-o-2:g[t]=r-i/2},P=function(t){[k,w]=[w,k],M=t},L=()=>{!1!==C.apply(0,k)?!1!==A.apply(0,w)||M||(P(!0),L()):M?g.x=g.y=0:(P(!0),L())};return(n&&!d||this.len>1)&&P(),L(),g}hide(t){let e=this;$.clearTimeout(this.hideTimer),t=om(t,this.options.hideDelay),this.isHidden||(this.hideTimer=ob(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=om(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=s8(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=oy(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;$.clearTimeout(this.hideTimer),this.allowShared=!(!oc(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),g=p[0],u=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=ou(h)?s7(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=om(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=g,r=u;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:oa(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:g,plotY:u,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}od(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:g,options:{positioner:u},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?oi.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:w,top:M}=f.getChartPosition(),S=h+x,T=0,C=a-l;function A(t,e,s,o,r=!0){let a,n;return s?(a=k?0:C,n=oa(t-o/2,y.left,y.right-o-(i.outside?w:0))):(a=e-S,n=oa(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}ou(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:g.padding,r:g.borderRadius};c||(t.fill=g.backgroundColor,t["stroke-width"]=g.borderWidth??1),o=v.label("",0,0,g[r?"headerShape":"shape"],void 0,void 0,g.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(g.style).attr({stroke:g.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(T=m.height,C+=T,k&&(S-=T));let{anchorX:w,anchorY:M}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+oa(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=oa(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof M){let e=m.height+1,s=u?u.call(i,x,e,r):A(w,M,l,x);t.push({align:u?0:void 0,anchorX:w,anchorY:M,boxWidth:x,point:r,rank:om(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!u&&P.some(t=>{let{outside:e}=i,s=(e?w:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=A(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return ol(t,{target:i,x:e})})),i.cleanSplit(),oo(P,C);let L={left:w,right:w};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&w+eL.right&&(L.right=w+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(L.right-L.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:O,outside:E,renderer:I}=i;if(E&&O&&I){let{width:t,height:e,x:i,y:s}=b.getBBox();I.setSize(t+i,e+s,!1),O.style.left=L.left+"px",O.style.top=M+"px"}os&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return od(this,"headerFormatter",a,function(e){if(r&&!n&&op(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(og(n)){let t=n;oe[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=s7(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,of(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),g=(o.positioner||this.getPosition).call(this,h,n,t),u=k.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(g.x+=l-s,g.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(oa(h+x,0,u.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(on(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-g.x,m+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,m)}}!function(t){t.compose=function(e){ox(ot,"Core.Tooltip")&&or(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(ov||(ov={}));let ok=ov,{animObject:ow}=tR,{defaultOptions:oM}=tm,{format:oS}=eo,{addEvent:oT,crisp:oC,erase:oA,extend:oP,fireEvent:oL,getNestedProperty:oO,isArray:oE,isFunction:oI,isNumber:oD,isObject:oB,merge:oN,pick:oz,syncTimeout:oR,removeEvent:oW,uniqueKey:oH}=$;class oX{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oP({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oP(this,t=oX.prototype.optionsToObject.call(this,t)),this.options=this.options?oP(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oX.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oD(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oD(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=ow(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oW(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oA(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oR(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oL(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oO(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oH()),this.resolveColor(),t.chart.pointCount++,oL(this,"afterInit")}isValid(){return(oD(this.x)||this.x instanceof Date)&&oD(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oD(t)||null===t)r[s[0]]=t;else if(oE(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oX.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oD(i)&&oD(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oz(this.options.colorIndex,a),this.color=oz(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oB(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oS(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oB(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oB(l.data[o],!0)||oB(t,!0)?r.options:oz(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oz(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oz(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oN(this.series.options.point,this.options),i=e.events?.[t];oI(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oT(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oW(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oM.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=oz(d.options.chart.animation,o.animation);let e=u.opacity;i.options.inactiveOtherPoints&&oD(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,oz(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height,oN(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oz(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oP({fill:this.color||i.color,"fill-opacity":y.opacity},tK.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oL(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oC(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oF=oX,{parse:oG}=tk,{charts:oY,composed:oj,isTouchDevice:oU}=k,{addEvent:o$,attr:oV,css:o_,extend:oq,find:oZ,fireEvent:oK,isNumber:oJ,isObject:oQ,objectEach:o0,offset:o1,pick:o2,pushUnique:o3,splat:o5}=$;class o6{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!k.chartCount&&(o6.unbindDocumentMouseUp.forEach(t=>t.unbind()),o6.unbindDocumentMouseUp.length=0,o6.unbindDocumentTouchEnd&&(o6.unbindDocumentTouchEnd=o6.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o0(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return oK(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=oQ(o)?o.enabled:o,p=r&&t[`${r}Key`],g=t.chartX,u=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(gn+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(g,u);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oG("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return oK(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}oJ(i.index)&&(this.selectionMarker=s.destroy())}i&&oJ(i.index)&&(o_(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);oQ(r,!0)&&r.series&&(!oQ(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&oJ(o.x)&&oJ(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o1(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o2(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};oK(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=oZ(t.points,function(t){return t.x===c.x&&!t.isNull});oQ(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),oK(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=oV(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),oK(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o2(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return oq(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(oK(i.series,"click",oq(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(oq(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&oK(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),k.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oY[o2(o6.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oY[o2(o6.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&o2(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(oK(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&o5(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&o5(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(g?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o$(s.container.ownerDocument,"mousemove",t=>oY[o6.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o2((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=oZ(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o$(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o$(t,"mouseleave",this.onContainerMouseLeave.bind(this))),o6.unbindDocumentMouseUp.some(t=>t.doc===e)||o6.unbindDocumentMouseUp.push({doc:e,unbind:o$(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o$(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o$(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o$(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),o6.unbindDocumentTouchEnd||(o6.unbindDocumentTouchEnd=o$(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oU)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o2(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o$(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o$(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o_(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o_(i,{"touch-action":o2(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=k.charts[o2(o6.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(o6.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o2(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o2(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}o6.unbindDocumentMouseUp=[],function(t){t.compose=function(e){o3(oj,"Core.Pointer")&&o$(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(o6||(o6={}));let o9=o6,{fireEvent:o4,isArray:o8,objectEach:o7,uniqueKey:rt}=$,re=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||rt(),this.modified=this,this.rowCount=0,this.versionTag=rt();let e=0;o7(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,o7(this.columns,e=>{o8(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;o7(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(o4(this,"afterSetColumns"),this.versionTag=rt())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;o7(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(o4(this,"afterSetRows"),this.versionTag=rt())}},{extend:ri,merge:rs,pick:ro}=$;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},f,m=r.marker,x=0;if(o.styledMode||(u["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?u.dashstyle=r.dashStyle:"square"===r.linecap||(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,g],["L",n-x,g]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(ro(m.radius,d),d);0===l.indexOf("url")&&(m=rs(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,ri({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,ro(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(d||(d={}));let rr=d,{defaultOptions:ra}=tm,{extend:rn,extendClass:rh,merge:rl}=$;!function(t){function e(e,i){let s=ra.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oF),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=k.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=ra.plotOptions||{};if(s=s||"",n[i]=rl(n[s],o),delete t.seriesTypes[i],e(i,rh(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oF{}rn(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(c||(c={}));let rd=c,{animObject:rc,setAnimation:rp}=tR,{defaultOptions:rg}=tm,{registerEventOptions:ru}=i3,{svg:rf,win:rm}=k,{seriesTypes:rx}=rd,{arrayMax:ry,arrayMin:rb,clamp:rv,correctFloat:rk,crisp:rw,defined:rM,destroyObjectProperties:rS,diffObjects:rT,erase:rC,error:rA,extend:rP,find:rL,fireEvent:rO,getClosestDistance:rE,getNestedProperty:rI,insertItem:rD,isArray:rB,isNumber:rN,isString:rz,merge:rR,objectEach:rW,pick:rH,removeEvent:rX,syncTimeout:rF}=$;class rG{constructor(){this.zoneAxis="y"}init(t,e){let i;rO(this,"init",{options:e}),this.dataTable??(this.dataTable=new re);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rP(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),ru(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rH(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rD(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rO(this,"afterInit")}is(t){return rx[t]&&this instanceof rx[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rO(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rH(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rD(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rA(18,!0,s)})}),rO(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rH(this.pointInterval,i.pointInterval,1),o&&rN(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rN(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rP(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rM(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rR(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rO(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rg.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let g=rR(h,s.series,p,r);this.tooltipOptions=rR(rg.tooltip,rg.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rH(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let u=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),u.push(e)),u.length&&rM(u[u.length-1].value)&&u.push(a?{}:{color:this.color,fillColor:this.fillColor}),rO(this,"afterSetOptions",{options:g}),g}getName(){return rH(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rM(o=rH("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rg.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oF&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rL(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rN(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rN(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rM(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rN(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let g=this.getColumn("x");return null===this.xIncrement&&g.length&&(this.xIncrement=ry(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),g=this.pointValKey||"y",u=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rR(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rB(t)&&(f||rN(t[0])));if(rN(i)&&rN(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[g]:i})}else if(o(i)&&o(s)){if(u){let e=i.length===u?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=u;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[g]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rI(i,t),o=rI(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,g,u,f,m=e.getColumn("x"),x=i,y=!1;return r&&(u=(g=r.getExtremes()).min,f=g.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new re:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,u,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rE([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rA(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rO(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new re({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],g=this.dataColumnKeys(),u,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,g=o||this.cropped||!i,u,f,m,x=0,y=0;for(i&&(x=(u=i.getExtremes()).min,y=u.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rN(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rb(d),dataMax:ry(d)};return rO(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rW(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rO(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=rH(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(g),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=rH(o.radius,s&&s.radius);e&&(n=s.states[e],l=rH((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rN(l)&&d&&(i.crisp&&(d[0]=rw(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,g=rH(o.lineWidth,i.lineWidth),u=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},g=rH((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,g+rH(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":g,fill:c,opacity:u=rH(l.opacity,h.opacity,u)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rm.navigator.userAgent),n=o.data||[];for(rO(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rC(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rS(t,void 0,!0);$.clearTimeout(o.animationTimeout),rW(o,function(t,e){t instanceof ej&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rC(r.series,o),r.orderItems("series"),rW(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:g=0}=d||{},u=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rv(d.toPixels(rH(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,f=r.len,y=a.len;c?(p=o,f=x):(g=o,y=x);let b=[["M",p,g],["L",f,g],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rM(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rM(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rX(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rc(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rO(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rF(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rO(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rF(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rf?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rO(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,g=n.data,u=this.getColumn("x");e=rH(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=u.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),g?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,g,...Object.values(d.getColumns())].filter(rM).forEach(t=>{t.shift()}),d.rowCount-=1,rO(d,"afterDeleteRows"))),!1!==o&&rO(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rM).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rO(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rp(i,o),e=rH(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rH(t,!0)&&r.redraw(e)}!1!==i?rO(o,"remove",null,a):a()}update(t,e){rO(this,"update",{options:t=rT(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rx[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||o.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));g=g||r,u?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rP(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rR(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rx[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rx[g].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rP(i,rx[g].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rA(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rO(this,"afterUpdate"),rH(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rH(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rM(r)?i!==o:i!==rH(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rO(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rO(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rH(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=rH(a[t].opacity,l)),o&&!o.dashstyle&&rN(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rO(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rO(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rr[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rG.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rG.types=rd.seriesTypes,rG.registerType=rd.registerSeriesType,rP(rG.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oF,requireSorting:!0,sorted:!0}),rd.series=rG;let rY=rG,{animObject:rj,setAnimation:rU}=tR,{registerEventOptions:r$}=i3,{composed:rV,marginNames:r_}=k,{distribute:rq}=ed,{format:rZ}=eo,{addEvent:rK,createElement:rJ,css:rQ,defined:r0,discardElement:r1,find:r2,fireEvent:r3,isNumber:r5,merge:r6,pick:r9,pushUnique:r4,relativeLength:r8,stableSort:r7,syncTimeout:at}=$;class ae{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r$(this,e),rK(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),rK(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=r9(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=r6(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=r9(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(r6(!0,this.options,t)),"events"in this.options&&r$(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,r9(e,!0)&&i.redraw(),r3(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rY||t instanceof oF)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(r6(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,r3(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r0(e.translateY)?"animate":"attr"](o,void 0,()=>{r3(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r1(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,rQ(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?r9(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&r9(i.showInLegend,!r0(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),r3(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r0(t[a])&&(i[r_[a]]=Math.max(i[r_[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+r9(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r2(a?t.points:t.points.slice(0).reverse(),function(t){return r5(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),rq(i,e.plotHeight)))t=o.item.legendItem||{},r5(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=r8(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),r7(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),r3(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=r6(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(r6(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=r9(l.animation,!0),c=l.arrowSize||12,p=this.pages,g=this.allItems,u=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=r9(this.currentPage,1),this.fullHeight=t,g.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((g[e-1].legendItem||{}).pageIx=o-1),e===g.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),u(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(u(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&rU(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),at(()=>{r3(this,"afterScroll",{currentPage:l})},rj(r9(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oF,n=t instanceof rY,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(r6(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),r3(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&r3(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=rJ("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),rK(t.checkbox,"click",function(e){let i=e.target;r3(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){r4(rV,"Core.Legend")&&rK(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(ae||(ae={}));let ai=ae,{animate:as,animObject:ao,setAnimation:ar}=tR,{defaultOptions:aa}=tm,{numberFormat:an}=eo,{registerEventOptions:ah}=i3,{charts:al,doc:ad,marginNames:ac,svg:ap,win:ag}=k,{seriesTypes:au}=rd,{addEvent:af,attr:am,createElement:ax,css:ay,defined:ab,diffObjects:av,discardElement:ak,erase:aw,error:aM,extend:aS,find:aT,fireEvent:aC,getAlignFactor:aA,getStyle:aP,isArray:aL,isNumber:aO,isObject:aE,isString:aI,merge:aD,objectEach:aB,pick:aN,pInt:az,relativeLength:aR,removeEvent:aW,splat:aH,syncTimeout:aX,uniqueKey:aF}=$;class aG{static chart(t,e,i){return new aG(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aI(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aN(t.zoomType,e.type),key:aN(t.zoomKey,e.key),pinchType:aN(t.pinchType,e.pinchType),singleTouch:aN(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aD(e.resetButton,t.resetZoomButton)}}init(t,e){aC(this,"init",{args:arguments},function(){let i=aD(aa,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aS({},t),(this.renderTo=aI(o)?ad.getElementById(o):o)||aM(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new td(aS(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||an).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=al.length,al.push(this),k.chartCount++,ah(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aC(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=au[i];s||aM(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aH(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aH(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(u.isInsidePlot=!1)}if(!i.ignoreY&&u.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+g:a+g;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(u.isInsidePlot=!1)}return aC(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){aC(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ar(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&(g=!0)),t.isDirtyData&&aC(t,"updatedData")}),g&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){aC(t,"afterSetExtremes",aS(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aC(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aC(this,"redraw"),aC(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aT(this.axes,i)||aT(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aN(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aD(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aS("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aD(o),n=i?.textPxLength||0;if(i&&r){aC(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,g="title"===t?c?-3:0:c?e[0]+2:0,u=Math.min(a.width/n,1),f=Math.max(p,u),m=aD({y:"bottom"===d?h:g+h},{align:"title"===t?up?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aA(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aC(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aP(this.renderTo,"width",!0)||0,height:aP(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aR(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(ay(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ad.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ad.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ad.body.appendChild(e)),("none"===aP(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),ay(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ad.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aF(),r=this.renderTo,a=az(am(r,s));aO(a)&&al[a]&&al[a].hasRendered&&al[a].destroy(),am(r,s,this.index),r.innerHTML=tK.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;ay(r,{overflow:"hidden"}),this.styledMode||(t=aS({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=ax("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||ay(l,{width:aN(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!ap?er.getRendererType(i.renderer):iR;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ar(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aC(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!ab(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!ab(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aC(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ac.forEach(function(i,o){ab(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return av(this.userOptions,aa)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&($.clearTimeout(e.reflowTimeout),e.reflowTimeout=aX(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=af(ag,"resize",e);af(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ar(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?as:ay)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aC(s,"resize"),setTimeout(()=>{s&&aC(s,"endResize")},ao(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),aC(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aC(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aE(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aN(e[i+s],o[r])})}),ac.forEach(function(e,i){t[e]=aN(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](g),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aC(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=au[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=au[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aI(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aN(t.options.visible,s.options.visible,t.visible))}}),aC(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),aC(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sa(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aN(i.reserveSpace,!aO(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aD(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(ag.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aC(e,"destroy"),e.renderer.forExport?aw(al,e):al[e.index]=void 0,k.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aW(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=tK.emptyHTML,aW(o),r&&ak(o)),aB(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aL(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aC(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aC(this,"load"),aC(this,"render"),ab(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aC(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),ay(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:g,minPointOffset:u=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aN(a[x],t.len),v=aN(s[x],t.len),k=10>Math.abs(b)?1:b/v,w=(s[y]||0)+v/2-t.pos,M=w-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(w<0||w>t.len))continue;let T=t.toValue(M,!0)+(r||t.isOrdinal?0:u*S),C=t.toValue(M+g/k,!0)-(r||t.isOrdinal?0:u*S||0),A=t.allExtremes;if(T>C&&([T,C]=[C,T]),1===k&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aO(t.dataMin)&&aO(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:P,dataMax:L,min:O,max:E}=aS(t.getExtremes(),A||{}),I=l.parse(f.min),D=l.parse(f.max),B=P??I,N=L??D,z=C-T,R=t.categories?0:Math.min(z,N-B),W=B-R*(ab(I)?0:f.minPadding),H=N+R*(ab(D)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,F=Math.min(I??W,W,X?O:W),G=Math.max(D??H,H,X?E:H);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(T=1&&(C=T+z)),C>G&&(C=G,k>=1&&(T=C-z)),(o||t.series.length&&(T!==O||C!==E)&&T>=F&&C<=G)&&(r?r[t.coll].push({axis:t,min:T,max:C}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:T,o?void 0:C,!1,!1,{move:M,trigger:n,scale:k}),!o&&(T>F||C{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aS(aG.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aG.prototype.addAxis,[!0]],yAxis:[aG.prototype.addAxis,[!1]],series:[aG.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:aY}=tR,{composed:aj}=k,{addEvent:aU,createElement:a$,css:aV,defined:a_,erase:aq,merge:aZ,pushUnique:aK}=$;function aJ(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new a0(this)),t?.applyFixed()}function aQ(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class a0{static compose(t,e,i){aK(aj,this.compose)&&(aU(t,"afterInit",aQ),aU(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),aU(e,"render",aJ),aU(i,"show",aQ))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=aZ(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),a_(s)&&(t.scrollablePlotBox=aZ(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),a_(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=er.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a$("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=a$("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=a$("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=a$("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),aV(t.renderTo,{overflow:"visible"}),aU(t,"afterShowResetZoom",r),aU(t,"afterApplyDrilldown",r),aU(t,"afterLayOutTitles",r),aU(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+g;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aY(t.container),aV(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),aV(s,{width:`${r}px`,height:`${a}px`}),a_(i)||(s.scrollLeft=p*u,s.scrollTop=g*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,w=l+c-p,M=d+h-g,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:g&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,a],["L",k,a],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=a0.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aK(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aq(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}a0.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a1}=eo,{series:a2}=rd,{destroyObjectProperties:a3,fireEvent:a5,getAlignFactor:a6,isNumber:a9,pick:a4}=$,a8=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){a3(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a1(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:a4(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a5(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:g}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===a4(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&a2.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*a6(l.textAlign||"center"),rotationOriginY:t.height/2}),a4(!i&&l.crop,!0)&&(s=a9(h.x)&&a9(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}a5(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*a6(i)-1),y:t.height/2*2*(1-a6(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:a4(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=a4(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||a9(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:a7}=tR,{series:{prototype:nt}}=rd,{addEvent:ne,correctFloat:ni,defined:ns,destroyObjectProperties:no,fireEvent:nr,isNumber:na,objectEach:nn,pick:nh}=$;function nl(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nh(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nd(){let t=this.stacking;if(t){let e=t.stacks;nn(e,(t,i)=>{no(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function nc(){this.stacking||(this.stacking=new nx(this))}function np(t,e,i,s){return!ns(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function ng(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function nu(t,e,i){let s=e.total?100/e.total:0;t[0]=ni(t[0]*s),t[1]=ni(t[1]*s),this.stackedYData[i]=t[1]}function nf(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?nt.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nm(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],g=c.length,u=this.options,f=u.threshold||0,m=u.startFromThreshold?f:0,x=u.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(u):ni(S+Math.abs(u))):"group"===l?na(g)&&S++:S=ni(S+u),"group"===l?o.cumulative=(S||1)-1:o.cumulative=ni(nh(o.cumulative,m)+u),o.total=S,null!==g&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class nx{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{nn(t,t=>{t.cumulative=t.total})}))}resetStacks(){nn(this.stacks,t=>{nn(t,(e,i)=>{na(e.touched)&&e.touched{nn(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(p||(p={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(ne(t,"init",nc),ne(t,"destroy",nd),s.getStacks=nl,o.getStackIndicator=np,o.modifyStacks=ng,o.percentStacker=nu,o.setGroupedPoints=nf,o.setStackedPoints=nm)};let ny=p,{defined:nb,merge:nv,isObject:nk}=$;class nw extends rY{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nv({filterUnits:"userSpaceOnUse"},nk(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,g=l.plotY,u=t[d-1],f=l.isNull||"number"!=typeof g;(l.leftCliff||u&&u.rightCliff)&&!i&&(n=!0),f&&!nb(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",u.plotX,g]]:2===h?[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,g]]:[["L",p,u.plotY]]).push(["L",p,g]):c=[["L",p,g]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nw.defaultOptions=nv(rY.defaultOptions,{legendSymbol:"lineMarker"}),rd.registerSeriesType("line",nw);let{seriesTypes:{line:nM}}=rd,{extend:nS,merge:nT,objectEach:nC,pick:nA}=$;class nP extends nM{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nM.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,g=Math.round(n.getThreshold(r.threshold)),u=nA(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],u=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?u[0]:u[1])+m,y=u[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?g:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?g:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,g){let u=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[g+i]],u=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;nK(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&nV(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nj(s)){if(n_(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=nZ(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=nZ(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,g=t.dataMax,u=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rY.prototype.translate.apply(t),t.points.forEach(function(s){let o=nZ(s.yBottom,u),m=999+Math.abs(o),x=s.plotX||0,y=nG(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,w=d,M=x+c,S=f;h&&Math.abs(k)h?o-h:u-(b?h:0)),nj(s.options.pointWidth)&&(M-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,l)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[nG(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-S/2,k]:[r.left-e.plotLeft+M+S/2,nG(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,s.isNull?u:v,S,s.isNull?0:k)}),n$(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,g=nZ(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=nq(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nX(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,g=nZ(a.opacity,g));let u={fill:l,stroke:d,"stroke-width":p,opacity:g};return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=n2(h)&&n2(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===ht(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&n2(h)&&(t.series.forceDL||a&&!p||c||ht(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();if(g&&u){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=n3({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),n3(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(n8(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=n6(i.align)*(l.width-h.width),e.alignAttr.y+=n6(i.verticalAlign)*(l.height-h.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(ht(i.crop,!0)){let{x:t,y:i}=e.alignAttr;g=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})}o&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(n4(l)&&l||n4(a)&&a||"#000000"),c=h(i),{animation:p,defer:g}=c[0],u=g?n0(s,p,i):{defer:0,duration:0};n5(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(u),t.forEach(t=>{let a=t.dataLabels||[];hi(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:g,style:u={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=n2(f=ht(n[t.formatPrefix+"Format"],n.format))?n1(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(u.color=ht(n.color,u.color,n4(i.color)?i.color:void 0,"#000000"),"contrast"===u.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),u.color=k||!n2(g)&&n.inside||0>he(g||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(u.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),n7(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&n2(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&n2(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?u.width&&b.css({width:u.width,textOverflow:u.textOverflow,whiteSpace:u.whiteSpace}):b.css(u).shadow(n.shadow),n5(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),n5(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&u>=0?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(n9(t)&&!n9(e))i=t.map(function(t){return n8(t,e)});else if(n9(e)&&!n9(t))i=e.map(function(e){return n8(t,e)});else if(n9(t)||n9(e)){if(n9(t)&&n9(e))for(s=Math.max(t.length,e.length);s--;)i[s]=n8(t[s],e[s])}else i=n8(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hi(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(g||(g={}));let hs=g,{composed:ho}=k,{series:hr}=rd,{merge:ha,pick:hn,pushUnique:hh}=$;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hn(t.below,t.plotY>hn(this.translatedThreshold,h)),c=hn(i.inside,!!this.options.stacking);if(l){if(s=ha(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hm(hy.prototype,{drawTracker:hg.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hf(hy,"afterTranslate",function(){this.applyJitter()}),rd.registerSeriesType("scatter",hy);let{deg2rad:hb}=k,{fireEvent:hv,isNumber:hk,pick:hw,relativeLength:hM}=$;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let g=[hw(r?.[0],"50%"),hw(r?.[1],"50%"),hw(l&&l<0?void 0:t.size,"100%"),hw(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rY||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=hM(p,[s,o,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),hk(n)&&2*n0&&(g[3]=g[2]-2*n),hv(this,"afterGetCenter",{positions:g}),g},t.getStartAndEndRadians=function(t,e){let i=hk(t)?t:0,s=hk(e)&&e>i&&e-i<360?e:i+360;return{start:hb*(i+-90),end:hb*(s+-90)}}}(f||(f={}));let hS=f,{setAnimation:hT}=tR,{addEvent:hC,defined:hA,extend:hP,isNumber:hL,pick:hO,relativeLength:hE}=$;class hI extends oF{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hC(this,"select",s),hC(this,"unselect",s)}isValid(){return hL(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hT(i,s.chart),e=hO(e,!0),this.sliced=this.options.sliced=t=hA(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hP(hI.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,g="left"===t.alignment,{x:u,y:f}=t,m=o.x;if(i.crookDistance){let t=hE(i.crookDistance,1);m=g?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",u,f]];return(g?m<=u&&m>=o.x:m>=u&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hD}=hS,{noop:hB}=k,{clamp:hN,extend:hz,fireEvent:hR,merge:hW,pick:hH}=$;class hX extends rY{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hH(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:e6.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hN((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hW(!0,n,i),hW(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hR(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hD(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,g,u,f,m=0;for(t||(this.center=t=this.getCenter()),u=0;u1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hR(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hX.defaultOptions=hW(rY.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hz(hX.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:nQ.prototype.drawTracker,getCenter:hS.getCenter,getSymbol:hB,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:nQ.prototype.pointAttribs,pointClass:hI,requireSorting:!1,searchPoint:hB,trackerGroups:["group","dataLabelsGroup"]}),rd.registerSeriesType("pie",hX);let{composed:hF,noop:hG}=k,{distribute:hY}=ed,{series:hj}=rd,{arrayMax:hU,clamp:h$,defined:hV,pick:h_,pushUnique:hq,relativeLength:hZ}=$;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,g=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*g,y:p+d*g},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,g,u,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hj.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=hZ(o?.distance||0,s);0===i&&d[t.half].push(t),!hV(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,g=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},g.push(t.distributeBox))})}),hY(g,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,w=0,M=y,S="inherit";if(x){if(g&&hV(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,M=p.radialDistributionY(i,l))),d.justify)w=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,a,s,r);break;case"plotEdges":w=p.alignToPlotEdges(l,a,s,r);break;default:w=p.radialDistributionX(t,i,M-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:M+(d.y||0)-v/2},x.computed.x=w,x.computed.y=M-k,h_(d.crop,!0)){let t;w-(u=l.getBBox().width)s-b&&0===a&&(t=Math.round(w+u-s+b),c[1]=Math.max(t,c[1])),M-f/2<0?c[0]=Math.max(Math.round(-M+f/2),c[0]):M+f/2>o&&(c[2]=Math.max(Math.round(M+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===hU(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;g=s.connector,a&&a.distance>0?(n=!g,g||(s.connector=g=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||g.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),g[n?"attr":"animate"]({d:e.getConnectorPath(s)}),g.attr({visibility:a.attribs?.visibility})):g&&(s.connector=g.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h$(r,o,e[2]-Math.max(t[0],t[2])):(r=h$(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(x||(x={}));let{pointInPolygon:hJ}=x,{addEvent:hQ,fireEvent:h0,objectEach:h1,pick:h2}=$;function h3(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(hJ({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{h1(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=h2(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,h5(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let h9={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=h3,hQ(t,"render",h6))}},{defaultOptions:h4}=tm,{noop:h8}=k,{addEvent:h7,extend:lt,isObject:le,merge:li,relativeLength:ls}=$,lo={radius:0,scope:"stack",where:void 0},lr=h8,la=h8;function ln(t,e,i,s,o={}){let r=lr(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(ls(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),g=Math.min(p,d/Math.PI*2*a),u=r.length-1;for(;u--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,g=n?a-i:a+i,u=g?Math.asin(i/g):0,f=n?u:-u,m=Math.cos(u)*g;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?g:p);return r}function lh(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=h4.plotOptions?.[this.type]?.borderRadius,o=ll(t.borderRadius,le(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,g=o.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let u=Math.min(ls(o.radius,n),n/2,"all"===g?h/2:1/0)||0;"end"===g&&(p&&(d-=u),c+=u),lt(a,{brBoxHeight:c,brBoxY:d,r:u})}}}}function ll(t,e){return le(t)||(t={radius:t||0}),li(lo,e,t)}function ld(){let t=ll(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=ls(t.radius,(i.r||0)-(i.innerR||0)))}}function lc(t,e,i,s,o={}){let r=la(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,g=Math.max(c&&l,0),u=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);f[0]-=t,m[0]+=t,x[1]=w[1]=e+c-g}if(s=lm(i.minWidth,0)&&this.chartHeight>=lm(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lx()),this.matchResponsiveRule(t,o)},this);let a=lf(...o.map(t=>lu((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lp(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lg(s,{matchResponsiveRule:e,setResponsive:i}),t}}(y||(y={}));let ly=y;k.AST=tK,k.Axis=sR,k.Chart=aG,k.Color=tk,k.DataLabel=hs,k.DataTableCore=re,k.Fx=tC,k.HTMLElement=iZ,k.Legend=ai,k.LegendSymbol=rr,k.OverlappingDataLabels=k.OverlappingDataLabels||h9,k.PlotLineOrBand=s4,k.Point=oF,k.Pointer=o9,k.RendererRegistry=er,k.Series=rY,k.SeriesRegistry=rd,k.StackItem=a8,k.SVGElement=ej,k.SVGRenderer=iR,k.Templating=eo,k.Tick=sa,k.Time=td,k.Tooltip=ok,k.animate=tR.animate,k.animObject=tR.animObject,k.chart=aG.chart,k.color=tk.parse,k.dateFormat=eo.dateFormat,k.defaultOptions=tm.defaultOptions,k.distribute=ed.distribute,k.format=eo.format,k.getDeferredAnimation=tR.getDeferredAnimation,k.getOptions=tm.getOptions,k.numberFormat=eo.numberFormat,k.seriesType=rd.seriesType,k.setAnimation=tR.setAnimation,k.setOptions=tm.setOptions,k.stop=tR.stop,k.time=tm.defaultTime,k.timers=tC.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;h7(t,"afterColumnTranslate",lh,{order:9}),h7(s,"afterTranslate",ld),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lr=o.arc,la=o.roundedRect,o.arc=ln,o.roundedRect=lc}},optionsToObject:ll}).compose(k.Series,k.SVGElement,k.SVGRenderer),hl.compose(k.Series.types.column),hs.compose(k.Series),sG.compose(k.Axis),iZ.compose(k.SVGRenderer),ai.compose(k.Chart),s$.compose(k.Axis),h9.compose(k.Chart),hK.compose(k.Series.types.pie),s4.compose(k.Chart,k.Axis),o9.compose(k.Chart),ly.compose(k.Chart),a0.compose(k.Axis,k.Chart,k.Series),ny.compose(k.Axis,k.Chart,k.Series),ok.compose(k.Pointer),$.extend(k,$);let lb=k;return v.default})()); \ No newline at end of file diff --git a/highcharts.src.d.ts b/highcharts.src.d.ts index ccf6f5306c..3dba75f166 100644 --- a/highcharts.src.d.ts +++ b/highcharts.src.d.ts @@ -97913,7 +97913,15 @@ export class Tick { * options set. * * The Time object is available from Highcharts.Chart#time, which refers to - * `Highcharts.time` if no individual time settings are applied. + * `Highcharts.time` unless individual time settings are applied for each chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. */ export class Time { /** @@ -97922,7 +97930,17 @@ export class Time { * time options set. * * The Time object is available from Highcharts.Chart#time, which refers to - * `Highcharts.time` if no individual time settings are applied. + * `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware + * that using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. + * However, the recommended best practice is to use `setOptions` to define + * global time settings unless specific configurations are needed for each + * chart. * * @param options * Time options as defined in chart.options.time. diff --git a/highcharts.src.js b/highcharts.src.js index e38242743b..57980f729b 100644 --- a/highcharts.src.js +++ b/highcharts.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi @@ -74,12 +74,12 @@ var Globals; * Constants * * */ - Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.0', Globals.win = (typeof window !== 'undefined' ? + Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ? window : {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', @@ -3500,7 +3500,7 @@ const SeriesPalettes = { * */ -const { win: Time_win } = Core_Globals; +const { pageLang, win: Time_win } = Core_Globals; const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities; /* * @@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -3688,7 +3696,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (Time_isString(options)) { options = this.str2dtf(options); @@ -7066,14 +7074,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Core_Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions @@ -8834,7 +8834,7 @@ AST.bypassHTMLFiltering = false; const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults; -const { doc: Templating_doc } = Core_Globals; +const { pageLang: Templating_pageLang } = Core_Globals; const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities; const helpers = { @@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) @@ -9691,9 +9691,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -9725,7 +9723,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - SVGElement_getAlignFactor(alignOptions.verticalAlign); + SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed @@ -11608,7 +11608,9 @@ class SVGLabel extends SVG_SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { @@ -12636,7 +12638,7 @@ class SVGRenderer { this.url = this.getReferenceURL(); // Add description const desc = this.createElement('desc').add(); - desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.0')); + desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1')); this.defs = this.createElement('defs').add(); this.allowHTML = allowHTML; this.forExport = forExport; @@ -27477,7 +27479,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } @@ -42627,9 +42631,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + diff --git a/highmaps.js b/highmaps.js index 83c458105e..79b618a548 100644 --- a/highmaps.js +++ b/highmaps.js @@ -1,16 +1,16 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i;var s,o,r,a,n,l,h,d,c,p,u,g,m,f,x,y,b,v,M,w,k,S,T={};T.d=(t,e)=>{for(var i in e)T.o(e,i)&&!T.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},T.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};T.d(C,{default:()=>p9}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.0",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(s||(s={}));let A=s,{charts:P,doc:L,win:O}=A;function E(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=W(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),$(s,function(e,i){t+=` - - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}q(A,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);O.console&&-1===E.messages.indexOf(a)&&console.warn(a)}),E.messages.push(a)}function I(t,e){return parseInt(t,e||10)}function D(t){return"string"==typeof t}function B(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function z(t,e){return!!t&&"object"==typeof t&&(!e||!B(t))}function N(t){return z(t)&&"number"==typeof t.nodeType}function R(t){let e=t&&t.constructor;return!!(z(t,!0)&&!N(t)&&e&&e.name&&"Object"!==e.name)}function W(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function j(t){return null!=t}function X(t,e,i){let s;let o=D(e)&&!j(i),r=(e,i)=>{j(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return D(e)?r(i,e):$(e,r),s}function G(t){return B(t)?t:[t]}function F(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function H(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(E||(E={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let Z=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let K=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();O.jQuery&&(O.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new A[D(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):P[X(this[0],"data-highcharts-chart")]});let J={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;A.Point&&t instanceof A.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!A.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){_(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[l]){i=G(i),r[l]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=O.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),H(s,"opacity"!==i)&&(o=I(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return U(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:$,offset:function(t){let e=L.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(O.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(O.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:H,pInt:I,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:_,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:G,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return D(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:K,useSerialIds:function(e){return t=H(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{win:Q}=A,{defined:tt,error:te,extend:ti,isNumber:ts,isObject:to,isString:tr,merge:ta,objectEach:tn,pad:tl,splat:th,timeUnits:td,ucfirst:tc}=J,tp=A.isSafari&&Q.Intl&&!Q.Intl.DateTimeFormat.prototype.formatRange,tu=t=>void 0===t.main,tg=t=>["D","L","M","X","J","V","S"].indexOf(t),tm=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=Q.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=ta(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||Q.Date||Date;let s=t.timezone;tt(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,tg(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale){let s=JSON.stringify(t)+i;tr(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(te(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):te(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&ti(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tp||(n-=36e5)}}return n}parse(t){if(!tr(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(ts(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(ts(a))return a}return 0}dateFormat(t,e,i){let s=A.defaultOptions?.lang;if(!tt(e)||isNaN(e))return s?.invalidDate||"";if(tr(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(tr(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,l,h,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,m=s?.shortMonths||this.shortMonths;tn(ti({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tl(a),e:tl(a,2," "),w:c,b:m[r],B:g[r],m:tl(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tl(n),k:n,I:tl(n%12||12),l:n%12||12,M:tl(l),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:tl(h),L:tl(d,3)},A.dateFormats),function(s,o){if(tr(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(to(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(ti({timeZone:s},t),e)+r}return i?tc(t):t}resolveDTLFormat(t){return to(t,!0)?to(t,!0)&&tu(t)?{main:t}:t:{main:(t=th(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:l}=t,[h,d,c,p,u,g]=o.toParts(e),m=(e||0)%1e3,f;if(s??(s=1),tt(e)){if(m=l>=td.second?0:n*Math.floor(m/n),l>=td.second&&(g=l>=td.minute?0:n*Math.floor(g/n)),l>=td.minute&&(u=l>=td.hour?0:n*Math.floor(u/n)),l>=td.hour&&(p=l>=td.day?0:n*Math.floor(p/n)),l>=td.day&&(c=l>=td.month?1:Math.max(1,n*Math.floor(c/n))),l>=td.month&&(d=l>=td.year?0:n*Math.floor(d/n)),l>=td.year&&(h-=h%n),l===td.week){n&&(e=o.makeTime(h,d,c,p,u,g,m));let t=tg(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*td.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(h,d,c,p+x*n):t+=l*n,x++;r.push(t),l<=td.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=ti(t,{higherRanks:a,totalRange:l*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",l=n;for(n in td){if(t===td.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(td[n]>t){n=l;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(l=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tf}=A,{fireEvent:tx,merge:ty}=J,tb={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tf?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};tb.chart.styledMode=!0,tb.chart.styledMode=!1;let tv=new tm(tb.time),tM={defaultOptions:tb,defaultTime:tv,getOptions:function(){return tb},setOptions:function(t){return tx(A,"setOptions",{options:t}),ty(!0,tb,t),t.time&&tv.update(tb.time),t.lang&&"locale"in t.lang&&tv.update({locale:t.lang.locale}),tb}},{isNumber:tw,merge:tk,pInt:tS,defined:tT}=J;class tC{static parse(t){return t?new tC(t):tC.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=A.Color;if(r&&r!==tC)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tC(t[1]));else if("string"==typeof t)for(this.input=t=tC.names[t.toLowerCase()]||t,s=tC.parsers.length;s--&&!i;)(e=(o=tC.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tk(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tw(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tw(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tS(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tw(i[0])||!tw(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tC.names={white:"#ffffff",black:"#000000"},tC.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tS(t[1]),tS(t[2]),tS(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tS(t[1]),tS(t[2]),tS(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tS(t[1]+t[1],16),tS(t[2]+t[2],16),tS(t[3]+t[3],16),tT(t[4])?tS(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tS(t[1],16),tS(t[2],16),tS(t[3],16),tT(t[4])?tS(t[4],16)/255:1]}}],tC.None=new tC("");let{parse:tA}=tC,{win:tP}=A,{isNumber:tL,objectEach:tO}=J;class tE{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,tO(l,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs,h,d,c,p,u=e&&e.slice();if(!u||l)return[r,r];function g(t,e){for(;t.length{let i=tX(t.options.animation);r=tN(e)&&tI(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tj(t,e.options.chart.animation,!0)},stop:tG},{SVG_NS:tH,win:tY}=A,{attr:tV,createElement:tU,css:tZ,error:t$,isFunction:t_,isString:tq,objectEach:tK,splat:tJ}=J,{trustedTypes:tQ}=tY,t0=tQ&&t_(tQ.createPolicy)&&tQ.createPolicy("highcharts",{createHTML:t=>t}),t1=t0?t0.createHTML(""):"";class t2{static filterUserAttributes(t){return tK(t,(e,i)=>{let s=!0;-1===t2.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tq(e)&&t2.allowedReferences.some(t=>0===e.indexOf(t))),s||(t$(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tq(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t2.emptyHTML,e&&new t2(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tJ(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?A.doc.createTextNode(e.textContent):void 0,n=t2.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==t2.allowedTags.indexOf(r)||n){let s="svg"===r?tH:i.namespaceURI||tH,l=A.doc.createElementNS(s,r),h=e.attributes||{};tK(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),tV(l,n?h:t2.filterUserAttributes(h)),e.style&&tZ(l,e.style),a&&l.appendChild(a),t(e.children||[],l),o=l}else t$(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t0?t0.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tU("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t2.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t2.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t2.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t2.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t2.emptyHTML=t1,t2.bypassHTMLFiltering=!1;let{defaultOptions:t3,defaultTime:t6}=tM,{doc:t5}=A,{extend:t9,getNestedProperty:t8,isArray:t4,isNumber:t7,isObject:et,isString:ee,pick:ei,ucfirst:es}=J,eo={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t4(t)&&t.map((i,s)=>en(e.body,t9(et(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:es,unless:t=>!t},er={},ea=t=>/^["'].+["']$/.test(t);function en(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,l=i?.options.lang||t3.lang,h=i&&i.time||t6,d=i&&i.numberFormatter||el,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ea(t)?t.slice(1,-1):t8(t,e))},p,u,g=0,m;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,m=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");eo[a]&&(u.isBlock&&a===u.fn&&g++,u.fn||(u.fn=a));let n="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||n)){if(g)!n&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],n||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:m,fn:f}=s;if(f){let t=[s],o=[],a=m.length,n=0,l;for(p=0;p<=a;p++){let t=m.charAt(p);l||'"'!==t&&"'"!==t?l===t&&(l=""):l=t,l||" "!==t&&p!==a||(o.push(m.substr(n,p-n)),n=p+1)}for(p=eo[f].length;p--;)t.unshift(c(o[p+1]));r=eo[f].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=en(r?u:g,e,i))}else{let t=ea(m)?[m]:m.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,l.decimalPoint,e.indexOf(",")>-1?l.thousandsSep:""))}else r=h.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&ee(r)&&(r=`"${r}"`)}t=t.replace(s.find,ei(r,""))}),m?en(t,e,i):t}function el(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||t3.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):t7(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),t7(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||l.locale||t5.body.closest("[lang]")?.lang,g=JSON.stringify(c)+u;return o=(er[g]??(er[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/\,/g,s??",").replace(".",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let eh={dateFormat:function(t,e,i){return t6.dateFormat(t,e,i)},format:en,helpers:eo,numberFormat:el};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,A.Renderer=s)}}(o||(o={}));let ed=o,{clamp:ec,pick:ep,pushUnique:eu,stableSort:eg}=J;(r||(r={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],l=e.length,h=[],d=n.push,c,p,u,g=!0,m,f,x=0,y;for(c=l;c--;)x+=e[c].size;if(x>r){for(eg(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?l/2:-1,p=y?u:l-1;u&&x>r;)m=e[c=Math.floor(p)],eu(h,c)&&(x-=m.size),p+=u,y&&p>=e.length&&(u/=2,p=u);h.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(eg(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:ep(t.align,.5)}));g;){for(c=e.length;c--;)m=e[c],f=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=ec(f-m.size*m.align,0,i-m.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),eg(o,a),o};let em=r,{animate:ef,animObject:ex,stop:ey}=tF,{deg2rad:eb,doc:ev,svg:eM,SVG_NS:ew,win:ek,isFirefox:eS}=A,{addEvent:eT,attr:eC,createElement:eA,crisp:eP,css:eL,defined:eO,erase:eE,extend:eI,fireEvent:eD,getAlignFactor:eB,isArray:ez,isFunction:eN,isNumber:eR,isObject:eW,isString:ej,merge:eX,objectEach:eG,pick:eF,pInt:eH,pushUnique:eY,replaceNested:eV,syncTimeout:eU,uniqueKey:eZ}=J;class e${_defaultGetter(t){let e=eF(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o={"text-align":t?.align},r=this.renderer,a=r.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let l=!i||ej(i)?i||"renderer":void 0;l&&(n&&eY(a,this),i=void 0);let h=eF(i,r[l],r),d=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*eB(t.align),c=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*eB(t.verticalAlign);return o[e?"translateX":"x"]=Math.round(d),o[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](o),this.placed=!0),this.alignAttr=o,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ex(eF(e,this.renderer.globalAnimation,!0)),o=s.defer;return ev.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eU(()=>{this.element&&ef(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eG(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&A.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ev.createElementNS(ew,"tspan");eC(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=ev.createElementNS(ew,"tspan");a.textContent="​",eC(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=e$.symbolCustomAttribs,a,n,l=this,h;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eG(t,function(e,i){h=!1,s||ey(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=eZ()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eI(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eP(i,e),n=eP(s,e);return eI(t,{x:a,y:n,width:eP(o,e)-a,height:eP(r,e)-n}),eO(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,l,h,d,c,p,u,g=[],m;eD(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],l=s.gradients,h=t.stops,p=i.radialReference,ez(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eO(a.gradientUnits)&&(n=a,a=eX(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eG(a,function(t,e){"id"!==e&&g.push(e,t)}),eG(h,function(t){g.push(t)}),l[g=g.join(",")])u=l[g].attr("id");else{a.id=u=eZ();let t=l[g]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tC.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}m="url("+s.url+"#"+u+")",i.setAttribute(e,m),i.gradient=g,t.toString=function(){return m}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eG(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eI(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eH(t.width)),eI(this.styles,t),o&&!eM&&this.renderer.forExport&&delete t.width;let r=eS&&t.fontSize||null;r&&(eR(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eX(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eL(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eH(s[e])*eF(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ey(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=n.namespaceURI===this.SVG_NS,g=eF(e,this.rotation,0),m=l.styledMode?n&&e$.prototype.getStyle.call(n,"font-size"):h.fontSize;if(eO(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,a,h.lineClamp,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eL(e,{display:t})},eN(o)&&o("none"),i=n.getBBox?eI({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eN(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eD(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:l=0,rotationOriginY:h=0}=this,d=eB(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*eb,u=(e-90)*eb,g=Math.cos(p),m=Math.sin(p),f=o*g,x=o*m,y=Math.cos(u),b=Math.sin(u),[[v,M],[w,k]]=[l,h].map(t=>[t-t*g,t*m]),S=i+d*(o-f)+v+k+c*y,T=S+f,C=T-r*y,A=C-f,P=s+c-d*x-M+w+c*b,L=P+x,O=L-r*b,E=O-x,I=Math.min(S,T,C,A),D=Math.min(P,L,O,E),B=Math.max(S,T,C,A)-I,z=Math.max(P,L,O,E)-D;return{x:I,y:D,width:B,height:z,polygon:[[S,P],[T,L],[C,O],[A,E]]}}getStyle(t){return ek.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ew,this.element="span"===e||"body"===e?eA(e):ev.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eD(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eT(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(ej(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eX(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eW(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eH(t):""!==t&&(eC(i=ev.createElementNS(ew,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;e$.symbolCustomAttribs.forEach(function(i){e[i]=eF(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ev.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eV(eF(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];eO(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eF(o,e.getAttribute("x"),0)+" "+eF(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eO(a)||eO(n))&&d.push("scale("+eF(a,1)+" "+eF(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,l,h,d=!1,c,p=this.added,u;if(eO(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eO(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!eO(h=(l=n[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(eH(h)<=t||c&&(!eO(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}e$.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],e$.prototype.strokeSetter=e$.prototype.fillSetter,e$.prototype.yGetter=e$.prototype.xGetter,e$.prototype.matrixSetter=e$.prototype.rotationOriginXSetter=e$.prototype.rotationOriginYSetter=e$.prototype.rotationSetter=e$.prototype.scaleXSetter=e$.prototype.scaleYSetter=e$.prototype.translateXSetter=e$.prototype.translateYSetter=e$.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let e_=e$,{defined:eq,extend:eK,getAlignFactor:eJ,isNumber:eQ,merge:e0,pick:e1,removeEvent:e2}=J;class e3 extends e_{constructor(t,e,i,s,o,r,a,n,l,h){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e3.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=eJ(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&eQ(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e0(t),e3.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return e_.prototype.css.call(this,t)}destroy(){e2(this.element,"mouseenter"),e2(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),e_.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=e1(this.paddingLeft,i),l=e??(this.rotation||0),h={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e1(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eq(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){eQ(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!eQ(this.widthSetting)||!eQ(this.heightSetting)||this.textAlign)&&eq(e.textStr)?e.getBBox(void 0,0):e3.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(eK(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+eJ(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=eQ(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e1(this.paddingLeft,t),i=e1(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e3.emptyBBox={width:0,height:0,x:0,y:0},e3.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e6,isNumber:e5,pick:e9}=J;function e8(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e9(o.r,i),l=e9(o.r,s||i),h=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&l0)return h;if(t+n>i-a){if(l>e+a&&le+a&&l0){let i=ls&&na&&h.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return e8(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e4,roundedRect:e7,square:e4,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:ie,SVG_NS:ii,win:is}=A,{attr:io,extend:ir,fireEvent:ia,isString:il,objectEach:ih,pick:id}=J,ic=(t,e)=>t.substring(0,e)+"…",ip=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=id(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new t2(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(ie.createTextNode(this.unescapeEntities(s)));il(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=io(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),io(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,h,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,ic),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(ie.createTextNode(e),t);let s=ie.createElementNS(ii,"tspan");s.textContent="​",io(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,ic)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===is.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===is.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,l=this.renderer.styledMode;if("b"===n||"strong"===n?l?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(l?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),ir(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),ia(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,l;let h=this.svgElement,{rotation:d}=h,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let m=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(h.rotation=0,s+(l=m(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(n=a(i,g)),l=m(g,n&&n.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=n||a(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ic)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=d}unescapeEntities(t,e){return ih(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:iu}=tM,{charts:ig,deg2rad:im,doc:ix,isFirefox:iy,isMS:ib,isWebKit:iv,noop:iM,SVG_NS:iw,symbolSizes:ik,win:iS}=A,{addEvent:iT,attr:iC,createElement:iA,crisp:iP,css:iL,defined:iO,destroyObjectProperties:iE,extend:iI,isArray:iD,isNumber:iB,isObject:iz,isString:iN,merge:iR,pick:iW,pInt:ij,replaceNested:iX,uniqueKey:iG}=J;class iF{constructor(t,e,i,s,o,r,a){let n,l;let h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;a||h.css(this.getStyle(s||{})),t.appendChild(d),iC(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iC(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ix.createTextNode("Created with Highcharts 12.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),iy&&t.getBoundingClientRect&&((n=function(){iL(t,{left:0,top:0}),l=t.getBoundingClientRect(),iL(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=iT(iS,"resize",n))}definition(t){return new t2([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iy||iv)&&ix.getElementsByTagName("base").length){if(!iO(e)){let t=iG(),i=new t2([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ix.body);iL(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ix.elementFromPoint(6,6);e="hitme"===(s&&s.id),ix.body.removeChild(i)}if(e)return iX(iS.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iI({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iE(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iR({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ip(t).buildSVG()}getContrast(t){let e=tC.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,l,h){let d=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iR(iu.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},m=o.style||{};delete o.states,delete o.style;let f=[t2.filterUserAttributes(o)],x=[m];return c||["hover","select","disabled"].forEach((t,e)=>{f.push(iR(f[0],t2.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(f[e+1].style),delete f[e+1].style}),iT(d.element,ib?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iT(d.element,ib?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(f[t]);let e=x[t];iz(e)&&d.css(e)}},d.attr(f[0]),!c&&(d.css(iI({cursor:"default"},m)),h&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iO(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iP(i[1],e)),iO(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iP(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iD(t)?e.d=t:iz(t)&&iI(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iz(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iz(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iz(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iI(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iC(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iW(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iB(e)&&(a.x=e),iB(i)&&(a.y=i),iB(s)&&(a.width=s),iB(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iS.Image;iT(e,"load",l),e.src=t,e.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,h;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(n=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iI(a,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iI(a,r);else if(p){l=t.match(c)[1];let s=a=this.image(l);s.imgwidth=iW(r&&r.width,ik[l]&&ik[l].width),s.imgheight=iW(r&&r.height,ik[l]&&ik[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:l}=this,h="width"===e?n:l,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&l?(d=Math.min(o/n,a/l),iC(s,{width:Math.round(n*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&n&&l&&this.translate(((o||0)-n*d)/2,((a||0)-l*d)/2)}}),iO(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iO(s.imgwidth)&&iO(s.imgheight)?h(s):(s.attr({width:0,height:0}),iA("img",{onload:function(){let t=ig[d.chartIndex];0===this.width&&(iL(this,{position:"absolute",top:"-999em"}),ix.body.appendChild(this)),ik[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iO(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iI(iF.prototype,{Element:e_,SVG_NS:iw,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:it,draw:iM}),ed.registerRendererType("svg",iF,!0);let{composed:iH}=A,{attr:iY,css:iV,createElement:iU,defined:iZ,extend:i$,getAlignFactor:i_,isNumber:iq,pInt:iK,pushUnique:iJ}=J;function iQ(t,e,i){let s=this.div?.style||i.style;e_.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i0=(t,e)=>{if(!t.div){let i=iY(t.element,"class"),s=t.css,o=iU("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=iQ,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return e_.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i1 extends e_{static compose(t){iJ(iH,this.compose)&&(t.prototype.html=function(t,e,i){return new i1(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=iK(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iq(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),i$(this.styles,t),iV(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:l="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:m}=n;if(iV(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,l,t.innerHTML,h,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iV(t,{width:"",whiteSpace:m||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iV(t,{width:e>s||i||r?h+"px":"auto",display:g,whiteSpace:m||"normal"}),this.oldTextWidth=h)}d!==this.cTT&&(n=e.fontMetrics(t).b,iZ(i)&&(i!==(this.oldRotation||0)||l!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iZ(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,i_(l)));let{xCorr:f=0,yCorr:x=0}=this,y={left:`${p+f}px`,top:`${u+x}px`,textAlign:l,transformOrigin:`${(s??p)-f-p-c}px ${(o??u)-x-u-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iV(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=l}}setSpanRotation(t,e,i){iV(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i0(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t2.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i2=i1.prototype;i2.visibilitySetter=i2.opacitySetter=iQ,i2.ySetter=i2.rotationSetter=i2.rotationOriginXSetter=i2.rotationOriginYSetter=i2.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(a||(a={}));let i3=a,{addEvent:i6,isFunction:i5,objectEach:i9,removeEvent:i8}=J;(n||(n={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i9(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i8(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i5(e)&&(t.eventOptions[i]=e,i6(t,i,e,{order:0})))})};let i4=n,{deg2rad:i7}=A,{clamp:st,correctFloat:se,defined:si,destroyObjectProperties:ss,extend:so,fireEvent:sr,getAlignFactor:sa,isNumber:sn,merge:sl,objectEach:sh,pick:sd}=J,sc=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sr(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,l=sd(t.options&&t.options.labels,i.labels),h=e.tickPositions,d=n===h[0],c=n===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info,g=t.label,m,f,x,y=this.parameters.category||(o?sd(o[n],a[n],n):n);r&&sn(y)&&(y=se(r.lin2log(y))),e.dateTime&&(u?m=(f=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:sn(y)&&(m=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:m,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y};sr(this,"labelFormat",b);let v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),eh.format(l.format,t,s)):e.defaultLabelFormatter.call(t),M=v.call(b,b),w=f&&f.list;w?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(h*i7))):(m=s-d*c,f=s+(1-d)*c,mn&&(u=n-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(l.styles||{}).width)&&(x=u)),x&&l&&(this.shortenLabel?this.shortenLabel():l.css(so({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sh(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sd(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),l=n.x,h=n.y,d=s.pos,c=d+s.len,p=o?l:h;!s.chart.polar&&this.isNew&&(se(p)c)&&(i=0);let u=sd(i,this.label&&this.label.newOpacity,1);i=sd(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,u,t),this.isNew=!1,sr(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sd(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),a||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+n,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,l=t.y,h=sd(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(n,l,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,l=a.labels,h=l.step,d=sd(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;n&&sn(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,l,d,s,h),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):u=!1,h&&s%h&&(u=!1),u&&sn(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sp}=tF,{xAxis:su,yAxis:sg}=i3,{defaultOptions:sm}=tM,{registerEventOptions:sf}=i4,{deg2rad:sx}=A,{arrayMax:sy,arrayMin:sb,clamp:sv,correctFloat:sM,defined:sw,destroyObjectProperties:sk,erase:sS,error:sT,extend:sC,fireEvent:sA,getClosestDistance:sP,insertItem:sL,isArray:sO,isNumber:sE,isString:sI,merge:sD,normalizeTickInterval:sB,objectEach:sz,pick:sN,relativeLength:sR,removeEvent:sW,splat:sj,syncTimeout:sX}=J,sG=(t,e)=>sB(e,void 0,void 0,sN(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sC(sm,{xAxis:su,yAxis:sD(su,sg)});class sF{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sA(this,"init",{userOptions:e}),this.opposite=sN(e.opposite,this.opposite),this.side=sN(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sA(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sN(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sO(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sw(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sN(r.crosshair,sj(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sL(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sw(this.reversed)&&(this.reversed=!0),this.labelRotation=sE(a.rotation)?a.rotation:void 0,sf(this,r),sA(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sD(e,sm[this.coll],t),sA(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sE(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sm.lang,n=a.numericSymbols,l=a.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&h>=1e3)for(;d--&&void 0===p;)h>=(c=Math.pow(l,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sA(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sE(a)||a instanceof Date||(o=o.filter(sE),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sN(e.dataMin,a),a),e.dataMax=Math.max(sN(e.dataMax,n),n)));else{let t=i.applyExtremes();sE(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sN(e.dataMin,a),a)),sE(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sN(e.dataMax,n),n)),sw(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sA(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sE(n))return NaN;let l=a.minPixelPadding,h=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-l)/p+n,h&&(u=a.lin2val(u))):(h&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*l+(sE(r)?p*r:0),a.isRadial||(u=sM(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,l=r&&i.oldChartHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,m,f,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sv(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sA(this,"getPlotLinePath",b,function(t){u=m=(c=sv(c=sN(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,g=f=l-c-d,sE(c)?e.horiz?(g=o,f=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=m=y(u,s,s+e.width)):(u=s,m=h-e.right+(i.scrollablePixelsX||0),g=f=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",m,f]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sM(Math.floor(e/t)*t),n=sM(Math.ceil(i/t)*t),l=[];if(sM(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=sM(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sN(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],l;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sE(s)&&sE(o)&&sE(r)&&s-o=r,a=(r-s+o)/2,l=[o-a,i.parse(t.min)??o-a],n&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(o=sy(l))+r,i.parse(t.max)??o+r],n&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sb(h))-ot-e),t=sP([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sO(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sw(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sN(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sE(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,l=0,h,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sN(e.options.pointRange,a,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sI(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sA(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sE(t)&&sE(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:h}=this,d=i.time,c=sE(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:m,softMax:f,softMin:x}=l,y=sE(m)&&i[this.coll]?.[m],b=l.tickPixelInterval,v=l.maxPadding,M=l.minPadding,w=0,k,S=sE(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,T,C,A,P;if(r||e||y||this.getTickAmount(),A=sN(this.userMin,d.parse(l.min)),P=sN(this.userMax,d.parse(l.max)),y?(this.linkedParent=y,k=y.getExtremes(),this.min=sN(k.min,k.dataMin),this.max=sN(k.max,k.dataMax),this.type!==y.type&&sT(11,!0,i)):(h&&sw(c)&&sE(s)&&sE(o)&&(o>=c?(T=c,M=0):s<=c&&(C=c,v=0)),this.min=sN(A,T,o),this.max=sN(P,C,s)),sE(this.max)&&sE(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sN(o,this.min))&&sT(10,!0,i),this.min=sM(n.log2lin(this.min),16),this.max=sM(n.log2lin(this.max),16)),this.range&&sE(o)&&(this.userMin=this.min=A=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sA(this,"foundExtremes"),this.adjustForMinRange(),sE(this.min)&&sE(this.max)){if(!sE(this.userMin)&&sE(x)&&xthis.max&&(this.max=P=f),e||this.axisPointRange||this.stacking?.usePercentage||y||!(w=this.max-this.min)||(!sw(A)&&M&&(this.min-=w*M),sw(P)||!v||(this.max+=w*v)),!sE(this.userMin)&&sE(g)&&(this.min=Math.max(this.min,g)),!sE(this.userMax)&&sE(u)&&(this.max=Math.min(this.max,u)),h&&sE(o)&&sE(s)){let t=c||0;!sw(A)&&this.min=t?this.min=l.minRange?Math.min(t,this.max-p):t:!sw(P)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sw(l.min)?this.max=this.min:sw(l.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&sE(this.min)&&sE(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sN(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sA(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sA(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let L=sN(l.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sT(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sG(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max]))&&(n=l))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sE(this.min)&&sE(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),sA(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sA(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sE(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sE(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sE(this.threshold)){let t=sv((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sw(t.tickInterval)||i||!(this.lenr.push(sM(r[r.length-1]+p)),m=()=>r.unshift(sM(r[0]-p));if(sE(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&sE(s)&&sE(i)){let n=()=>{t.transA*=(l-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sE(u)&&sE(t.threshold)){for(;r[u]!==h||r.length!==a||r[0]>s||r[r.length-1]t.threshold?m():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(l0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sA(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sA(this,"setExtremes",o=sC(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sR(sN(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sR(sN(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sR(sN(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sR(sN(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sM(t.lin2log(this.min)):this.min,max:t?sM(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sN(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sA(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sM(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sM(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sE(r)?p=[r]:o=-90&&i<=90)&&(e=(t=l(Math.abs(a/Math.sin(sx*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0:n&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sC(a,{width:`${p}px`,lineClamp:u})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sw(this.min)&&sw(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sD(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sc(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=sE(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o],f,x=0,y,b=0,v=0,M,w;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sN(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sz(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sw(y=d.offset)?0:sN(d.margin,i?5:10))),t.renderLine(),t.offset=m*sN(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M-=w,M+=m*(i?sN(c.y,t.tickRotCorr.y+m*c.distance):sN(c.x,m*c.distance))),t.axisTitleMargin=sN(y,M),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+m*t.offset,M,a&&a.length&&e?e[0]+m*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}sA(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?u+h:g+(n?this.width:0)+l+h,y:e?g+d-(n?this.height:0)+l:u+d};return sA(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sc(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sc(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,l=i.tickPositions,h=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=a.stackLabels,g=a.alternateGridColor,m=a.crossing,f=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sp(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sz(t,function(t){t.isActive=!1})}),sE(m)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(m,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sE(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),f&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sc(i,-1,null,!0)),d[-1].render(-1))),g&&l.forEach(function(r,a){e=void 0!==l[a+1]?l[a+1]+f:i.max-f,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,l,h,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=h}else{let l=this.lin2log(e),h=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sq(t=sK("auto"===d?null:d,this.minorAutoInterval,(h-l)*c/(p||1))),n=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(h||(h={}));let sJ=h,{erase:sQ,extend:s0,isNumber:s1}=J;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!s1(this.min)||!s1(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,h=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),h=0),l=0;l{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s2.compose(os,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){s7(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:l}=t.chart,h={},d=l.parse(e.to),c=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth,g=e.label,{label:m,svgElem:f}=this,x=[],y,b=s9(c)&&s9(d),v=s9(p),M=!f,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},k=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=oi(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",u&&(w.stroke=e.borderColor,w["stroke-width"]=u))),h.zIndex=a,k+="-"+a,(y=t.plotLinesAndBandsGroups[k])||(t.plotLinesAndBandsGroups[k]=y=n.g("plot-"+k).attr(h).add()),f||(this.svgElem=f=n.path().attr(w).add(y)),s9(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s9(c)&&s9(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(oe(r,(t,e)=>{f?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!f.d)&&x?.length?f.attr({d:x}):f&&(x?(f.show(),f.animate({d:x})):f.d&&(f.hide(),m&&(this.label=m=m.destroy()))),g&&(s9(g.text)||s9(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=ot({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,a)):m&&m.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(ot({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s5(l),c=s5(h),p=s6(l)-d;n.align(t,!1,{x:d,y:c,width:p,height:s6(h)-c}),(!n.alignValue||"left"===n.alignValue||s9(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s9(t.formatter)?t.formatter.call(this):t.text}destroy(){s4(this.axis.plotLinesAndBands,this),delete this.axis,s8(this)}}let{animObject:oo}=tF,{format:or}=eh,{composed:oa,dateFormats:on,doc:ol,isSafari:oh}=A,{distribute:od}=em,{addEvent:oc,clamp:op,css:ou,discardElement:og,extend:om,fireEvent:of,isArray:ox,isNumber:oy,isObject:ob,isString:ov,merge:oM,pick:ow,pushUnique:ok,splat:oS,syncTimeout:oT}=J;class oC{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oS(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),og(this.container)),J.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=oS(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+ow(t.colorIndex,o.colorIndex),r&&r.className].filter(ov).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ed.getRendererType();this.container=a=A.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),ou(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&A.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=ol,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:m,width:f}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?f:m,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+l):x.top-s+b(p+h),0,a?f:m]:[a?t:e,a?c+l:p+h,a?l:h,a?l+o.plotWidth:h+o.plotHeight])},M=v("y"),w=v("x"),k,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let T=!this.followPointer&&ow(i.ttBelow,!d&&!n===S),C=function(t,e,i,o,a,n,l){let h=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?f:f+g)}},A=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},P=function(t){[M,w]=[w,M],k=t},L=()=>{!1!==C.apply(0,M)?!1!==A.apply(0,w)||k||(P(!0),L()):k?u.x=u.y=0:(P(!0),L())};return(n&&!d||this.len>1)&&P(),L(),u}hide(t){let e=this;J.clearTimeout(this.hideTimer),t=ow(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oT(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=ow(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=oo(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=oS(t),n=a[0],l=s.format,h=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;J.clearTimeout(this.hideTimer),this.allowShared=!(!ox(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let m=ov(l)?or(l,n,i):h.call(n,this);n.points=void 0;let f=n.series;if(this.distance=ow(f.tooltipOptions.distance,16),!1===m)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(m,a);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===f.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:m&&m.join?m.join(""):m}),this.outside&&t.attr({x:op(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||f.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}of(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:m}=i,{scrollLeft:f=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?ol.documentElement.getBoundingClientRect():{left:f,right:f+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,M=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:w,top:k}=m.getChartPosition(),S=l+x,T=0,C=a-h;function A(t,e,s,o,r=!0){let a,n;return s?(a=M?0:C,n=op(t-o/2,y.left,y.right-o-(i.outside?w:0))):(a=e-S,n=op(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}ov(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=r.isHeader,d=h?i:r.series,m=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),f=m.getBBox(),x=f.width+m.strokeWidth();h&&(T=f.height,C+=T,M&&(S-=T));let{anchorX:w,anchorY:k}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(n+o,n),i=l+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+op(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=op(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof k){let e=f.height+1,s=g?g.call(i,x,e,r):A(w,k,h,x);t.push({align:g?0:void 0,anchorX:w,anchorY:k,boxWidth:x,point:r,rank:ow(s.rank,h?1:0),size:e,target:s.y,tt:m,x:s.x})}else m.isActive=!1}return t},[]);!g&&P.some(t=>{let{outside:e}=i,s=(e?w:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=A(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return om(t,{target:i,x:e})})),i.cleanSplit(),od(P,C);let L={left:w,right:w};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&w+eL.right&&(L.right=w+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(L.right-L.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:O,outside:E,renderer:I}=i;if(E&&O&&I){let{width:t,height:e,x:i,y:s}=b.getBBox();I.setSize(t+i,e+s,!1),O.style.left=L.left+"px",O.style.top=k+"px"}oh&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return of(this,"headerFormatter",a,function(e){if(r&&!n&&oy(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(ob(n)){let t=n;on[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=or(l,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,oM(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,n,t),g=A.doc,m=(t.plotX||0)+e.plotLeft,f=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(op(l+x,0,g.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(ou(i,{transform:`scale(${c}, ${p})`}),m*=c,f*=p),m+=h-u.x,f+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),m,f)}}!function(t){t.compose=function(e){ok(oa,"Core.Tooltip")&&oc(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oC||(oC={}));let oA=oC,{animObject:oP}=tF,{defaultOptions:oL}=tM,{format:oO}=eh,{addEvent:oE,crisp:oI,erase:oD,extend:oB,fireEvent:oz,getNestedProperty:oN,isArray:oR,isFunction:oW,isNumber:oj,isObject:oX,merge:oG,pick:oF,syncTimeout:oH,removeEvent:oY,uniqueKey:oV}=J;class oU{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oB({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oB(this,t=oU.prototype.optionsToObject.call(this,t)),this.options=this.options?oB(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oU.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oj(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oj(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oP(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oY(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oD(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oH(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oz(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oN(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oV()),this.resolveColor(),t.chart.pointCount++,oz(this,"afterInit")}isValid(){return(oj(this.x)||this.x instanceof Date)&&oj(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(oj(t)||null===t)r[s[0]]=t;else if(oR(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);l0?oU.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,l=0;if(oj(i)&&oj(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oF(this.options.colorIndex,a),this.color=oF(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oX(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oO(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,l=a.chart,h=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oX(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),h.data[o]=oX(h.data[o],!0)||oX(t,!0)?r.options:oF(t,h.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=oF(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oF(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oG(this.series.options.point,this.options),i=e.events?.[t];oW(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oE(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oY(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oL.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},l=!1===n.enabled,h=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,m,f=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(l||a&&!1===n.enabled)||t&&h.states&&h.states[t]&&!1===h.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),m=oF(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oj(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},m),t.connector&&t.connector.animate({opacity:e},m))}),this.graphic.animate(g,m)}u&&this.graphic.animate(u,oF(d.options.chart.animation,n.animation,r.animation)),f&&f.hide()}else t&&n&&(x=h.symbol||i.symbol,f&&f.currentSymbol!==x&&(f=f.destroy()),u&&(f?f[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=f=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oG(r,n)).add(i.markerGroup),f.currentSymbol=x)),!d.styledMode&&f&&"inactive"!==this.state&&f.attr(i.pointAttribs(this,t))),f&&(f[t&&this.isInside?"show":"hide"](),f.element.point=this,f.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||f,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oF(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oB({fill:this.color||i.color,"fill-opacity":y.opacity},t2.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oz(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oI(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oZ=oU,{parse:o$}=tC,{charts:o_,composed:oq,isTouchDevice:oK}=A,{addEvent:oJ,attr:oQ,css:o0,extend:o1,find:o2,fireEvent:o3,isNumber:o6,isObject:o5,objectEach:o9,offset:o8,pick:o4,pushUnique:o7,splat:rt}=J;class re{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!A.chartCount&&(re.unbindDocumentMouseUp.forEach(t=>t.unbind()),re.unbindDocumentMouseUp.length=0,re.unbindDocumentTouchEnd&&(re.unbindDocumentTouchEnd=re.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o9(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o3(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=a?1:o.plotHeight,r&&(s=t-n,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+n),a&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,l=e.plotTop,h=e.plotWidth,d=e.plotHeight,c=o5(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,m,f=this.selectionMarker;if((!f||!f.touch)&&(un+h&&(u=n+h),gl+d&&(g=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){m=e.isInsidePlot(i-n,s-l,{visiblePlotOnly:!0});let{shapeType:r,attrs:h}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&m&&!p&&!f&&(this.selectionMarker=f=e.renderer[r](),f.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||f.attr({fill:a||o$("#334eff").setOpacity(.25).get()})),f&&f.attr(h),m&&!f&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o3(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o6(i.index)&&(this.selectionMarker=s.destroy())}i&&o6(i.index)&&(o0(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o5(r,!0)&&r.series&&(!o5(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&o6(o.x)&&o6(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o8(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o4(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o3(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o2(t.points,function(t){return t.x===c.x&&!t.isNull});o5(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),o3(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=oQ(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o3(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o4(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o1(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o3(i.series,"click",o1(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o1(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o3(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),A.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=o_[o4(re.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){o_[o4(re.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===a&&o4(l?.options.followTouchMove,!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(o3(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&rt(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&rt(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,l=n&&n.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l&&l.directTouch&&this.isDirectTouch),d=this.getHoverData(n,l,o,h,a,t);n=d.hoverPoint,l=d.hoverSeries;let c=d.hoverPoints,p=l&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=a&&l&&!l.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=oJ(s.container.ownerDocument,"mousemove",t=>o_[re.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o4((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o2(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(oJ(t,"mouseenter",this.onContainerMouseEnter.bind(this)),oJ(t,"mouseleave",this.onContainerMouseLeave.bind(this))),re.unbindDocumentMouseUp.some(t=>t.doc===e)||re.unbindDocumentMouseUp.push({doc:e,unbind:oJ(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(oJ(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(oJ(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),oJ(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),re.unbindDocumentTouchEnd||(re.unbindDocumentTouchEnd=oJ(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),oJ(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oK)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o4(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(oJ(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),oJ(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o0(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o0(i,{"touch-action":o4(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=A.charts[o4(re.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(re.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o4(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o4(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}re.unbindDocumentMouseUp=[],function(t){t.compose=function(e){o7(oq,"Core.Pointer")&&oJ(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(re||(re={}));let ri=re,{fireEvent:rs,isArray:ro,objectEach:rr,uniqueKey:ra}=J,rn=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||ra(),this.modified=this,this.rowCount=0,this.versionTag=ra();let e=0;rr(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,rr(this.columns,e=>{ro(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;rr(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(rs(this,"afterSetColumns"),this.versionTag=ra())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;rr(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(rs(this,"afterSetRows"),this.versionTag=ra())}},{extend:rl,merge:rh,pick:rd}=J;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:l}=t,h=this.symbol||"circle",d=l/2,c=o.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={},m,f=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,u],["L",n-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(f&&!1!==f.enabled&&n){let t=Math.min(rd(f.radius,d),d);0===h.indexOf("url")&&(f=rh(f,{width:l,height:l}),t=0),s.symbol=m=c.symbol(h,n/2-t,u-t,2*t,2*t,rl({context:"legend"},f)).addClass("highcharts-point").add(p),m.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,rd(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(c||(c={}));let rc=c,{defaultOptions:rp}=tM,{extend:ru,extendClass:rg,merge:rm}=J;!function(t){function e(e,i){let s=rp.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oZ),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=A.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rp.plotOptions||{};if(s=s||"",n[i]=rm(n[s],o),delete t.seriesTypes[i],e(i,rg(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oZ{}ru(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(p||(p={}));let rf=p,{animObject:rx,setAnimation:ry}=tF,{defaultOptions:rb}=tM,{registerEventOptions:rv}=i4,{svg:rM,win:rw}=A,{seriesTypes:rk}=rf,{arrayMax:rS,arrayMin:rT,clamp:rC,correctFloat:rA,crisp:rP,defined:rL,destroyObjectProperties:rO,diffObjects:rE,erase:rI,error:rD,extend:rB,find:rz,fireEvent:rN,getClosestDistance:rR,getNestedProperty:rW,insertItem:rj,isArray:rX,isNumber:rG,isString:rF,merge:rH,objectEach:rY,pick:rV,removeEvent:rU,syncTimeout:rZ}=J;class r${constructor(){this.zoneAxis="y"}init(t,e){let i;rN(this,"init",{options:e}),this.dataTable??(this.dataTable=new rn);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rB(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rv(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rV(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rj(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rN(this,"afterInit")}is(t){return rk[t]&&this instanceof rk[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rN(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rV(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rj(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rD(18,!0,s)})}),rN(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rV(this.pointInterval,i.pointInterval,1),o&&rG(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rG(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rB(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rL(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rH(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rN(this,"setOptions",n);let l=n.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=rb.plotOptions[this.type]||{},p=h[this.type]||{};this.userOptions=n.userOptions;let u=rH(l,s.series,p,r);this.tooltipOptions=rH(rb.tooltip,rb.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rV(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},a||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rL(g[g.length-1].value)&&g.push(a?{}:{color:this.color,fillColor:this.fillColor}),rN(this,"afterSetOptions",{options:u}),u}getName(){return rV(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(rL(o=rV("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rb.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,l=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oZ&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l&&l.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rz(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rG(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rG(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h;let d=rL(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rG(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,a&&(c=h+1)):o[h]&&(o[h].touched=!0),(!n||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rS(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,l=a.dataSorting,h=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,m=a.keys,f,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rH(!0,t));let M=(t=v||t||[]).length;if(l&&l.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&M&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&M>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,M-1,-1),o=t=>!!(rX(t)&&(m||rG(t[0])));if(rG(i)&&rG(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{m&&(y=m.indexOf("x"),b=m.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(f=0;f{let s=rW(i,t),o=rW(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,l=r?.logarithmic,h=i.rowCount,d,c,p=0,u,g,m,f=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,m=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||h>a||e.forceCrop)&&(f[h-1]m?x=new rn:e.getColumn(e.pointValKey||"y").length&&(f[0]m)&&(x=(d=this.cropData(i,g,m)).modified,p=d.start,c=!0))),f=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rR([l?f.map(l.log2lin):f],()=>e.requireSorting&&!y&&rD(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rN(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,l=0,h=o;for(a=0;a=e){l=Math.max(0,a-1);break}for(n=a;ni){h=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(l,h))}return{modified:new rn({columns:r}),start:l,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,m,f,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(l&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,m,f,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),f=0;f=x&&(h[f-c]||m)<=y)for(let t of l){let e=t[f];rG(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rT(d),dataMax:rS(d)};return rN(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rY(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rN(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=rV(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,l,h=rV(o.radius,s&&s.radius);e&&(n=s.states[e],h=rV((l=o.states&&o.states[e])&&l.radius,n&&n.radius,h&&h+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return rG(h)&&d&&(i.crisp&&(d[0]=rP(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-h,a.y=d[1]-h),h&&(a.width=a.height=2*h),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=rV(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=rV((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+rV(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=rV(h.opacity,l.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rw.navigator.userAgent),n=o.data||[];for(rN(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rI(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rO(t,void 0,!0);J.clearTimeout(o.animationTimeout),rY(o,function(t,e){t instanceof e_&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rI(r.series,o),r.orderItems("series"),rY(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:h}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,m=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rC(d.toPixels(rV(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,u=0,m=r.len,y=a.len;c?(p=o,m=x):(u=o,y=x);let b=[["M",p,u],["L",m,u],["L",m,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),x=o,l&&(g(v),t&&g(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rL(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rL(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rU(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rx(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;rN(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=rZ(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,rN(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rZ(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(rM?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),rN(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:l,data:h,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=n.data,g=this.getColumn("x");e=rV(e,!0);let m={series:this};this.pointClass.prototype.applyOptions.apply(m,[t]);let f=m.x;if(a=g.length,this.requireSorting&&ff;)a--;d.setRow(m,a,!0,{addColumns:!1}),p&&m.name&&(p[f]=m.name),u?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u,...Object.values(d.getColumns())].filter(rL).forEach(t=>{t.shift()}),d.rowCount-=1,rN(d,"afterDeleteRows"))),!1!==o&&rN(this,"addPoint",{point:m}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,l=r[t],h=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rL).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rN(n,"afterDeleteRows"),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};ry(i,o),e=rV(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rV(t,!0)&&r.redraw(e)}!1!==i?rN(o,"remove",null,a):a()}update(t,e){rN(this,"update",{options:t=rE(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rk[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rB(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rH(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let m=!1;if(rk[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rk[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rB(i,rk[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rD(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),rN(this,"afterUpdate"),rV(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rV(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rL(r)?i!==o:i!==rV(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rN(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rN(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rV(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),h=rV(a[t].opacity,h)),o&&!o.dashstyle&&rG(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rN(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rN(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rc[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}r$.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},r$.types=rf.seriesTypes,r$.registerType=rf.registerSeriesType,rB(r$.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oZ,requireSorting:!0,sorted:!0}),rf.series=r$;let r_=r$,{animObject:rq,setAnimation:rK}=tF,{registerEventOptions:rJ}=i4,{composed:rQ,marginNames:r0}=A,{distribute:r1}=em,{format:r2}=eh,{addEvent:r3,createElement:r6,css:r5,defined:r9,discardElement:r8,find:r4,fireEvent:r7,isNumber:at,merge:ae,pick:ai,pushUnique:as,relativeLength:ao,stableSort:ar,syncTimeout:aa}=J;class an{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),rJ(this,e),r3(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r3(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=ai(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ae(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=ai(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ae(!0,this.options,t)),"events"in this.options&&rJ(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,ai(e,!0)&&i.redraw(),r7(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof r_||t instanceof oZ)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ae(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,r7(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r9(e.translateY)?"animate":"attr"](o,void 0,()=>{r7(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r8(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r5(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?ai(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&ai(i.showInLegend,!r9(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),r7(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r9(t[a])&&(i[r0[a]]=Math.max(i[r0[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+ai(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,l;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r4(a?t.points:t.points.slice(0).reverse(),function(t){return at(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),r1(i,e.plotHeight)))t=o.item.legendItem||{},at(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=ao(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),ar(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),r7(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ae(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ae(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,l=o.maxHeight,h=o.navigation,d=ai(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?M.attr({height:t}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},f,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),l&&(b=Math.min(b,l)),p.length=0,t&&b>0&&t>b&&!1!==h.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-n,0),this.currentPage=ai(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>f&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),M||(M=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(M)),g(f),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),m("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),m("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&rK(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),aa(()=>{r7(this,"afterScroll",{currentPage:h})},rq(ai(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oZ,n=t instanceof r_,l="highcharts-legend-"+(a?"point":"series")+"-active",h=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ae(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(l),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(l),r7(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&r7(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r6("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r3(t.checkbox,"click",function(e){let i=e.target;r7(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){as(rQ,"Core.Legend")&&r3(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(an||(an={}));let al=an,{animate:ah,animObject:ad,setAnimation:ac}=tF,{defaultOptions:ap}=tM,{numberFormat:au}=eh,{registerEventOptions:ag}=i4,{charts:am,doc:af,marginNames:ax,svg:ay,win:ab}=A,{seriesTypes:av}=rf,{addEvent:aM,attr:aw,createElement:ak,css:aS,defined:aT,diffObjects:aC,discardElement:aA,erase:aP,error:aL,extend:aO,find:aE,fireEvent:aI,getAlignFactor:aD,getStyle:aB,isArray:az,isNumber:aN,isObject:aR,isString:aW,merge:aj,objectEach:aX,pick:aG,pInt:aF,relativeLength:aH,removeEvent:aY,splat:aV,syncTimeout:aU,uniqueKey:aZ}=J;class a${static chart(t,e,i){return new a$(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aW(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aG(t.zoomType,e.type),key:aG(t.zoomKey,e.key),pinchType:aG(t.pinchType,e.pinchType),singleTouch:aG(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aj(e.resetButton,t.resetZoomButton)}}init(t,e){aI(this,"init",{args:arguments},function(){let i=aj(ap,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aO({},t),(this.renderTo=aW(o)?af.getElementById(o):o)||aL(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tm(aO(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||au).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=am.length,am.push(this),A.chartCount++,ag(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aI(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=av[i];s||aL(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aV(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aV(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(h+a,t.pos)&&e<=Math.min(h+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return aI(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){aI(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ac(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&aI(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){aI(t,"afterSetExtremes",aO(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aI(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aI(this,"redraw"),aI(this,"render"),n&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aE(this.axes,i)||aE(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aG(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aj(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aO("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aj(o),n=i?.textPxLength||0;if(i&&r){aI(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),l=o.b,h=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(a.width/n,1),m=Math.max(p,g),f=aj({y:"bottom"===d?l:u+l},{align:"title"===t?gp?this.chartWidth:a.width)/m;i.alignValue!==f.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(f.height=y,i.align(f,!1,a).attr({align:f.align,scaleX:m,scaleY:m,"transform-origin":`${a.x+n*m*aD(f.align)} ${h}`}),!r.floating){let t=y*(y<1.2*h?1:m);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aI(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aB(this.renderTo,"width",!0)||0,height:aB(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aH(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(aS(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(af.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(af.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,af.body.appendChild(e)),("none"===aB(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),aS(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==af.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aZ(),r=this.renderTo,a=aF(aw(r,s));aN(a)&&am[a]&&am[a].hasRendered&&am[a].destroy(),aw(r,s,this.index),r.innerHTML=t2.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,l=this.chartWidth;aS(r,{overflow:"hidden"}),this.styledMode||(t=aO({position:"relative",overflow:"hidden",width:l+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=ak("div",{id:o},t,r);this.container=h,this.getChartSize(),l===this.chartWidth||(l=this.chartWidth,this.styledMode||aS(h,{width:aG(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let d=i.renderer||!ay?ed.getRendererType(i.renderer):iF;if(this.renderer=new d(h,l,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ac(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aI(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!aT(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!aT(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aI(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ax.forEach(function(i,o){aT(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return aC(this.userOptions,ap)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(J.clearTimeout(e.reflowTimeout),e.reflowTimeout=aU(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=aM(ab,"resize",e);aM(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ac(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ah:aS)(s.container,{width:`${a+l}px`,height:`${n+h}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aI(s,"resize"),setTimeout(()=>{s&&aI(s,"endResize")},ad(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),aI(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aI(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aR(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aG(e[i+s],o[r])})}),ax.forEach(function(e,i){t[e]=aG(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,w="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=f.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:a||"none"},(b||f["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),f.attr(M).shadow(t.shadow)),f[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp({x:h,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aI(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=av[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=av[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aW(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aG(t.options.visible,s.options.visible,t.visible))}}),aI(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,l=0;for(let e of(this.setTitle(),aI(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sc(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aG(i.reserveSpace,!aN(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l(l?1:1.1),n=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aj(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(ab.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aI(e,"destroy"),e.renderer.forExport?aP(am,e):am[e.index]=void 0,A.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aY(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t2.emptyHTML,aY(o),r&&aA(o)),aX(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=az(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aI(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aI(this,"load"),aI(this,"render"),aT(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aI(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),aS(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:l,time:h}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:m,reversed:f}=t,x=e?"width":"height",y=e?"x":"y",b=aG(a[x],t.len),v=aG(s[x],t.len),M=10>Math.abs(b)?1:b/v,w=(s[y]||0)+v/2-t.pos,k=w-((a[y]??t.pos)+b/2-t.pos)/M,S=f&&!l||!f&&l?-1:1;if(!o&&(w<0||w>t.len))continue;let T=t.toValue(k,!0)+(r||t.isOrdinal?0:g*S),C=t.toValue(k+u/M,!0)-(r||t.isOrdinal?0:g*S||0),A=t.allExtremes;if(T>C&&([T,C]=[C,T]),1===M&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aN(t.dataMin)&&aN(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:P,dataMax:L,min:O,max:E}=aO(t.getExtremes(),A||{}),I=h.parse(m.min),D=h.parse(m.max),B=P??I,z=L??D,N=C-T,R=t.categories?0:Math.min(N,z-B),W=B-R*(aT(I)?0:m.minPadding),j=z+R*(aT(D)?0:m.maxPadding),X=t.allowZoomOutside||1===M||"zoom"!==n&&M>1,G=Math.min(I??W,W,X?O:W),F=Math.max(D??j,j,X?E:j);(!t.isOrdinal||t.options.overscroll||1!==M||o)&&(T=1&&(C=T+N)),C>F&&(C=F,M>=1&&(T=C-N)),(o||t.series.length&&(T!==O||C!==E)&&T>=G&&C<=F)&&(r?r[t.coll].push({axis:t,min:T,max:C}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:T,o?void 0:C,!1,!1,{move:k,trigger:n,scale:M}),!o&&(T>G||C{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aO(a$.prototype,{callbacks:[],collectionsWithInit:{xAxis:[a$.prototype.addAxis,[!0]],yAxis:[a$.prototype.addAxis,[!1]],series:[a$.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let a_=a$,{stop:aq}=tF,{composed:aK}=A,{addEvent:aJ,createElement:aQ,css:a0,defined:a1,erase:a2,merge:a3,pushUnique:a6}=J;function a5(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new a8(this)),t?.applyFixed()}function a9(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class a8{static compose(t,e,i){a6(aK,this.compose)&&(aJ(t,"afterInit",a9),aJ(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),aJ(e,"render",a5),aJ(i,"show",a9))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:l,inverted:h,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=a3(t.plotBox),l.width=t.plotWidth+=i,n[h?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),a1(s)&&(t.scrollablePlotBox=a3(t.plotBox),l.height=t.plotHeight+=s,n[h?"width":"height"]+=s,o=!1)),a1(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=ed.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=aQ("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=aQ("div",{className:"highcharts-scrolling"},a,n),h=this.innerContainer=aQ("div",{className:"highcharts-inner-container"},void 0,l),d=this.fixedDiv=aQ("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(d,l),a0(t.renderTo,{overflow:"visible"}),aJ(t,"afterShowResetZoom",r),aJ(t,"afterApplyDrilldown",r),aJ(t,"afterLayOutTitles",r),aJ(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:l,plotLeft:h,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:m=0}=t.options.chart.scrollablePlotArea||{},f=r+p,x=a+u;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aq(t.container),a0(n,{width:`${f}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:f,height:x,viewBox:[0,0,f,x].join(" ")}),t.chartBackground?.attr({width:f,height:x}),a0(s,{width:`${r}px`,height:`${a}px`}),a1(i)||(s.scrollLeft=p*g,s.scrollTop=u*m);let y=d-o[0]-1,b=h-o[3]-1,v=d+l+o[2]+1,M=h+c+o[1]+1,w=h+c-p,k=d+l-u,S=[["M",0,0]];p?S=[["M",0,y],["L",h-1,y],["L",h-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,k],["L",b,a],["L",M,a],["L",M,k],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=a8.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a6(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a2(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}a8.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a4}=eh,{series:a7}=rf,{destroyObjectProperties:nt,fireEvent:ne,getAlignFactor:ni,isNumber:ns,pick:no}=J,nr=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){nt(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a4(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:no(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,ne(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:l,options:h,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=a;if(l&&p){let t=l.getBBox(void 0,0),e=l.padding,i="justify"===no(h.overflow,"justify"),s;a.x=h.x||0,a.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,l.align(a,!1,p),(s=c.isInsidePlot(l.alignAttr.x+a.x+o,l.alignAttr.y+a.y+r))||(i=!1),i&&a7.prototype.justifyDataLabel.call(n,l,a,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*ni(h.textAlign||"center"),rotationOriginY:t.height/2}),no(!i&&h.crop,!0)&&(s=ns(l.x)&&ns(l.y)&&c.isInsidePlot(l.x-e+(l.width||0),l.y)&&c.isInsidePlot(l.x+e,l.y)),l[s?"show":"hide"]()}ne(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*ni(i)-1),y:t.height/2*2*(1-ni(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,l=e.stacking.usePercentage?100:no(s,this.total,0),h=e.toPixels(l),d=t.xAxis||i.xAxis[0],c=no(o,d.translate(this.x))+r,p=Math.abs(h-e.toPixels(n||ns(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:na}=tF,{series:{prototype:nn}}=rf,{addEvent:nl,correctFloat:nh,defined:nd,destroyObjectProperties:nc,fireEvent:np,isNumber:nu,objectEach:ng,pick:nm}=J;function nf(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nm(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nx(){let t=this.stacking;if(t){let e=t.stacks;ng(e,(t,i)=>{nc(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function ny(){this.stacking||(this.stacking=new nS(this))}function nb(t,e,i,s){return!nd(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nv(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,l,h;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),l=o[i]?.[a],(h=l?.points[t.key||""])&&n.call(e,h,l,s)})}function nM(t,e,i){let s=e.total?100/e.total:0;t[0]=nh(t[0]*s),t[1]=nh(t[1]*s),this.stackedYData[i]=t[1]}function nw(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?nn.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nk(t,e){let i,s,o,r,a,n,l;let h=e||this.options.stacking;if(!h||!this.reserveSpace()||(({group:"xAxis"})[h]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,m=g.threshold||0,f=g.startFromThreshold?m:0,x=g.stack,y=e?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,M=t.stacking,w=M.stacks,k=M.oldStacks;for(M.stacksTouched+=1,l=0;l0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===h?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):nh(S+Math.abs(g))):"group"===h?nu(u)&&S++:S=nh(S+g),"group"===h?o.cumulative=(S||1)-1:o.cumulative=nh(nm(o.cumulative,f)+g),o.total=S,null!==u&&(o.points[n].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(M.usePercentage=!0),"group"!==h&&(this.stackedYData=p),M.oldStacks={}}class nS{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{ng(t,t=>{t.cumulative=t.total})}))}resetStacks(){ng(this.stacks,t=>{ng(t,(e,i)=>{nu(e.touched)&&e.touched{ng(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(u||(u={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(nl(t,"init",ny),nl(t,"destroy",nx),s.getStacks=nf,o.getStackIndicator=nb,o.modifyStacks=nv,o.percentStacker=nM,o.setGroupedPoints=nw,o.setStackedPoints=nk)};let nT=u,{defined:nC,merge:nA,isObject:nP}=J;class nL extends r_{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",l=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nA({filterUnits:"userSpaceOnUse"},nP(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,l=o.step,h=(t=t||s.points).reversed;return h&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(h,d){let c;let p=h.plotX,u=h.plotY,g=t[d-1],m=h.isNull||"number"!=typeof u;(h.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),m&&!nC(e)&&d>0?n=!o.connectNulls:m&&!e?n=!0:(0===d||n?c=[["M",h.plotX,h.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,h,d)]:l?(c=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],a.push(h.x),l&&(a.push(h.x),2===l&&a.push(h.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nL.defaultOptions=nA(r_.defaultOptions,{legendSymbol:"lineMarker"}),rf.registerSeriesType("line",nL);let{seriesTypes:{line:nO}}=rf,{extend:nE,merge:nI,objectEach:nD,pick:nB}=J;class nz extends nO{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nO.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,l=[],h=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(n.getThreshold(r.threshold)),g=nB(r.connectNulls,"percent"===a),m=function(i,s,o){let r=t[i],g=a&&c[r.x].points[d],m=r[o+"Null"]||0,f=r[o+"Cliff"]||0,x,y,b=!0;f||m?(x=(m?g[0]:g[1])+f,y=g[0]+f,b=!!m):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(h.push({plotX:e,plotY:null===x?u:n.getThreshold(x),isNull:b,isCliff:!0}),l.push({plotX:e,plotY:null===y?u:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&h.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=f.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},l=r.series,h=l.length,d=r.options.reversedStacks?1:-1,c=l.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,m,f;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>l?(o=Math.max(i,l),a=2*l-o):op&&a>l?(a=Math.max(p,l),o=2*l-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;n6(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&n0(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nK(s)){if(n1(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=n3(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,l=n3(i.minPointLength,5),h=t.getColumnMetrics(),d=h.width,c=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=a.getThreshold(n),m=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(m=Math.ceil(m)),r_.prototype.translate.apply(t),t.points.forEach(function(s){let o=n3(s.yBottom,g),f=999+Math.abs(o),x=s.plotX||0,y=n_(s.plotY,-f,a.len+f),b,v=Math.min(y,o),M=Math.max(y,o)-v,w=d,k=x+c,S=m;l&&Math.abs(M)l?o-l:g-(b?l:0)),nK(s.options.pointWidth)&&(k-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(k=t.adjustForMissingColumns(k,w,s,h)),s.barX=k,s.pointWidth=w,s.tooltipPos=e.inverted?[n_(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-k-S/2,M]:[r.left-e.plotLeft+k+S/2,n_(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(k,s.isNull?g:v,S,s.isNull?0:M)}),nQ(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,l,h=t&&t.color||this.color,d=t&&t[o]||i[o]||h,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=n3(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),h=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(l=(a=n2(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,h=a.color||void 0!==l&&nZ(h).brighten(a.brightness).get()||h,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=n3(a.opacity,u));let g={fill:h,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,d=i.rotation||0,c=n7(l)&&n7(h)&&r.isInsidePlot(l,Math.round(h),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===ln(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&n7(l)&&(t.series.forceDL||a&&!p||c||ln(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var m;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=lt({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),lt(i,{width:l.width,height:l.height}),m=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,m),e.align(lr(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=li(i.align)*(h.width-l.width),e.alignAttr.y+=li(i.verticalAlign)*(h.height-l.height),e.attr({"text-align":e.alignAttr["text-align"]||"center"})[e.placed?"animate":"attr"]({x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(ln(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:h}=s.options.chart,d=r.getContrast(lo(h)&&h||lo(a)&&a||"#000000"),c=l(i),{animation:p,defer:u}=c[0],g=u?n8(s,p,i):{defer:0,duration:0};le(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let a=t.dataLabels||[];lh(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,l)=>{let h=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=n,m,f,x,y={},b=a[l],v=!b,M;h&&(f=n7(m=ln(n[t.formatPrefix+"Format"],n.format))?n4(m,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(g.color=ln(n.color,g.color,lo(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(M=c),t.contrastColor=r.getContrast("auto"!==M&&M||t.color||i.color),g.color=M||!n7(u)&&n.inside||0>ll(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),la(y,(t,e)=>{void 0===t&&delete y[e]})),!b||h&&n7(f)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),h&&n7(f)&&(b?y.text=f:(b=r.label(f,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(n.shadow),le(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[l]&&a[l]!==b&&a[l].destroy(),a[l]=b))});let l=a.length;for(;l--;)a[l]&&a[l].isActive?a[l].isActive=!1:(a[l]?.destroy(),a.splice(l,1));t.dataLabel=a[0],t.dataLabels=a})),le(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,x;return(f=(i.x||0)+h+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=f,x=!0),(f=(i.x||0)+s.width-h+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,x=!0),(f=i.y+h+u)<0&&("bottom"===l&&m>=0?(e.verticalAlign="top",e.inside=!0):m-=f,x=!0),(f=(i.y||0)+s.height-h+u)>a.plotHeight&&("top"===l&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,x=!0),x&&(e.x=g,e.y=m,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(ls(t)&&!ls(e))i=t.map(function(t){return lr(t,e)});else if(ls(e)&&!ls(t))i=e.map(function(e){return lr(t,e)});else if(ls(t)||ls(e)){if(ls(t)&&ls(e))for(s=Math.max(t.length,e.length);s--;)i[s]=lr(t[s],e[s])}else i=lr(t,e);return i}function l(t){let e=t.chart.options.plotOptions;return lh(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,l=n.reversed,h=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:l?-h-c:n.width-h+c,e.startYPos=a?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=h,n.hasDataLabels=e)}}(g||(g={}));let ld=g,{composed:lc}=A,{series:lp}=rf,{merge:lu,pick:lg,pushUnique:lm}=J;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,l=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,d=lg(t.below,t.plotY>lg(this.translatedThreshold,l)),c=lg(i.inside,!!this.options.stacking);if(h){if(s=lu(h),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-l;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),lk(lT.prototype,{drawTracker:lv.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),lw(lT,"afterTranslate",function(){this.applyJitter()}),rf.registerSeriesType("scatter",lT);let{deg2rad:lC}=A,{fireEvent:lA,isNumber:lP,pick:lL,relativeLength:lO}=J;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,l,h=t.size,d=t.innerSize||0,c,p;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof d&&(d=parseFloat(d));let u=[lL(r?.[0],"50%"),lL(r?.[1],"50%"),lL(h&&h<0?void 0:t.size,"100%"),lL(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof r_||(u[3]=0),c=0;c<4;++c)p=u[c],l=c<2||2===c&&/%$/.test(p),u[c]=lO(p,[s,o,a,u[2]][c])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),lP(n)&&2*n0&&(u[3]=u[2]-2*n),lA(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=lP(t)?t:0,s=lP(e)&&e>i&&e-i<360?e:i+360;return{start:lC*(i+-90),end:lC*(s+-90)}}}(f||(f={}));let lE=f,{setAnimation:lI}=tF,{addEvent:lD,defined:lB,extend:lz,isNumber:lN,pick:lR,relativeLength:lW}=J;class lj extends oZ{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};lD(this,"select",s),lD(this,"unselect",s)}isValid(){return lN(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;lI(i,s.chart),e=lR(e,!0),this.sliced=this.options.sliced=t=lB(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}lz(lj.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,l,h]=a.center,d=h/2,{plotLeft:c,plotWidth:p}=a.chart,u="left"===t.alignment,{x:g,y:m}=t,f=o.x;if(i.crookDistance){let t=lW(i.crookDistance,1);f=u?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else f=n+(l-m)*Math.tan(s-Math.PI/2);let x=[["M",g,m]];return(u?f<=g&&f>=o.x:f>=g&&f<=o.x)&&x.push(["L",f,m]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:lX}=lE,{noop:lG}=A,{clamp:lF,extend:lH,fireEvent:lY,merge:lV,pick:lU}=J;class lZ extends r_{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:lU(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:it.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,l=Math.asin(lF((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||lV(!0,n,i),lV(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){lY(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=lX(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,h,d,c,p,u,g,m,f=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),m.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,m.tooltipPos=[t[0]+.7*p,t[1]+.7*u],m.half=c<-Math.PI/2||c>Math.PI/2?1:0,m.angle=c}lY(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}lZ.defaultOptions=lV(r_.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),lH(lZ.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:n9.prototype.drawTracker,getCenter:lE.getCenter,getSymbol:lG,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:n9.prototype.pointAttribs,pointClass:lj,requireSorting:!1,searchPoint:lG,trackerGroups:["group","dataLabelsGroup"]}),rf.registerSeriesType("pie",lZ);let{composed:l$,noop:l_}=A,{distribute:lq}=em,{series:lK}=rf,{arrayMax:lJ,clamp:lQ,defined:l0,pick:l1,pushUnique:l2,relativeLength:l3}=J;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,l=a[2]/2,h=Math.cos(r),d=Math.sin(r),c=a[0]+h*l,p=a[1]+d*l,u=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+h*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+h*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,l=n[2]/2,h=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,m,f=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),lK.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=l3(o?.distance||0,s);0===i&&d[t.half].push(t),!l0(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),f=Math.max(f,r)})}),d.forEach((e,a)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),f>0&&(x=Math.max(0,h-l-f),y=Math.min(h+l+f,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),lq(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let d=h.options||{},f=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=h.lineHeight||21,M=(v-h.getBBox().height)/2,w=0,k=y,S="inherit";if(x){if(u&&l0(f)&&x.distance>0&&(void 0===f.pos?S="hidden":(m=f.size,k=p.radialDistributionY(i,h))),d.justify)w=p.justify(i,h,l,n);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,a,s,r);break;case"plotEdges":w=p.alignToPlotEdges(h,a,s,r);break;default:w=p.radialDistributionX(t,i,k-M,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:k+(d.y||0)-v/2},x.computed.x=w,x.computed.y=k-M,l1(d.crop,!0)){let t;w-(g=h.getBBox().width)s-b&&0===a&&(t=Math.round(w+g-s+b),c[1]=Math.max(t,c[1])),k-m/2<0?c[0]=Math.max(Math.round(-k+m/2),c[0]):k+m/2>o&&(c[2]=Math.max(Math.round(k+m/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===lJ(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;u=s.connector,a&&a.distance>0?(n=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[n?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=lQ(r,o,e[2]-Math.max(t[0],t[2])):(r=lQ(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=h>e&&t<(l-s)*(e-n)/(h-n)+s&&(a=!a)}return a}}(y||(y={}));let l5=y,{pointInPolygon:l9}=l5,{addEvent:l8,fireEvent:l4,objectEach:l7,pick:ht}=J;function he(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(l9({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,l,h=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{l7(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=ht(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,hi(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let ho={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=he,l8(t,"render",hs))}},{defaultOptions:hr}=tM,{noop:ha}=A,{addEvent:hn,extend:hl,isObject:hh,merge:hd,relativeLength:hc}=J,hp={radius:0,scope:"stack",where:void 0},hu=ha,hg=ha;function hm(t,e,i,s,o={}){let r=hu(t,e,i,s,o),{innerR:a=0,r:n=i,start:l=0,end:h=0}=o;if(o.open||!o.borderRadius)return r;let d=h-l,c=Math.sin(d/2),p=Math.max(Math.min(hc(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*a),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=n?a-i:a+i,g=u?Math.asin(i/u):0,m=n?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=c+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(l.start),p+a*Math.sin(l.start)])):(l.end=d-m,o[6]=c+a*Math.cos(l.end),o[7]=p+a*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)1?u:p);return r}function hf(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=hr.plotOptions?.[this.type]?.borderRadius,o=hx(t.borderRadius,hh(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:l=0,y:h=0}=a,d=h,c=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(hc(o.radius,n),n/2,"all"===u?l/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),hl(a,{brBoxHeight:c,brBoxY:d,r:g})}}}}function hx(t,e){return hh(t)||(t={radius:t||0}),hd(hp,e,t)}function hy(){let t=hx(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=hc(t.radius,(i.r||0)-(i.innerR||0)))}}function hb(t,e,i,s,o={}){let r=hg(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:l=e}=o,h=e-l,d=l+n-(e+s),c=h-a>-.1?0:a,p=d-a>-.1?0:a,u=Math.max(c&&h,0),g=Math.max(p&&d,0),m=[t+c,e],f=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],M=[t,e+s-p],w=[t,e+c],k=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=k(c,c-u);m[0]-=t,f[0]+=t,x[1]=w[1]=e+c-u}if(s=hS(i.minWidth,0)&&this.chartHeight>=hS(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=hT()),this.matchResponsiveRule(t,o)},this);let a=hk(...o.map(t=>hw((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=hv(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||hM(s,{matchResponsiveRule:e,setResponsive:i}),t}}(b||(b={}));let hC=b;A.AST=t2,A.Axis=sH,A.Chart=a_,A.Color=tC,A.DataLabel=ld,A.DataTableCore=rn,A.Fx=tE,A.HTMLElement=i1,A.Legend=al,A.LegendSymbol=rc,A.OverlappingDataLabels=A.OverlappingDataLabels||ho,A.PlotLineOrBand=os,A.Point=oZ,A.Pointer=ri,A.RendererRegistry=ed,A.Series=r_,A.SeriesRegistry=rf,A.StackItem=nr,A.SVGElement=e_,A.SVGRenderer=iF,A.Templating=eh,A.Tick=sc,A.Time=tm,A.Tooltip=oA,A.animate=tF.animate,A.animObject=tF.animObject,A.chart=a_.chart,A.color=tC.parse,A.dateFormat=eh.dateFormat,A.defaultOptions=tM.defaultOptions,A.distribute=em.distribute,A.format=eh.format,A.getDeferredAnimation=tF.getDeferredAnimation,A.getOptions=tM.getOptions,A.numberFormat=eh.numberFormat,A.seriesType=rf.seriesType,A.setAnimation=tF.setAnimation,A.setOptions=tM.setOptions,A.stop=tF.stop,A.time=tM.defaultTime,A.timers=tE.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;hn(t,"afterColumnTranslate",hf,{order:9}),hn(s,"afterTranslate",hy),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),hu=o.arc,hg=o.roundedRect,o.arc=hm,o.roundedRect=hb}},optionsToObject:hx}).compose(A.Series,A.SVGElement,A.SVGRenderer),lf.compose(A.Series.types.column),ld.compose(A.Series),s$.compose(A.Axis),i1.compose(A.SVGRenderer),al.compose(A.Chart),sJ.compose(A.Axis),ho.compose(A.Chart),l6.compose(A.Series.types.pie),os.compose(A.Chart,A.Axis),ri.compose(A.Chart),hC.compose(A.Chart),a8.compose(A.Axis,A.Chart,A.Series),nT.compose(A.Axis,A.Chart,A.Series),oA.compose(A.Pointer),J.extend(A,J);let{parse:hA}=tC,{addEvent:hP,extend:hL,merge:hO,pick:hE,splat:hI}=J;!function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=hI(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function s(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},s=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)t.allItems.unshift(s[r])}function o(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function r(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function a(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function n(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function l(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function h(){let t=this,e=this.getPointsCollection(),i=this.options.nullColor,s=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?i:s&&void 0!==r?s.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function d(){this.elem.attr("fill",hA(this.start).tweenTo(hA(this.end),this.pos),void 0,!0)}function c(){this.elem.attr("stroke",hA(this.start).tweenTo(hA(this.end),this.pos),void 0,!0)}t.compose=function(t,p,u,g,m){let f=p.prototype,x=u.prototype,y=m.prototype;f.collectionsWithUpdate.includes("colorAxis")||(e=t,f.collectionsWithUpdate.push("colorAxis"),f.collectionsWithInit.colorAxis=[f.addColorAxis],hP(p,"afterCreateAxes",i),function(t){let i=t.prototype.createAxis;t.prototype.createAxis=function(t,s){if("colorAxis"!==t)return i.apply(this,arguments);let o=new e(this,hO(s.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),hE(s.redraw,!0)&&this.redraw(s.animation),o}}(p),x.fillSetter=d,x.strokeSetter=c,hP(g,"afterGetAllItems",s),hP(g,"afterColorizeItem",o),hP(g,"afterUpdate",r),hL(y,{optionalAxis:"colorAxis",translateColors:h}),hL(y.pointClass.prototype,{setVisible:l}),hP(m,"afterTranslate",a,{order:1}),hP(m,"bindAxes",n))},t.pointSetVisible=l}(v||(v={}));let hD=v,{parse:hB}=tC,{merge:hz}=J;!function(t){t.initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,o=t.dataClasses||[],r,a,n=e.options.chart.colorCount,l=0,h;this.dataClasses=a=[],i.labels=[];for(let t=0,i=o.length;t=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r}}(M||(M={}));let hN=M,{defaultOptions:hR}=tM,{series:hW}=rf,{defined:hj,extend:hX,fireEvent:hG,isArray:hF,isNumber:hH,merge:hY,pick:hV,relativeLength:hU}=J;hR.colorAxis=hY(hR.xAxis,{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});class hZ extends sH{static compose(t,e,i,s){hD.compose(hZ,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},s=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||s?2:1,this.reversed=e.reversed||!s,this.opposite=!s,super.init(t,e,"colorAxis"),this.userOptions=e,hF(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=s,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=hY(hR.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||hZ.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof hZ&&t.drawLegendSymbol(i,t)}),i.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=e?1:0,s=e?0:1,o=t?[i,0,s,0]:[0,s,0,i];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=hV(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),d=hV(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:hV(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?d:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r=t.length;for(this.dataMin=1/0,this.dataMax=-1/0;r--;){for(let a of(i=(o=t[r]).colorKey=hV(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),s=o[i+"Min"]&&o[i+"Max"],[i,"value","y"]))if((e=o.getColumn(a)).length)break;if(s)o.minColorValue=o[i+"Min"],o.maxColorValue=o[i+"Max"];else{let t=hW.prototype.getExtremes.call(o,e);o.minColorValue=t.dataMin,o.maxColorValue=t.dataMax}hj(o.minColorValue)&&hj(o.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,o.minColorValue),this.dataMax=Math.max(this.dataMax,o.maxColorValue)),s||hW.prototype.applyExtremes.call(o)}}drawCrosshair(t,e){let i;let s=this.legendItem||{},o=e&&e.plotX,r=e&&e.plotY,a=this.pos,n=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))a+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,s=this.top;return hH(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t;let e=this,i=e.chart,s=e.legendItem&&e.legendItem.labels||[],o=i.options.legend,r=hV(o.valueDecimals,-1),a=hV(o.valueSuffix,""),n=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return s.length||e.dataClasses.forEach((o,l)=>{let h=o.from,d=o.to,{numberFormatter:c}=i,p=!0;t="",void 0===h?t="< ":void 0===d&&(t="> "),void 0!==h&&(t+=c(h,r)+a),void 0!==h&&void 0!==d&&(t+=" - "),void 0!==d&&(t+=c(d,r)+a),s.push(hX({chart:i,name:t,options:{},drawLegendSymbol:rc.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of n(l))e.setState(t)},setVisible:function(){this.visible=p=e.visible=!p;let t=[];for(let e of n(l))e.setVisible(p),e.hiddenInDataClass=!p,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,p),t.forEach(t=>{hG(t,"afterDataClassLegendClick")})}},o))}),s}getSize(){let{chart:t,horiz:e}=this,{height:i,width:s}=this.options,{legend:o}=t.options;return{width:hV(hj(s)?hU(s,t.chartWidth):void 0,o?.symbolWidth,e?hZ.defaultLegendLength:12),height:hV(hj(i)?hU(i,t.chartHeight):void 0,o?.symbolHeight,e?12:hZ.defaultLegendLength)}}}hZ.defaultLegendLength=200,hZ.keepProps=["legendItem"],hX(hZ.prototype,hN),Array.prototype.push.apply(sH.keepProps,hZ.keepProps),A.ColorAxis=A.ColorAxis||hZ,A.ColorAxis.compose(A.Chart,A.Fx,A.Legend,A.Series);let h$={lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}},{defined:h_,extend:hq,pick:hK,wrap:hJ}=J;!function(t){let e,i=0;function s(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function o(t){let s=this.chart,o=h_((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(o)>=1&&(i+=Math.abs(o),e&&clearTimeout(e),e=setTimeout(()=>{i=0},50)),i<10&&s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop)&&s.mapView&&s.mapView.zoomBy(-((s.options.mapNavigation.mouseWheelSensitivity-1)*o),void 0,[t.chartX,t.chartY],!(1>Math.abs(o))&&void 0)}function r(t,e,i){let s=this.chart;if(e=t.call(this,e,i),s&&s.mapView){let t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop});t&&hq(e,t)}return e}function a(t){let e=this.chart.options.mapNavigation;e&&hK(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(hq(e,{onContainerDblClick:s,onContainerMouseWheel:o}),hJ(e,"normalize",r),hJ(e,"zoomOption",a))}}(w||(w={}));let hQ=w;function h0(t,e,s,o,r){if(r){let t=r?.r||0;r.brBoxY=e-t,r.brBoxHeight=o+t}return i.roundedRect(t,e,s,o,r)}function h1(t,e,s,o,r){if(r){let t=r?.r||0;r.brBoxHeight=o+t}return i.roundedRect(t,e,s,o,r)}let h2={compose:function(t){(i=t.prototype.symbols).bottombutton=h0,i.topbutton=h1}},{setOptions:h3}=tM,{composed:h6}=A,{addEvent:h5,extend:h9,merge:h8,objectEach:h4,pick:h7,pushUnique:dt}=J;function de(t){t&&(t.preventDefault?.(),t.stopPropagation?.(),t.cancelBubble=!0)}class di{static compose(t,e,i){hQ.compose(e),h2.compose(i),dt(h6,"Map.Navigation")&&(h5(t,"beforeRender",function(){this.mapNavigation=new di(this),this.mapNavigation.update()}),h3(h$))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,s=e.navButtons,o=function(t){this.handler.call(i,t),de(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=h8(i.options.mapNavigation,t));s.length;)s.pop()?.destroy();if(!i.renderer.forExport&&h7(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),h4(r.buttons,(t,a)=>{let n={padding:(t=h8(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(h9(n,t.theme),n.style=h8(t.theme.style,t.style));let{text:l,width:h=0,height:d=0,padding:c=0}=t,p=i.renderer.button("+"!==l&&"-"!==l&&l||"",0,0,o,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[a]).attr({width:h,height:d,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===l||"-"===l){let e=h+1,s=[["M",c+3,c+d/2],["L",c+e-3,c+d/2]];"+"===l&&s.push(["M",c+e/2,c+3],["L",c+e/2,c+d-3]),i.renderer.path(s).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(p)}if(p.handler=t.onclick,h5(p.element,"dblclick",de),s.push(p),h9(t,{width:p.width,height:2*(p.height||0)}),i.hasLoaded)p.align(t,!1,t.alignTo);else{let e=h5(i,"load",()=>{p.element&&p.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||h5(i,"render",function(){let s=i.exportingGroup?.getBBox();if(s){let i=e.navButtonsGroup.getBBox();if(t(s,i)){let t=-i.y-i.height+s.y-5,o=s.y+s.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:o})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;h7(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||h5(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),h7(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||h5(e.container,"wheel",function(t){if(!e.pointer.inClass(t.target,"highcharts-no-mousewheel")){let i=e.mapView?.zoom;e.pointer.onContainerMouseWheel(t),i!==e.mapView?.zoom&&de(t)}return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}let{column:{prototype:ds}}=rf.seriesTypes,{addEvent:dr,defined:da}=J;!function(t){function e(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new e_(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}t.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))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return da(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:ds.pointAttribs},t.compose=function(t){return dr(t.prototype.pointClass,"afterSetState",e),t}}(k||(k={}));let dn=k,{getOptions:dl}=tM,{isNumber:dh,merge:dd,pick:dc}=J;class dp extends a_{init(t,e){let i=dl().credits,s=dd({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:dc(i.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:dc(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(s,e)}mapZoom(t,e,i,s,o){this.mapView&&(dh(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,dh(e)&&dh(i)?this.mapView.projection.inverse([e,i]):void 0,dh(s)&&dh(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}!function(t){t.maps={},t.mapChart=function(e,i,s){return new t(e,i,s)},t.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,iF.prototype.pathToSegments(e)}}(dp||(dp={}));let du=dp,dg={boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,o=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),o=Math.min(o,n),s=Math.max(s,n),r=!0)}),r)return{x1:i,y1:o,x2:e,y2:s}}},{boundsFromPath:dm}=dg,df=rf.seriesTypes.scatter.prototype.pointClass,{extend:dx,isNumber:dy,pick:db}=J;class dv extends df{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;if(i.mapData&&i.mapMap){let t=o[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?dx(s,{...r,name:s.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)}return s}getProjectedBounds(t){let e=dm(dv.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){let o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&dy(o)&&dy(r)){let i=t.forward([o,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],s=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*db(this.middleX,dy(t)?t:.5);let o=db(this.middleY,dy(s)?s:.5);this.geometry||(o=1-o),e.midY=e.y2-(e.y2-e.y1)*o}return e}}onMouseOver(t){J.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,s=this.bounds;if(i&&s){let o=dy(this.insetIndex)&&i.insets[this.insetIndex];if(o){let t=o.projectedUnitsToPixels({x:s.x1,y:s.y1}),e=o.projectedUnitsToPixels({x:s.x2,y:s.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});s={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(s,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}dx(dv.prototype,{dataLabelOnNull:dn.pointMembers.dataLabelOnNull,moveToTopOnHover:dn.pointMembers.moveToTopOnHover,isValid:dn.pointMembers.isValid});let{isNumber:dM}=J,dw={center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}},{win:dk}=A,{format:dS}=eh,{error:dT,extend:dC,merge:dA,wrap:dP}=J;!function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function s(t,e){let i=this.options.chart.proj4||dk.proj4;if(!i){dT(21,!1,this);return}let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:d=0}=e,c=i(e.crs,[t.lon,t.lat]),p=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),g=e.rotation?[c[0]*p+c[1]*u,-c[0]*u+c[1]*p]:c;return{x:((g[0]-n)*a+l)*r+s,y:-(((h-g[1])*a+d)*r-o)}}function o(t,e){let i=this.options.chart.proj4||dk.proj4;if(!i){dT(21,!1,this);return}if(null===t.y)return;let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:d=0}=e,c={x:((t.x-s)/r-l)/a+n,y:((t.y-o)/r+d)/a+h},p=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),g=i(e.crs,"WGS84",e.rotation?{x:c.x*p+-(c.y*u),y:c.x*u+c.y*p}:c);return{lat:g.y,lon:g.x}}function r(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let s=t.arcs;if(t.transform){let e,i,o;let r=t.arcs,{scale:a,translate:n}=t.transform;s=[];for(let t=0,l=r.length;t"number"==typeof t[0]?t.reduce((t,e,i)=>{let o=e<0?s[~e]:s[e];return e<0?(o=o.slice(0,0===i?o.length:o.length-1)).reverse():i&&(o=o.slice(1)),t.concat(o)},[]):t.map(o),r=i.geometries,a=[];for(let t=0,e=r.length;t(e[1]-t[1])*(i[0]-t[0])}function dI(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}let dD=Math.sign||(t=>0===t?0:t>0?1:-1),dB=Math.PI/180,dz=Math.PI/2,dN=t=>Math.tan((dz+t)/2),dR=class{constructor(t){let e=(t.parallels||[]).map(t=>t*dB),i=e[0]||0,s=e[1]??i,o=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===s?Math.sin(i):Math.log(o/Math.cos(s))/Math.log(dN(s)/dN(i));1e-10>Math.abs(r)&&(r=1e-10*(dD(r)||1)),this.n=r,this.c=o*Math.pow(dN(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:s}=this,o=t[0]*dB,r=t[1]*dB;e>0?r<-dz+1e-6&&(r=-dz+1e-6):r>dz-1e-6&&(r=dz-1e-6);let a=e/Math.pow(dN(r),i),n=a*Math.sin(i*o)*63.78137,l=(e-a*Math.cos(i*o))*63.78137,h=[n,l];return s&&(ns.x2||ls.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,o=e-t[1]/63.78137,r=dD(i)*Math.sqrt(s*s+o*o),a=Math.atan2(s,Math.abs(o))*dD(o);return o*i<0&&(a-=Math.PI*dD(s)*dD(o)),[a/i/dB,(2*Math.atan(Math.pow(e/r,1/i))-dz)/dB]}},dW=Math.sqrt(3)/2,dj=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){let e=Math.PI/180,i=Math.asin(dW*Math.sin(t[1]*e)),s=i*i,o=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(dW*(1.340264+-.24331799999999998*s+o*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+o*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,o=i,r,a,n,l;for(let t=0;t<12&&(a=(r=o*o)*r*r,n=o*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,o-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(1e-9>Math.abs(l)));++t);a=(r=o*o)*r*r;let h=s*dW*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(o),d=s*Math.asin(Math.sin(o)/dW);return Math.abs(h)>180?[NaN,NaN]:[h,d]}},dX=Math.PI/4,dG=Math.PI/180,dF=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(t){return[t[0]*dG*63.78137,79.7267125*Math.log(Math.tan(dX+.4*t[1]*dG))]}inverse(t){return[t[0]/63.78137/dG,2.5*(Math.atan(Math.exp(.8*(t[1]/63.78137)))-dX)/dG]}},dH=Math.PI/180,dY=class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(t){let e=t[0],i=t[1]*dH,s=[Math.cos(i)*Math.sin(e*dH)*63.78460826781007,63.78460826781007*Math.sin(i)];return(e<-90||e>90)&&(s.outside=!0),s}inverse(t){let e=t[0]/63.78460826781007,i=t[1]/63.78460826781007,s=Math.sqrt(e*e+i*i),o=Math.asin(s),r=Math.sin(o);return[Math.atan2(e*r,s*Math.cos(o))/dH,Math.asin(s&&i*r/s)/dH]}},dV=Math.PI/180,dU=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(t){let e=Math.sin(t[1]*dV),i=[63.78137*t[0]*dV,63.78137*Math.log((1+e)/(1-e))/2];return Math.abs(t[1])>this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*dV),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/dV]}},{clipLineString:dZ,clipPolygon:d$}={clipLineString:function(t,e){let i=[],s=dO(t,e,!1);for(let t=1;t(t<-180&&(t+=360),t>180&&(t-=360),t),dQ=t=>(1-Math.cos(t))/2,d0=(t,e)=>{let i=Math.cos,s=t[1]*dK,o=t[0]*dK,r=e[1]*dK,a=e[0]*dK;return dQ(r-s)+i(s)*i(r)*dQ(a-o)};class d1{static add(t,e){d1.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=d0(t,e);return 6371e3*(2*i(s(o),s(1-o)))}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:n}=Math,l=d1.distance,h=t[1]*dK,d=t[0]*dK,c=e[1]*dK,p=e[0]*dK,u=r(h)*r(d),g=r(c)*r(p),m=r(h)*a(d),f=r(c)*a(p),x=a(h),y=a(c),b=l(t,e),v=b/6371e3,M=a(v),w=Math.round(b/s),k=[];if(i&&k.push(t),w>1){let t=1/w;for(let e=t;e<.999;e+=t){let t=a((1-e)*v)/M,i=a(e*v)/M,s=t*u+i*g,r=t*m+i*f,l=o(t*x+i*y,n(s*s+r*r)),h=o(r,s);k.push([h/dK,l/dK])}}return i&&k.push(e),k}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=d1.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:s}=t;this.rotator=s?this.getRotator(s):void 0;let o=e?d1.registry[e]:void 0;o&&(this.def=new o(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{let[s,o]=t,r=e?0:1;if("number"==typeof i&&s[e]>=i!=o[e]>=i){let t=(i-s[e])/(o[e]-s[e]),a=s[r]+t*(o[r]-s[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,s))?n=a:(a=r(t,1,o))&&(n=a),n}getRotator(t){let e=t[0]*dK,i=(t[1]||0)*dK,s=(t[2]||0)*dK,o=Math.cos(i),r=Math.sin(i),a=Math.cos(s),n=Math.sin(s);if(0!==e||0!==i||0!==s)return{forward:t=>{let i=t[0]*dK+e,s=t[1]*dK,l=Math.cos(s),h=Math.cos(i)*l,d=Math.sin(i)*l,c=Math.sin(s),p=c*o+h*r;return[Math.atan2(d*a-p*n,h*o-c*r)/dK,Math.asin(p*a+d*n)/dK]},inverse:t=>{let i=t[0]*dK,s=t[1]*dK,l=Math.cos(s),h=Math.cos(i)*l,d=Math.sin(i)*l,c=Math.sin(s),p=c*a-d*n;return[(Math.atan2(d*a+c*n,h*o+p*r)-e)/dK,Math.asin(p*o-h*r)/dK]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i;let s=[],o=[t];for(let i=0,o=t.length;i90)&&(n<-90||n>90)&&a>0!=n>0){let t=d_((180-(a+360)%360)/((n+360)%360-(a+360)%360),0,1),e=r[1]+t*(o[1]-r[1]);s.push({i,lat:e,direction:a<0?1:-1,previousLonLat:r,lonLat:o})}}if(s.length){if(e){s.length%2==1&&(i=s.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],dq(s,i));let e=s.length-2;for(;e>=0;){let i=s[e].i,r=dJ(180+1e-6*s[e].direction),a=dJ(180-1e-6*s[e].direction),n=t.splice(i,s[e+1].i-i,...d1.geodesic([r,s[e].lat],[r,s[e+1].lat],!0));n.push(...d1.geodesic([a,s[e+1].lat],[a,s[e].lat],!0)),o.push(n),e-=2}if(i)for(let t=0;t-1){let t=(s<0?-1:1)*this.maxLatitude,o=dJ(180+1e-6*e),n=dJ(180-1e-6*e),l=d1.geodesic([o,s],[o,t],!0);for(let i=o+120*e;i>-180&&i<180;i+=120*e)l.push([i,t]);l.push(...d1.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...l);break}}}else{let e=s.length;for(;e--;){let i=s[e].i,r=t.splice(i,t.length,[dJ(180+1e-6*s[e].direction),s[e].lat]);r.unshift([dJ(180-1e-6*s[e].direction),s[e].lat]),o.push(r)}}}return o}path(t){let e;let{bounds:i,def:s,rotator:o}=this,r=[],a="Polygon"===t.type||"MultiPolygon"===t.type,n=this.hasGeoProjection,l=!s||!1!==s.antimeridianCutting,h=l?o:void 0,d=l&&s||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let c=t=>{let s=t.map(t=>{if(l){h&&(t=h.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),o=[s];n&&(d1.insertGeodesics(s),l&&(o=this.cutOnAntimeridian(s,a))),o.forEach(t=>{let s,o;if(t.length<2)return;let h=!1,c=!1,p=t=>{h?r.push(["L",t[0],t[1]]):(r.push(["M",t[0],t[1]]),h=!0)},u=!1,g=!1,m=t.map(t=>{let e=d.forward(t);return e.outside?u=!0:g=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(l){if(a&&m.push(m[0]),u){if(!g)return;if(e){if(a)m=d$(m,e);else if(i){dZ(m,e).forEach(t=>{h=!1,t.forEach(p)});return}}}m.forEach(p)}else for(let e=0;ep(d.forward(t))):h=!1),p(r),o=i,c=!1)}})};return"LineString"===t.type?c(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>c(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>c(t)),r.length&&r.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>c(t))}),r.length&&r.push(["Z"])),r}}d1.registry={EqualEarth:dj,LambertConformalConic:dR,Miller:dF,Orthographic:dY,WebMercator:dU};let{composed:d2}=A,{pointInPolygon:d3}=l5,{topo2geo:d6}=dL,{boundsFromPath:d5}=dg,{addEvent:d9,clamp:d8,crisp:d4,fireEvent:d7,isArray:ct,isNumber:ce,isObject:ci,isString:cs,merge:co,pick:cr,pushUnique:ca,relativeLength:cn}=J,cl={};function ch(t,e){let{width:i,height:s}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(s/256)))/Math.log(2)}function cd(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class cc{static compose(t){ca(d2,"MapView")&&(cl=t.maps,d9(t,"afterInit",function(){this.mapView=new cc(this,this.options.mapView)},{order:0}),d9(t,"addSeriesAsDrilldown",cd),d9(t,"afterDrillUp",cd))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),co(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},s=co(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof cp||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=co(dw,this.recommendedMapView,e),s=this.recommendedMapView?.insets,o=e&&e.insets;s&&o&&(i.insets=cc.mergeInsets(s,o)),this.chart=t,this.center=i.center,this.options=i,this.projection=new d1(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(d9(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&ce(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&co(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new cp(this,co(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,s){let o=t||this.getProjectedBounds();if(o){let r=cr(e,t?0:this.options.padding),a=this.getField(!1),n=ct(r)?r:[r,r,r,r];this.padding=[cn(n[0],a.height),cn(n[1],a.width),cn(n[2],a.height),cn(n[3],a.width)],this.playingField=this.getField();let l=ch(o,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]);this.setView(h,l,i,s)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(cs(t))return cl[t]&&"Topology"===cl[t].type?d6(cl[t]):cl[t];if(ci(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return d6(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,s=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:s.x-i[3],y:s.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache){if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),s=e.map(t=>t[0]),o=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,s),x2:Math.max.apply(0,s),y1:Math.min.apply(0,o),y2:Math.max.apply(0,o)}}else this.fitToGeometryCache=d5(t.path(i))}return this.fitToGeometryCache}return this.projection.bounds||cc.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-o[0]*a,h=e+s/2-o[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){let o=e.transformFromLatLon(t,i[s]);if(o&&d3(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&d3({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),s=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(s)}let s=this.projection.forward([t.lon,t.lat]);if(!s.outside)return{x:s[0],y:s[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&d3(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}let s=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&d3(s,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(s),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let o=this.projection.inverse([t.x,t.y]);return{lon:o[0],lat:o[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[];s.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,s,r]=t.bbox;o.push({x1:e,y1:i,x2:s,y2:r})}});let r=o.length&&cc.compositeBounds(o);d7(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:s}=r;this.recommendedMapView.projection=i-t>180&&s-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,s],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=s[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,s){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),ce(e)&&(this.zoom=e));let o=this.getProjectedBounds();if(o){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:o.x1,y:o.y1}),l=this.projectedUnitsToPixels({x:o.x2,y:o.y2}),h=[(o.x1+o.x2)/2,(o.y1+o.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let o=n.x,d=l.y,c=l.x,p=n.y;c-oe+s&&o>e&&(t[0]+=Math.min(c-s-e,o-e)/a),p-di+r&&d>i&&(t[1]-=Math.min(p-r-i,d-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}d7(this,"afterSetView"),i&&this.redraw(s)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,r=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,s=this.getScale(),o=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:o[0]+(e-a)/s,y:o[1]-(i-n)/s}}setUpEvents(){let t,e,i;let{chart:s}=this,o=o=>{let{lastTouches:r,pinchDown:a}=s.pointer,n=this.projection,l=o.touches,{mouseDownX:h,mouseDownY:d}=s,c=0;if(a?.length===1?(h=a[0].chartX,d=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,d=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(c=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),ce(h)&&ce(d)){let r=`${h},${d}`,{chartX:a,chartY:p}=o.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,p=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let u=n.def&&n.def.bounds,g=u&&ch(u,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*g){let t=440/(this.getScale()*Math.min(s.plotWidth,s.plotHeight));if(i){let e=(h-a)*t-i[0],o=d8(-i[1]-(d-p)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-o]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,s.redraw(!1)}}else if(ce(a)&&ce(p)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,s=this.projection.inverse([t[0]+(h-a)/e,t[1]-(d-p)/e*i]);isNaN(s[0]+s[1])||this.zoomBy(c,s,void 0,!1)}o.preventDefault()}};d9(s,"pan",o),d9(s,"touchpan",o),d9(s,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-s.plotLeft,i=t.y-s.plotTop,{y:o,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:o,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||s.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&d1.toString(s)!==d1.toString(this.options.projection),r=!1;co(!0,this.userOptions,t),co(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),o&&(this.projection=new d1(this.options.projection)),r&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!ce(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||ce(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,s){let o=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l;let h=this.zoom+t;if(i){let[t,e]=i,s=this.getScale(),a=t-o.plotLeft-o.plotWidth/2,h=e-o.plotTop-o.plotHeight/2;n=r[0]+a/s,l=r[1]+h/s}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,s)}else this.fitToBounds(void 0,void 0,void 0,s)}}class cp extends cc{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=co({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=d5(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],s=e.coordinates[0],o=s.map(t=>t[0]),r=s.map(t=>t[1]),a=Math.min.apply(0,o)+i[3],n=Math.max.apply(0,o)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(ce(a)&&ce(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:s}=i.field||{};if(s){let o=s[0];if("percent"===i.units){let s="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||co(t.plotBox,{x:0,y:0});o=o.map(t=>[cn(`${t[0]}%`,s.width,s.x),cn(`${t[1]}%`,s.height,s.y)])}return{type:"Polygon",coordinates:[o]}}}getProjectedBounds(){return cc.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&d3(t,i))}render(){let{chart:t,mapView:e,options:i}=this,s=i.borderPath||i.field;if(s&&e.group){let o=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),o=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(s.coordinates||[]).reduce((e,s)=>s.reduce((e,s,o)=>{let[n,l]=s;return"percent"===i.units&&(n=t.plotLeft+cn(`${n}%`,a.width,a.x),l=t.plotTop+cn(`${l}%`,a.height,a.y)),n=d4(n,r),l=d4(l,r),e.push(0===o?["M",n,l]:["L",n,l]),e},e),[]);this.border[o?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}let{animObject:cu,stop:cg}=tF,{noop:cm}=A,{splitPath:cf}=du,{column:cx,scatter:cy}=rf.seriesTypes,{extend:cb,find:cv,fireEvent:cM,getNestedProperty:cw,isArray:ck,defined:cS,isNumber:cT,isObject:cC,merge:cA,objectEach:cP,pick:cL,splat:cO}=J;class cE extends cy{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=cu(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:r}=e;if(o){this.transformGroups=s,s[0]||(s[0]=r.g().add(i));for(let t=0,e=o.insets.length;t{let{graphic:e}=t;t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),cx.prototype.drawPoints.apply(this),this.points.forEach(i=>{let s=i.graphic;if(s){let o=s.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&s.addClass(r),e.styledMode&&s.css(this.pointAttribs(i,i.selected&&"select"||void 0)),s.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),s.animate=function(i,r,a){let n=cT(i["stroke-width"])&&!cT(s["stroke-width"]),l=cT(s["stroke-width"])&&!cT(i["stroke-width"]);if(n||l){let o=cL(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);n&&(s["stroke-width"]=o),l&&(i["stroke-width"]=o)}return o.call(s,i,r,l?function(){s.element.removeAttribute("stroke-width"),delete s["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),s.forEach((i,s)=>{let a=(0===s?o:o.insets[s-1]).getSVGTransform(),n=cL(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,d=e=>{(t.points||[]).forEach(t=>{let i;let s=t.graphic;s&&s["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&s.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&o.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),s=Number(i.attr("scaleX")),o=(o,r)=>{let c=s+(l-s)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:c,scaleY:c*h,"stroke-width":n/c}),d(c)},c=cA(cu(r.globalAnimation)),p=c.step;c.step=function(){p&&p.apply(this,arguments),o.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},c,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),cM(this,"mapZoomComplete")}).bind(this))}else cg(i),i.attr(cA(a,{"stroke-width":n/l})),d(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(s=>{if(s.path||s.geometry){if("string"==typeof s.path?s.path=cf(s.path):ck(s.path)&&"M"===s.path[0]&&(s.path=this.chart.renderer.pathToSegments(s.path)),!s.bounds){let i=s.getProjectedBounds(e);if(i){s.labelrank=cL(s.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:o}=i;if(t&&cT(e)&&cT(o)){let r=cv(t,t=>t.isInside({x:e,y:o}));r&&(delete s.projectedPath,(i=s.getProjectedBounds(r.projection))&&r.allBounds.push(i),s.insetIndex=t.indexOf(r))}s.bounds=i}}s.bounds&&void 0===s.insetIndex&&i.push(s.bounds)}}),this.bounds=cc.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.dataTable.rowCount}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):cx.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=cA(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),s=this.getStrokeWidth(i);cS(s)&&(r=s),o.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&cT(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),cS(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}dataColumnKeys(){return this.pointArrayMap}processData(){let t,e,i;let s=this.options,o=s.data,r=this.chart,a=r.options.chart,n=this.joinBy,l=s.keys||this.pointArrayMap,h=[],d={},c=this.chart.mapView,p=c&&(cC(s.mapData,!0)?c.getGeoMap(s.mapData):c.geoMap),u=r.mapTransforms=a.mapTransforms||p&&p["hc-transform"]||r.mapTransforms;u&&cP(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),ck(s.mapData)?i=s.mapData:p&&"FeatureCollection"===p.type&&(this.mapTitle=p.title,i=A.geojson(p,this.type,this)),this.processedData=[];let g=this.processedData;if(o){let t;for(let e=0,i=o.length;el.length&&"string"==typeof t[0]&&(g[e]["hc-key"]=t[0],++i);for(let s=0;s0?dv.prototype.setNestedProperty(g[e],t[i],l[s]):g[e][l[s]]=t[i])}else g[e]=o[e];n&&"_i"===n[0]&&(g[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let s=0;s{let i=cw(t,e);d[i]&&h.push(d[i])})}if(s.allAreas){if(n[1]){let t=n[1];g.forEach(e=>{h.push(cw(t,e))})}let t="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";i.forEach(e=>{n[0]&&-1!==t.indexOf("|"+e[n[0]]+"|")||g.push(cA(e,{value:null}))})}}this.dataTable.rowCount=g.length}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),i&&(this.joinBy=cO(i),this.joinBy[1]||(this.joinBy[1]=this.joinBy[0])),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||cT(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let s=e.getSVGTransform();this.points.forEach(o=>{let r=cT(o.insetIndex)&&e.insets[o.insetIndex].getSVGTransform()||s;r&&o.bounds&&cT(o.bounds.midX)&&cT(o.bounds.midY)&&(o.plotX=o.bounds.midX*r.scaleX+r.translateX,o.plotY=o.bounds.midY*r.scaleY+r.translateY),t&&(o.shapeType="path",o.shapeArgs={d:dv.getProjectedPath(o,i)}),o.hiddenInDataClass||(o.projectedPath&&!o.projectedPath.length?o.setVisible(!1):o.visible||o.setVisible(!0))})}cM(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}cE.defaultOptions=cA(cy.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return dM(e)?t(e,-1):this.point.name||""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}),cb(cE.prototype,{type:"map",axisTypes:dn.seriesMembers.axisTypes,colorAttribs:dn.seriesMembers.colorAttribs,colorKey:dn.seriesMembers.colorKey,directTouch:!0,drawDataLabels:cm,drawGraph:cm,forceDL:!0,getCenter:lE.getCenter,getExtremesFromAll:!0,getSymbol:cm,isCartesian:!1,parallelArrays:dn.seriesMembers.parallelArrays,pointArrayMap:dn.seriesMembers.pointArrayMap,pointClass:dv,preserveAspectRatio:!0,searchPoint:cm,trackerGroups:dn.seriesMembers.trackerGroups,useMapGeometry:!0}),dn.compose(cE),rf.registerSeriesType("map",cE);let cI=cE,{extend:cD,merge:cB}=J;class cz extends cI{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}cz.defaultOptions=cB(cI.defaultOptions,{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}),cD(cz.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),rf.registerSeriesType("mapline",cz);let{scatter:cN}=rf.seriesTypes,{isNumber:cR}=J;class cW extends cN.prototype.pointClass{isValid(){return!!(this.options.geometry||cR(this.x)&&cR(this.y)||cR(this.options.lon)&&cR(this.options.lat))}}let{noop:cj}=A,{map:cX,scatter:cG}=rf.seriesTypes,{extend:cF,fireEvent:cH,isNumber:cY,merge:cV}=J;class cU extends cG{constructor(){super(...arguments),this.clearBounds=cX.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:s,lat:o}=t,r=i&&"Point"===i.type&&i.coordinates;if(cY(s)&&cY(o)&&(r=[s,o]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;this.points.forEach(s=>{let o,{x:r,y:a}=s,n=cY(s.insetIndex)&&t.insets[s.insetIndex].getSVGTransform()||e,l=this.projectPoint(s.options)||s.properties&&this.projectPoint(s.properties);if(l?(r=l.x,a=l.y):s.bounds&&(r=s.bounds.midX,a=s.bounds.midY,n&&cY(r)&&cY(a)&&(s.plotX=r*n.scaleX+n.translateX,s.plotY=a*n.scaleY+n.translateY,o=!0)),cY(r)&&cY(a)){if(!o){let e=t.projectedUnitsToPixels({x:r,y:a});s.plotX=e.x,s.plotY=i?e.y:this.chart.plotHeight-e.y}}else s.y=s.plotX=s.plotY=void 0;s.isInside=this.isPointInside(s),s.zone=this.zones.length?s.getZone():void 0})}cH(this,"afterTranslate")}}cU.defaultOptions=cV(cG.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}),iF.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;let n=o&&"legend"===o.context;n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s);let l=n?s/3:s/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},cF(cU.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:cW,searchPoint:cj,useMapGeometry:!0}),rf.registerSeriesType("mappoint",cU);let cZ={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},{parse:c$}=tC,{noop:c_}=A,{arrayMax:cq,arrayMin:cK,isNumber:cJ,merge:cQ,pick:c0,stableSort:c1}=J,c2=class{constructor(t,e){this.setState=c_,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=c0(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!cJ(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}c1(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=a-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,d){l||(o.stroke=c0(h.borderColor,e.borderColor,i.color),o.fill=c0(h.color,e.color,1!==n?c$(i.color).setOpacity(n).get("rgba"):i.color),r.stroke=c0(h.connectorColor,e.connectorColor,i.color)),t[d].radius=this.getRangeRadius(h.value),t[d]=cQ(t[d],{center:t[0].radius-t[d].radius+s}),l||cQ(!0,t[d],{bubbleAttribs:cQ(o),connectorAttribs:cQ(r),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,x=e.radius||0,y=d-c-m/2+f/2,b=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,M=g||"left"===u?-p:p;"center"===u&&(M=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(x,d+b,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",x,y],["L",x+M,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let w=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),k={x:x+M+s.labels.x,y:y+s.labels.y+.4*w.getBBox().height};w.attr(k),h.push(w),w.placed=!0,w.alignAttr=k}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:o}=this.chart;return s?eh.format(s,t,this.chart):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.getColumn("z").filter(cJ)).length&&(r=c0(t.options.zMin,Math.min(r,Math.max(cK(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=c0(t.options.zMax,Math.max(a,cq(o))))}),s=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=cQ(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),d=Math.ceil(l.maxPxSize),c=Math.min(a,r),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=r||!s&&r-p>=a)&&(p=d)),[h,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:c3}=tM,{composed:c6}=A,{addEvent:c5,objectEach:c9,pushUnique:c8,wrap:c4}=J;function c7(t,e,i){let s,o,r;let a=this.legend,n=pt(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),c9(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),po(a,pe(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),po(a,pe(a))))}function pt(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function pi(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=pt(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),o>=0&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new c2(s,this),this.bubbleLegend.addToLegend(t.allItems))}function ps(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=pt(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function po(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}let pr={compose:function(t,e){c8(c6,"Series.BubbleLegend")&&(c3({legend:{bubbleLegend:cZ}}),c4(t.prototype,"drawChartBox",c7),c5(e,"afterGetAllItems",pi),c5(e,"itemClick",ps))}},{seriesTypes:{scatter:{prototype:{pointClass:pa}}}}=rf,{extend:pn}=J;class pl extends pa{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(i.len-t[1]-e,s.len-t[0]-e,2*e,2*e)}return oZ.prototype.haloPath.call(this,e)}}pn(pl.prototype,{ttBelow:!1});let ph=pl,{parse:pd}=tC,{composed:pc,noop:pp}=A,{series:pu,seriesTypes:{column:{prototype:pg},scatter:pm}}=rf,{addEvent:pf,arrayMax:px,arrayMin:py,clamp:pb,extend:pv,isNumber:pM,merge:pw,pick:pk,pushUnique:pS}=J;function pT(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=(this.max||0)-(s||0),r=0,a=t,n=t/o,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),o>0){let i=e.length;for(;i--;)if(pM(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;r=Math.min((e[i]-s)*n-o,r),a=Math.max((e[i]-s)*n+o,a)}}}}),l&&o>0&&!this.logarithmic&&(a-=t,n*=(t+Math.max(0,r)-Math.min(a,t))/t,[["min","userMin",r],["max","userMax",a]].forEach(t=>{void 0===pk(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function pC(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:o}=this,r=this.options.type;if((o?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let o=e.length;for(;o--;){let r=t[e[o]],a=r.pos||0;(a>s||a{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(pk(e,o.zMin),o.zMin),i=Math.max(pk(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o0&&(d=(o-t)/h)}return n&&d>=0&&(d=Math.sqrt(d)),Math.ceil(i+d*(s-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?pv(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=pu.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=pd(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),pM(a)&&a>=s/2?(r.marker=pv(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(pk(this.options.minSize,8)),s=Math.max(e(pk(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(pM);if(e.length){let i=pk(t.zMin,pb(py(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=pk(t.zMax,px(e));if(pM(i)&&pM(s))return{zMin:i,zMax:s}}}searchKDTree(t,e,i,s=pp,o=pp){return s=(t,e,i)=>{let s=t[i]||0,o=e[i]||0,r,a=!1;return s<0&&o<0?(r=s-(t.marker?.radius||0)>=o-(e.marker?.radius||0)?t:e,a=!0):r=s!i&&t>e||t{delete t.target.chart.bubbleZExtremes}),pf(pA,"remove",t=>{delete t.target.chart.bubbleZExtremes}),rf.registerSeriesType("bubble",pA);let pP=pA,{seriesTypes:{map:{prototype:{pointClass:{prototype:pL}}}}}=rf,{extend:pO}=J;class pE extends ph{isValid(){return"number"==typeof this.z}}pO(pE.prototype,{applyOptions:pL.applyOptions,getProjectedBounds:pL.getProjectedBounds});let{seriesTypes:{map:{prototype:pI},mappoint:{prototype:pD}}}=rf,{extend:pB,merge:pz}=J;class pN extends pP{constructor(){super(...arguments),this.clearBounds=pI.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){pD.translate.call(this),this.getRadii(),this.translateBubble()}}pN.defaultOptions=pz(pP.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),pB(pN.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:pI.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:pE,processData:pI.processData,projectPoint:pD.projectPoint,kdAxisArray:["plotX","plotY"],setData:pI.setData,setOptions:pI.setOptions,updateData:pI.updateData,useMapGeometry:!0,xyFromShape:!0}),rf.registerSeriesType("mapbubble",pN);let{scatter:{prototype:{pointClass:pR}}}=rf.seriesTypes,{clamp:pW,defined:pj,extend:pX,pick:pG}=J;class pF extends pR{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,o=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,n=t.pointPlacementToXValue(),l=pG(this.pointPadding,e.pointPadding,0),h={x1:pW(Math.round(o.len-o.translate(this.x-i,!1,!0,!1,!0,-n)),-o.len,2*o.len),x2:pW(Math.round(o.len-o.translate(this.x+i,!1,!0,!1,!0,-n)),-o.len,2*o.len),y1:pW(Math.round(r.translate(this.y-s,!1,!0,!1,!0)),-r.len,2*r.len),y2:pW(Math.round(r.translate(this.y+s,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],s=i+"1",n=i+"2",d=Math.abs(h[s]-h[n]),c=a&&a.lineWidth||0,p=Math.abs(h[s]+h[n])/2,u=a&&a[e];if(pj(u)&&upU(parseFloat(t),parseInt(t,10)));return s[3]=255*pU(s[3],1),pV(t)&&e.visible||(s[3]=0),s}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=pY.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class p5 extends p_{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,s=e.marker||{};if(i){let{image:e,chart:i,xAxis:s,yAxis:o}=t,{reversed:r=!1,len:a}=s,{reversed:n=!1,len:l}=o,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=p6(t),{canvas:l,options:{colsize:d=1,rowsize:c=1},points:p,points:{length:u}}=t,g=i.colorAxis&&i.colorAxis[0];if(l&&a&&g){let{min:g,max:m}=s.getExtremes(),{min:f,max:x}=o.getExtremes(),y=m-g,b=x-f,v=Math.round(y/d/8*8),M=Math.round(b/c/8*8),[w,k]=[[v,v/y,r,"ceil"],[M,M/b,!n,"floor"]].map(([t,e,i,s])=>i?i=>Math[s](t-e*i):t=>Math[s](e*t)),S=l.width=v+1,T=S*(l.height=M+1),C=(u-1)/T,A=new Uint8ClampedArray(4*T),P=(t,e)=>4*Math.ceil(S*k(e-f)+w(t-g));t.buildKDTree();for(let t=0;t{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=pZ.prototype.getExtremes.call(this,this.getColumn("value"));return p0(t)&&(this.valueMin=t),p0(e)&&(this.valueMax=e),pZ.prototype.getExtremes.call(this)}getValidPoints(t,e){return pZ.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=p2(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,pq.ellipse=pq.circle,t.marker&&p0(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let s=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=s.states&&s.states[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(t,e){let i=pZ.prototype.pointAttribs.call(this,t,e),s=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||r.borderColor,l=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];if(i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e){let o=p1(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{});i.fill=o.color||tC.parse(i.fill).brighten(o.brightness||0).get(),i.stroke=o.lineColor||i.stroke}return i}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",s=pq[i]?i:"rect",o=-1!==["circle","square"].indexOf(s);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),o){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),pK(p5,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),pJ(p5.prototype,{axisTypes:dn.seriesMembers.axisTypes,colorKey:dn.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:dn.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:pF,specialGroup:"group",trackerGroups:dn.seriesMembers.trackerGroups,alignDataLabel:p$.prototype.alignDataLabel,colorAttribs:dn.seriesMembers.colorAttribs,getSymbol:pZ.prototype.getSymbol}),dn.compose(p5),rf.registerSeriesType("heatmap",p5),A.ColorMapComposition=dn,A.MapChart=A.MapChart||du,A.MapNavigation=A.MapNavigation||di,A.MapView=A.MapView||cc,A.Projection=A.Projection||d1,A.mapChart=A.Map=A.MapChart.mapChart,A.maps=A.MapChart.maps,A.geojson=dL.geojson,A.topo2geo=dL.topo2geo,dL.compose(A.Chart),pN.compose(A.Axis,A.Chart,A.Legend),di.compose(du,A.Pointer,A.SVGRenderer),cc.compose(du),/** - * @license Highmaps JS v12.1.0 (2024-12-17) + */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i;var s,o,r,a,n,l,h,d,c,p,u,g,m,f,x,y,b,v,M,w,k,S,T={};T.d=(t,e)=>{for(var i in e)T.o(e,i)&&!T.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},T.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};T.d(C,{default:()=>p8}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.1",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.body.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(s||(s={}));let A=s,{charts:P,doc:L,win:O}=A;function E(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=W(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),$(s,function(e,i){t+=` + - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}q(A,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);O.console&&-1===E.messages.indexOf(a)&&console.warn(a)}),E.messages.push(a)}function I(t,e){return parseInt(t,e||10)}function D(t){return"string"==typeof t}function B(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function z(t,e){return!!t&&"object"==typeof t&&(!e||!B(t))}function N(t){return z(t)&&"number"==typeof t.nodeType}function R(t){let e=t&&t.constructor;return!!(z(t,!0)&&!N(t)&&e&&e.name&&"Object"!==e.name)}function W(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function j(t){return null!=t}function X(t,e,i){let s;let o=D(e)&&!j(i),r=(e,i)=>{j(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return D(e)?r(i,e):$(e,r),s}function G(t){return B(t)?t:[t]}function F(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function H(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(E||(E={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let Z=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let K=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();O.jQuery&&(O.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new A[D(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):P[X(this[0],"data-highcharts-chart")]});let J={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;A.Point&&t instanceof A.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!A.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){_(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[l]){i=G(i),r[l]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=O.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),H(s,"opacity"!==i)&&(o=I(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return U(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:$,offset:function(t){let e=L.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(O.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(O.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:H,pInt:I,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:_,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:G,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return D(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:K,useSerialIds:function(e){return t=H(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:Q,win:tt}=A,{defined:te,error:ti,extend:ts,isNumber:to,isObject:tr,isString:ta,merge:tn,objectEach:tl,pad:th,splat:td,timeUnits:tc,ucfirst:tp}=J,tu=A.isSafari&&tt.Intl&&!tt.Intl.DateTimeFormat.prototype.formatRange,tg=t=>void 0===t.main,tm=t=>["D","L","M","X","J","V","S"].indexOf(t),tf=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=tt.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=tn(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||tt.Date||Date;let s=t.timezone;te(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,tm(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||Q){let s=JSON.stringify(t)+i;ta(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(ti(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):ti(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&ts(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tu||(n-=36e5)}}return n}parse(t){if(!ta(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(to(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(to(a))return a}return 0}dateFormat(t,e,i){let s=A.defaultOptions?.lang;if(!te(e)||isNaN(e))return s?.invalidDate||"";if(ta(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(ta(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,l,h,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,m=s?.shortMonths||this.shortMonths;tl(ts({a:u?u[c]:p[c].substr(0,3),A:p[c],d:th(a),e:th(a,2," "),w:c,b:m[r],B:g[r],m:th(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:th(n),k:n,I:th(n%12||12),l:n%12||12,M:th(l),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:th(h),L:th(d,3)},A.dateFormats),function(s,o){if(ta(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(tr(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(ts({timeZone:s},t),e)+r}return i?tp(t):t}resolveDTLFormat(t){return tr(t,!0)?tr(t,!0)&&tg(t)?{main:t}:t:{main:(t=td(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:l}=t,[h,d,c,p,u,g]=o.toParts(e),m=(e||0)%1e3,f;if(s??(s=1),te(e)){if(m=l>=tc.second?0:n*Math.floor(m/n),l>=tc.second&&(g=l>=tc.minute?0:n*Math.floor(g/n)),l>=tc.minute&&(u=l>=tc.hour?0:n*Math.floor(u/n)),l>=tc.hour&&(p=l>=tc.day?0:n*Math.floor(p/n)),l>=tc.day&&(c=l>=tc.month?1:Math.max(1,n*Math.floor(c/n))),l>=tc.month&&(d=l>=tc.year?0:n*Math.floor(d/n)),l>=tc.year&&(h-=h%n),l===tc.week){n&&(e=o.makeTime(h,d,c,p,u,g,m));let t=tm(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tc.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(h,d,c,p+x*n):t+=l*n,x++;r.push(t),l<=tc.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=ts(t,{higherRanks:a,totalRange:l*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",l=n;for(n in tc){if(t===tc.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(tc[n]>t){n=l;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(l=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tx}=A,{fireEvent:ty,merge:tb}=J,tv={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tx?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tM=new tf(tv.time),tw={defaultOptions:tv,defaultTime:tM,getOptions:function(){return tv},setOptions:function(t){return ty(A,"setOptions",{options:t}),tb(!0,tv,t),t.time&&tM.update(tv.time),t.lang&&"locale"in t.lang&&tM.update({locale:t.lang.locale}),tv}},{isNumber:tk,merge:tS,pInt:tT,defined:tC}=J;class tA{static parse(t){return t?new tA(t):tA.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=A.Color;if(r&&r!==tA)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tA(t[1]));else if("string"==typeof t)for(this.input=t=tA.names[t.toLowerCase()]||t,s=tA.parsers.length;s--&&!i;)(e=(o=tA.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tS(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tk(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tk(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tT(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tk(i[0])||!tk(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tA.names={white:"#ffffff",black:"#000000"},tA.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tT(t[1]),tT(t[2]),tT(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tT(t[1]),tT(t[2]),tT(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tT(t[1]+t[1],16),tT(t[2]+t[2],16),tT(t[3]+t[3],16),tC(t[4])?tT(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tT(t[1],16),tT(t[2],16),tT(t[3],16),tC(t[4])?tT(t[4],16)/255:1]}}],tA.None=new tA("");let{parse:tP}=tA,{win:tL}=A,{isNumber:tO,objectEach:tE}=J;class tI{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,tE(l,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs,h,d,c,p,u=e&&e.slice();if(!u||l)return[r,r];function g(t,e){for(;t.length{let i=tG(t.options.animation);r=tR(e)&&tD(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tX(t,e.options.chart.animation,!0)},stop:tF},{SVG_NS:tY,win:tV}=A,{attr:tU,createElement:tZ,css:t$,error:t_,isFunction:tq,isString:tK,objectEach:tJ,splat:tQ}=J,{trustedTypes:t0}=tV,t1=t0&&tq(t0.createPolicy)&&t0.createPolicy("highcharts",{createHTML:t=>t}),t2=t1?t1.createHTML(""):"";class t3{static filterUserAttributes(t){return tJ(t,(e,i)=>{let s=!0;-1===t3.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tK(e)&&t3.allowedReferences.some(t=>0===e.indexOf(t))),s||(t_(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tK(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t3.emptyHTML,e&&new t3(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tQ(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?A.doc.createTextNode(e.textContent):void 0,n=t3.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==t3.allowedTags.indexOf(r)||n){let s="svg"===r?tY:i.namespaceURI||tY,l=A.doc.createElementNS(s,r),h=e.attributes||{};tJ(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),tU(l,n?h:t3.filterUserAttributes(h)),e.style&&t$(l,e.style),a&&l.appendChild(a),t(e.children||[],l),o=l}else t_(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t1?t1.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tZ("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t3.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t3.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t3.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t3.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t3.emptyHTML=t2,t3.bypassHTMLFiltering=!1;let{defaultOptions:t6,defaultTime:t5}=tw,{pageLang:t9}=A,{extend:t8,getNestedProperty:t4,isArray:t7,isNumber:et,isObject:ee,isString:ei,pick:es,ucfirst:eo}=J,er={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t7(t)&&t.map((i,s)=>el(e.body,t8(ee(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:eo,unless:t=>!t},ea={},en=t=>/^["'].+["']$/.test(t);function el(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,l=i?.options.lang||t6.lang,h=i&&i.time||t5,d=i&&i.numberFormatter||eh,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:en(t)?t.slice(1,-1):t4(t,e))},p,u,g=0,m;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,m=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");er[a]&&(u.isBlock&&a===u.fn&&g++,u.fn||(u.fn=a));let n="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||n)){if(g)!n&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],n||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:m,fn:f}=s;if(f){let t=[s],o=[],a=m.length,n=0,l;for(p=0;p<=a;p++){let t=m.charAt(p);l||'"'!==t&&"'"!==t?l===t&&(l=""):l=t,l||" "!==t&&p!==a||(o.push(m.substr(n,p-n)),n=p+1)}for(p=er[f].length;p--;)t.unshift(c(o[p+1]));r=er[f].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=el(r?u:g,e,i))}else{let t=en(m)?[m]:m.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,l.decimalPoint,e.indexOf(",")>-1?l.thousandsSep:""))}else r=h.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&ei(r)&&(r=`"${r}"`)}t=t.replace(s.find,es(r,""))}),m?el(t,e,i):t}function eh(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||t6.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):et(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),et(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||l.locale||t9,g=JSON.stringify(c)+u;return o=(ea[g]??(ea[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let ed={dateFormat:function(t,e,i){return t5.dateFormat(t,e,i)},format:el,helpers:er,numberFormat:eh};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,A.Renderer=s)}}(o||(o={}));let ec=o,{clamp:ep,pick:eu,pushUnique:eg,stableSort:em}=J;(r||(r={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],l=e.length,h=[],d=n.push,c,p,u,g=!0,m,f,x=0,y;for(c=l;c--;)x+=e[c].size;if(x>r){for(em(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?l/2:-1,p=y?u:l-1;u&&x>r;)m=e[c=Math.floor(p)],eg(h,c)&&(x-=m.size),p+=u,y&&p>=e.length&&(u/=2,p=u);h.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(em(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:eu(t.align,.5)}));g;){for(c=e.length;c--;)m=e[c],f=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=ep(f-m.size*m.align,0,i-m.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),em(o,a),o};let ef=r,{animate:ex,animObject:ey,stop:eb}=tH,{deg2rad:ev,doc:eM,svg:ew,SVG_NS:ek,win:eS,isFirefox:eT}=A,{addEvent:eC,attr:eA,createElement:eP,crisp:eL,css:eO,defined:eE,erase:eI,extend:eD,fireEvent:eB,getAlignFactor:ez,isArray:eN,isFunction:eR,isNumber:eW,isObject:ej,isString:eX,merge:eG,objectEach:eF,pick:eH,pInt:eY,pushUnique:eV,replaceNested:eU,syncTimeout:eZ,uniqueKey:e$}=J;class e_{_defaultGetter(t){let e=eH(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||eX(i)?i||"renderer":void 0;n&&(a&&eV(r,this),i=void 0);let l=eH(i,o[n],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*ez(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*ez(t.verticalAlign),c={"text-align":t?.align};return c[e?"translateX":"x"]=Math.round(h),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ey(eH(e,this.renderer.globalAnimation,!0)),o=s.defer;return eM.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eZ(()=>{this.element&&ex(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eF(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&A.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=eM.createElementNS(ek,"tspan");eA(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=eM.createElementNS(ek,"tspan");a.textContent="​",eA(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=e_.symbolCustomAttribs,a,n,l=this,h;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eF(t,function(e,i){h=!1,s||eb(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=e$()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eD(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eL(i,e),n=eL(s,e);return eD(t,{x:a,y:n,width:eL(o,e)-a,height:eL(r,e)-n}),eE(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,l,h,d,c,p,u,g=[],m;eB(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],l=s.gradients,h=t.stops,p=i.radialReference,eN(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eE(a.gradientUnits)&&(n=a,a=eG(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eF(a,function(t,e){"id"!==e&&g.push(e,t)}),eF(h,function(t){g.push(t)}),l[g=g.join(",")])u=l[g].attr("id");else{a.id=u=e$();let t=l[g]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tA.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}m="url("+s.url+"#"+u+")",i.setAttribute(e,m),i.gradient=g,t.toString=function(){return m}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eF(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eD(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eY(t.width)),eD(this.styles,t),o&&!ew&&this.renderer.forExport&&delete t.width;let r=eT&&t.fontSize||null;r&&(eW(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eG(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eO(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eY(s[e])*eH(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,eb(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=n.namespaceURI===this.SVG_NS,g=eH(e,this.rotation,0),m=l.styledMode?n&&e_.prototype.getStyle.call(n,"font-size"):h.fontSize;if(eE(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,a,h.lineClamp,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eO(e,{display:t})},eR(o)&&o("none"),i=n.getBBox?eD({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eR(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eB(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:l=0,rotationOriginY:h=0}=this,d=ez(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*ev,u=(e-90)*ev,g=Math.cos(p),m=Math.sin(p),f=o*g,x=o*m,y=Math.cos(u),b=Math.sin(u),[[v,M],[w,k]]=[l,h].map(t=>[t-t*g,t*m]),S=i+d*(o-f)+v+k+c*y,T=S+f,C=T-r*y,A=C-f,P=s+c-d*x-M+w+c*b,L=P+x,O=L-r*b,E=O-x,I=Math.min(S,T,C,A),D=Math.min(P,L,O,E),B=Math.max(S,T,C,A)-I,z=Math.max(P,L,O,E)-D;return{x:I,y:D,width:B,height:z,polygon:[[S,P],[T,L],[C,O],[A,E]]}}getStyle(t){return eS.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ek,this.element="span"===e||"body"===e?eP(e):eM.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eB(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eC(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eX(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eG(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},ej(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eY(t):""!==t&&(eA(i=eM.createElementNS(ek,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;e_.symbolCustomAttribs.forEach(function(i){e[i]=eH(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||eM.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eU(eH(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];eE(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eH(o,e.getAttribute("x"),0)+" "+eH(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eE(a)||eE(n))&&d.push("scale("+eH(a,1)+" "+eH(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,l,h,d=!1,c,p=this.added,u;if(eE(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eE(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!eE(h=(l=n[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(eY(h)<=t||c&&(!eE(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}e_.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],e_.prototype.strokeSetter=e_.prototype.fillSetter,e_.prototype.yGetter=e_.prototype.xGetter,e_.prototype.matrixSetter=e_.prototype.rotationOriginXSetter=e_.prototype.rotationOriginYSetter=e_.prototype.rotationSetter=e_.prototype.scaleXSetter=e_.prototype.scaleYSetter=e_.prototype.translateXSetter=e_.prototype.translateYSetter=e_.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eq=e_,{defined:eK,extend:eJ,getAlignFactor:eQ,isNumber:e0,merge:e1,pick:e2,removeEvent:e3}=J;class e6 extends eq{constructor(t,e,i,s,o,r,a,n,l,h){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e6.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=eQ(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e0(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e1(t),e6.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eq.prototype.css.call(this,t)}destroy(){e3(this.element,"mouseenter"),e3(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eq.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=e2(this.paddingLeft,i),l=e??(this.rotation||0),h={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e2(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eK(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e0(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e0(this.widthSetting)||!e0(this.heightSetting)||this.textAlign)&&eK(e.textStr)?e.getBBox(void 0,0):e6.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(eJ(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+eQ(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e0(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e2(this.paddingLeft,t),i=e2(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e6.emptyBBox={width:0,height:0,x:0,y:0},e6.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e5,isNumber:e9,pick:e8}=J;function e4(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e8(o.r,i),l=e8(o.r,s||i),h=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&l0)return h;if(t+n>i-a){if(l>e+a&&le+a&&l0){let i=ls&&na&&h.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return e4(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e7,roundedRect:it,square:e7,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:ii,SVG_NS:is,win:io}=A,{attr:ir,extend:ia,fireEvent:il,isString:ih,objectEach:id,pick:ic}=J,ip=(t,e)=>t.substring(0,e)+"…",iu=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=ic(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new t3(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(ii.createTextNode(this.unescapeEntities(s)));ih(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=ir(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),ir(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,h,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,ip),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(ii.createTextNode(e),t);let s=ii.createElementNS(is,"tspan");s.textContent="​",ir(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,ip)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===io.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===io.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,l=this.renderer.styledMode;if("b"===n||"strong"===n?l?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(l?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),ia(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),il(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,l;let h=this.svgElement,{rotation:d}=h,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let m=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(h.rotation=0,s+(l=m(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(n=a(i,g)),l=m(g,n&&n.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=n||a(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ip)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=d}unescapeEntities(t,e){return id(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:ig}=tw,{charts:im,deg2rad:ix,doc:iy,isFirefox:ib,isMS:iv,isWebKit:iM,noop:iw,SVG_NS:ik,symbolSizes:iS,win:iT}=A,{addEvent:iC,attr:iA,createElement:iP,crisp:iL,css:iO,defined:iE,destroyObjectProperties:iI,extend:iD,isArray:iB,isNumber:iz,isObject:iN,isString:iR,merge:iW,pick:ij,pInt:iX,replaceNested:iG,uniqueKey:iF}=J;class iH{constructor(t,e,i,s,o,r,a){let n,l;let h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;a||h.css(this.getStyle(s||{})),t.appendChild(d),iA(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iA(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(iy.createTextNode("Created with Highcharts 12.1.1")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),ib&&t.getBoundingClientRect&&((n=function(){iO(t,{left:0,top:0}),l=t.getBoundingClientRect(),iO(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=iC(iT,"resize",n))}definition(t){return new t3([t]).addToDOM(this.defs.element)}getReferenceURL(){if((ib||iM)&&iy.getElementsByTagName("base").length){if(!iE(e)){let t=iF(),i=new t3([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(iy.body);iO(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=iy.elementFromPoint(6,6);e="hitme"===(s&&s.id),iy.body.removeChild(i)}if(e)return iG(iT.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iD({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iI(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iW({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new iu(t).buildSVG()}getContrast(t){let e=tA.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,l,h){let d=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iW(ig.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},m=o.style||{};delete o.states,delete o.style;let f=[t3.filterUserAttributes(o)],x=[m];return c||["hover","select","disabled"].forEach((t,e)=>{f.push(iW(f[0],t3.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(f[e+1].style),delete f[e+1].style}),iC(d.element,iv?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iC(d.element,iv?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(f[t]);let e=x[t];iN(e)&&d.css(e)}},d.attr(f[0]),!c&&(d.css(iD({cursor:"default"},m)),h&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iE(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iL(i[1],e)),iE(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iL(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iB(t)?e.d=t:iN(t)&&iD(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iN(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iN(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iN(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iD(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iA(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:ij(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iz(e)&&(a.x=e),iz(i)&&(a.y=i),iz(s)&&(a.width=s),iz(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iT.Image;iC(e,"load",l),e.src=t,e.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,h;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(n=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iD(a,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iD(a,r);else if(p){l=t.match(c)[1];let s=a=this.image(l);s.imgwidth=ij(r&&r.width,iS[l]&&iS[l].width),s.imgheight=ij(r&&r.height,iS[l]&&iS[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:l}=this,h="width"===e?n:l,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&l?(d=Math.min(o/n,a/l),iA(s,{width:Math.round(n*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&n&&l&&this.translate(((o||0)-n*d)/2,((a||0)-l*d)/2)}}),iE(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iE(s.imgwidth)&&iE(s.imgheight)?h(s):(s.attr({width:0,height:0}),iP("img",{onload:function(){let t=im[d.chartIndex];0===this.width&&(iO(this,{position:"absolute",top:"-999em"}),iy.body.appendChild(this)),iS[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iE(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iD(iH.prototype,{Element:eq,SVG_NS:ik,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ie,draw:iw}),ec.registerRendererType("svg",iH,!0);let{composed:iY}=A,{attr:iV,css:iU,createElement:iZ,defined:i$,extend:i_,getAlignFactor:iq,isNumber:iK,pInt:iJ,pushUnique:iQ}=J;function i0(t,e,i){let s=this.div?.style||i.style;eq.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i1=(t,e)=>{if(!t.div){let i=iV(t.element,"class"),s=t.css,o=iZ("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i0,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eq.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i2 extends eq{static compose(t){iQ(iY,this.compose)&&(t.prototype.html=function(t,e,i){return new i2(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=iJ(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iK(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),i_(this.styles,t),iU(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:l="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:m}=n;if(iU(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,l,t.innerHTML,h,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iU(t,{width:"",whiteSpace:m||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iU(t,{width:e>s||i||r?h+"px":"auto",display:g,whiteSpace:m||"normal"}),this.oldTextWidth=h)}d!==this.cTT&&(n=e.fontMetrics(t).b,i$(i)&&(i!==(this.oldRotation||0)||l!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!i$(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,iq(l)));let{xCorr:f=0,yCorr:x=0}=this,y={left:`${p+f}px`,top:`${u+x}px`,textAlign:l,transformOrigin:`${(s??p)-f-p-c}px ${(o??u)-x-u-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iU(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=l}}setSpanRotation(t,e,i){iU(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i1(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t3.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i3=i2.prototype;i3.visibilitySetter=i3.opacitySetter=i0,i3.ySetter=i3.rotationSetter=i3.rotationOriginXSetter=i3.rotationOriginYSetter=i3.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(a||(a={}));let i6=a,{addEvent:i5,isFunction:i9,objectEach:i8,removeEvent:i4}=J;(n||(n={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i8(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i4(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i9(e)&&(t.eventOptions[i]=e,i5(t,i,e,{order:0})))})};let i7=n,{deg2rad:st}=A,{clamp:se,correctFloat:si,defined:ss,destroyObjectProperties:so,extend:sr,fireEvent:sa,getAlignFactor:sn,isNumber:sl,merge:sh,objectEach:sd,pick:sc}=J,sp=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sa(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,l=sc(t.options&&t.options.labels,i.labels),h=e.tickPositions,d=n===h[0],c=n===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info,g=t.label,m,f,x,y=this.parameters.category||(o?sc(o[n],a[n],n):n);r&&sl(y)&&(y=si(r.lin2log(y))),e.dateTime&&(u?m=(f=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:sl(y)&&(m=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:m,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y};sa(this,"labelFormat",b);let v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),ed.format(l.format,t,s)):e.defaultLabelFormatter.call(t),M=v.call(b,b),w=f&&f.list;w?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(h*st))):(m=s-d*c,f=s+(1-d)*c,mn&&(u=n-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(l.styles||{}).width)&&(x=u)),x&&l&&(this.shortenLabel?this.shortenLabel():l.css(sr({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sd(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sc(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),l=n.x,h=n.y,d=s.pos,c=d+s.len,p=o?l:h;!s.chart.polar&&this.isNew&&(si(p)c)&&(i=0);let u=sc(i,this.label&&this.label.newOpacity,1);i=sc(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,u,t),this.isNew=!1,sa(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sc(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),a||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+n,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,l=t.y,h=sc(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(n,l,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,l=a.labels,h=l.step,d=sc(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;n&&sl(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,l,d,s,h),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):u=!1,h&&s%h&&(u=!1),u&&sl(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:su}=tH,{xAxis:sg,yAxis:sm}=i6,{defaultOptions:sf}=tw,{registerEventOptions:sx}=i7,{deg2rad:sy}=A,{arrayMax:sb,arrayMin:sv,clamp:sM,correctFloat:sw,defined:sk,destroyObjectProperties:sS,erase:sT,error:sC,extend:sA,fireEvent:sP,getClosestDistance:sL,insertItem:sO,isArray:sE,isNumber:sI,isString:sD,merge:sB,normalizeTickInterval:sz,objectEach:sN,pick:sR,relativeLength:sW,removeEvent:sj,splat:sX,syncTimeout:sG}=J,sF=(t,e)=>sz(e,void 0,void 0,sR(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sA(sf,{xAxis:sg,yAxis:sB(sg,sm)});class sH{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sP(this,"init",{userOptions:e}),this.opposite=sR(e.opposite,this.opposite),this.side=sR(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sP(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sR(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sE(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sk(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sR(r.crosshair,sX(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sO(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sk(this.reversed)&&(this.reversed=!0),this.labelRotation=sI(a.rotation)?a.rotation:void 0,sx(this,r),sP(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sB(e,sf[this.coll],t),sP(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sI(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sf.lang,n=a.numericSymbols,l=a.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&h>=1e3)for(;d--&&void 0===p;)h>=(c=Math.pow(l,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sP(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sI(a)||a instanceof Date||(o=o.filter(sI),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sR(e.dataMin,a),a),e.dataMax=Math.max(sR(e.dataMax,n),n)));else{let t=i.applyExtremes();sI(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sR(e.dataMin,a),a)),sI(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sR(e.dataMax,n),n)),sk(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sP(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sI(n))return NaN;let l=a.minPixelPadding,h=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-l)/p+n,h&&(u=a.lin2val(u))):(h&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*l+(sI(r)?p*r:0),a.isRadial||(u=sw(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,l=r&&i.oldChartHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,m,f,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sM(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sP(this,"getPlotLinePath",b,function(t){u=m=(c=sM(c=sR(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,g=f=l-c-d,sI(c)?e.horiz?(g=o,f=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=m=y(u,s,s+e.width)):(u=s,m=h-e.right+(i.scrollablePixelsX||0),g=f=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",m,f]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sw(Math.floor(e/t)*t),n=sw(Math.ceil(i/t)*t),l=[];if(sw(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=sw(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sR(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],l;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sI(s)&&sI(o)&&sI(r)&&s-o=r,a=(r-s+o)/2,l=[o-a,i.parse(t.min)??o-a],n&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(o=sb(l))+r,i.parse(t.max)??o+r],n&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sv(h))-ot-e),t=sL([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sE(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sk(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sR(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sI(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,l=0,h,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sR(e.options.pointRange,a,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sD(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sP(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sI(t)&&sI(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:h}=this,d=i.time,c=sI(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:m,softMax:f,softMin:x}=l,y=sI(m)&&i[this.coll]?.[m],b=l.tickPixelInterval,v=l.maxPadding,M=l.minPadding,w=0,k,S=sI(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,T,C,A,P;if(r||e||y||this.getTickAmount(),A=sR(this.userMin,d.parse(l.min)),P=sR(this.userMax,d.parse(l.max)),y?(this.linkedParent=y,k=y.getExtremes(),this.min=sR(k.min,k.dataMin),this.max=sR(k.max,k.dataMax),this.type!==y.type&&sC(11,!0,i)):(h&&sk(c)&&sI(s)&&sI(o)&&(o>=c?(T=c,M=0):s<=c&&(C=c,v=0)),this.min=sR(A,T,o),this.max=sR(P,C,s)),sI(this.max)&&sI(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sR(o,this.min))&&sC(10,!0,i),this.min=sw(n.log2lin(this.min),16),this.max=sw(n.log2lin(this.max),16)),this.range&&sI(o)&&(this.userMin=this.min=A=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sP(this,"foundExtremes"),this.adjustForMinRange(),sI(this.min)&&sI(this.max)){if(!sI(this.userMin)&&sI(x)&&xthis.max&&(this.max=P=f),e||this.axisPointRange||this.stacking?.usePercentage||y||!(w=this.max-this.min)||(!sk(A)&&M&&(this.min-=w*M),sk(P)||!v||(this.max+=w*v)),!sI(this.userMin)&&sI(g)&&(this.min=Math.max(this.min,g)),!sI(this.userMax)&&sI(u)&&(this.max=Math.min(this.max,u)),h&&sI(o)&&sI(s)){let t=c||0;!sk(A)&&this.min=t?this.min=l.minRange?Math.min(t,this.max-p):t:!sk(P)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sk(l.min)?this.max=this.min:sk(l.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&sI(this.min)&&sI(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sR(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sP(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sP(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let L=sR(l.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sC(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sF(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max]))&&(n=l))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sI(this.min)&&sI(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),sP(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sP(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sI(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sI(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sI(this.threshold)){let t=sM((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sk(t.tickInterval)||i||!(this.lenr.push(sw(r[r.length-1]+p)),m=()=>r.unshift(sw(r[0]-p));if(sI(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&sI(s)&&sI(i)){let n=()=>{t.transA*=(l-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sI(u)&&sI(t.threshold)){for(;r[u]!==h||r.length!==a||r[0]>s||r[r.length-1]t.threshold?m():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(l0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sP(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sP(this,"setExtremes",o=sA(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sW(sR(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sW(sR(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sW(sR(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sW(sR(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sw(t.lin2log(this.min)):this.min,max:t?sw(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sR(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sP(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sw(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sw(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sI(r)?p=[r]:o=-90&&i<=90)&&(e=(t=l(Math.abs(a/Math.sin(sy*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0:n&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sA(a,{width:`${p}px`,lineClamp:u})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sk(this.min)&&sk(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sB(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sp(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=sI(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o],f,x=0,y,b=0,v=0,M,w;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sR(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sN(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sk(y=d.offset)?0:sR(d.margin,i?5:10))),t.renderLine(),t.offset=m*sR(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,M=Math.abs(v)+b,v&&(M-=w,M+=m*(i?sR(c.y,t.tickRotCorr.y+m*c.distance):sR(c.x,m*c.distance))),t.axisTitleMargin=sR(y,M),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+m*t.offset,M,a&&a.length&&e?e[0]+m*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}sP(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?u+h:g+(n?this.width:0)+l+h,y:e?g+d-(n?this.height:0)+l:u+d};return sP(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sp(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sp(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,l=i.tickPositions,h=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=a.stackLabels,g=a.alternateGridColor,m=a.crossing,f=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=su(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sN(t,function(t){t.isActive=!1})}),sI(m)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(m,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sI(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),f&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sp(i,-1,null,!0)),d[-1].render(-1))),g&&l.forEach(function(r,a){e=void 0!==l[a+1]?l[a+1]+f:i.max-f,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,l,h,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=h}else{let l=this.lin2log(e),h=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sK(t=sJ("auto"===d?null:d,this.minorAutoInterval,(h-l)*c/(p||1))),n=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(h||(h={}));let sQ=h,{erase:s0,extend:s1,isNumber:s2}=J;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!s2(this.min)||!s2(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,h=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),h=0),l=0;l{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s3.compose(oo,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){ot(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:l}=t.chart,h={},d=l.parse(e.to),c=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth,g=e.label,{label:m,svgElem:f}=this,x=[],y,b=s8(c)&&s8(d),v=s8(p),M=!f,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},k=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=os(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",u&&(w.stroke=e.borderColor,w["stroke-width"]=u))),h.zIndex=a,k+="-"+a,(y=t.plotLinesAndBandsGroups[k])||(t.plotLinesAndBandsGroups[k]=y=n.g("plot-"+k).attr(h).add()),f||(this.svgElem=f=n.path().attr(w).add(y)),s8(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:f.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s8(c)&&s8(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(oi(r,(t,e)=>{f?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!f.d)&&x?.length?f.attr({d:x}):f&&(x?(f.show(),f.animate({d:x})):f.d&&(f.hide(),m&&(this.label=m=m.destroy()))),g&&(s8(g.text)||s8(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=oe({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,a)):m&&m.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(oe({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s9(l),c=s9(h),p=s5(l)-d;n.align(t,!1,{x:d,y:c,width:p,height:s5(h)-c}),(!n.alignValue||"left"===n.alignValue||s8(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s8(t.formatter)?t.formatter.call(this):t.text}destroy(){s7(this.axis.plotLinesAndBands,this),delete this.axis,s4(this)}}let{animObject:or}=tH,{format:oa}=ed,{composed:on,dateFormats:ol,doc:oh,isSafari:od}=A,{distribute:oc}=ef,{addEvent:op,clamp:ou,css:og,discardElement:om,extend:of,fireEvent:ox,isArray:oy,isNumber:ob,isObject:ov,isString:oM,merge:ow,pick:ok,pushUnique:oS,splat:oT,syncTimeout:oC}=J;class oA{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oT(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),om(this.container)),J.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=oT(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+ok(t.colorIndex,o.colorIndex),r&&r.className].filter(oM).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ec.getRendererType();this.container=a=A.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),og(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&A.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oh,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:m,width:f}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?f:m,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+l):x.top-s+b(p+h),0,a?f:m]:[a?t:e,a?c+l:p+h,a?l:h,a?l+o.plotWidth:h+o.plotHeight])},M=v("y"),w=v("x"),k,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let T=!this.followPointer&&ok(i.ttBelow,!d&&!n===S),C=function(t,e,i,o,a,n,l){let h=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?f:f+g)}},A=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},P=function(t){[M,w]=[w,M],k=t},L=()=>{!1!==C.apply(0,M)?!1!==A.apply(0,w)||k||(P(!0),L()):k?u.x=u.y=0:(P(!0),L())};return(n&&!d||this.len>1)&&P(),L(),u}hide(t){let e=this;J.clearTimeout(this.hideTimer),t=ok(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oC(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=ok(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=or(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=oT(t),n=a[0],l=s.format,h=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;J.clearTimeout(this.hideTimer),this.allowShared=!(!oy(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let m=oM(l)?oa(l,n,i):h.call(n,this);n.points=void 0;let f=n.series;if(this.distance=ok(f.tooltipOptions.distance,16),!1===m)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(m,a);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===f.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:m&&m.join?m.join(""):m}),this.outside&&t.attr({x:ou(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||f.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ox(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:m}=i,{scrollLeft:f=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?oh.documentElement.getBoundingClientRect():{left:f,right:f+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,M=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:w,top:k}=m.getChartPosition(),S=l+x,T=0,C=a-h;function A(t,e,s,o,r=!0){let a,n;return s?(a=M?0:C,n=ou(t-o/2,y.left,y.right-o-(i.outside?w:0))):(a=e-S,n=ou(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}oM(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=r.isHeader,d=h?i:r.series,m=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),f=m.getBBox(),x=f.width+m.strokeWidth();h&&(T=f.height,C+=T,M&&(S-=T));let{anchorX:w,anchorY:k}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(n+o,n),i=l+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+ou(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=ou(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof k){let e=f.height+1,s=g?g.call(i,x,e,r):A(w,k,h,x);t.push({align:g?0:void 0,anchorX:w,anchorY:k,boxWidth:x,point:r,rank:ok(s.rank,h?1:0),size:e,target:s.y,tt:m,x:s.x})}else m.isActive=!1}return t},[]);!g&&P.some(t=>{let{outside:e}=i,s=(e?w:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=A(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return of(t,{target:i,x:e})})),i.cleanSplit(),oc(P,C);let L={left:w,right:w};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&w+eL.right&&(L.right=w+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(L.right-L.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:O,outside:E,renderer:I}=i;if(E&&O&&I){let{width:t,height:e,x:i,y:s}=b.getBBox();I.setSize(t+i,e+s,!1),O.style.left=L.left+"px",O.style.top=k+"px"}od&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return ox(this,"headerFormatter",a,function(e){if(r&&!n&&ob(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(ov(n)){let t=n;ol[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=oa(l,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,ow(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,n,t),g=A.doc,m=(t.plotX||0)+e.plotLeft,f=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(ou(l+x,0,g.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(og(i,{transform:`scale(${c}, ${p})`}),m*=c,f*=p),m+=h-u.x,f+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),m,f)}}!function(t){t.compose=function(e){oS(on,"Core.Tooltip")&&op(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oA||(oA={}));let oP=oA,{animObject:oL}=tH,{defaultOptions:oO}=tw,{format:oE}=ed,{addEvent:oI,crisp:oD,erase:oB,extend:oz,fireEvent:oN,getNestedProperty:oR,isArray:oW,isFunction:oj,isNumber:oX,isObject:oG,merge:oF,pick:oH,syncTimeout:oY,removeEvent:oV,uniqueKey:oU}=J;class oZ{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oz({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oz(this,t=oZ.prototype.optionsToObject.call(this,t)),this.options=this.options?oz(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oZ.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oX(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oX(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oL(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oV(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oB(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oY(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oN(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oR(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oU()),this.resolveColor(),t.chart.pointCount++,oN(this,"afterInit")}isValid(){return(oX(this.x)||this.x instanceof Date)&&oX(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(oX(t)||null===t)r[s[0]]=t;else if(oW(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);l0?oZ.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,l=0;if(oX(i)&&oX(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oH(this.options.colorIndex,a),this.color=oH(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oG(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oE(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,l=a.chart,h=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oG(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),h.data[o]=oG(h.data[o],!0)||oG(t,!0)?r.options:oH(t,h.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=oH(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oH(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oF(this.series.options.point,this.options),i=e.events?.[t];oj(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oI(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oV(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oO.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},l=!1===n.enabled,h=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,m,f=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(l||a&&!1===n.enabled)||t&&h.states&&h.states[t]&&!1===h.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),m=oH(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oX(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},m),t.connector&&t.connector.animate({opacity:e},m))}),this.graphic.animate(g,m)}u&&this.graphic.animate(u,oH(d.options.chart.animation,n.animation,r.animation)),f&&f.hide()}else t&&n&&(x=h.symbol||i.symbol,f&&f.currentSymbol!==x&&(f=f.destroy()),u&&(f?f[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=f=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oF(r,n)).add(i.markerGroup),f.currentSymbol=x)),!d.styledMode&&f&&"inactive"!==this.state&&f.attr(i.pointAttribs(this,t))),f&&(f[t&&this.isInside?"show":"hide"](),f.element.point=this,f.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||f,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oH(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oz({fill:this.color||i.color,"fill-opacity":y.opacity},t3.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oN(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oD(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let o$=oZ,{parse:o_}=tA,{charts:oq,composed:oK,isTouchDevice:oJ}=A,{addEvent:oQ,attr:o0,css:o1,extend:o2,find:o3,fireEvent:o6,isNumber:o5,isObject:o9,objectEach:o8,offset:o4,pick:o7,pushUnique:rt,splat:re}=J;class ri{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!A.chartCount&&(ri.unbindDocumentMouseUp.forEach(t=>t.unbind()),ri.unbindDocumentMouseUp.length=0,ri.unbindDocumentTouchEnd&&(ri.unbindDocumentTouchEnd=ri.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o8(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o6(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=a?1:o.plotHeight,r&&(s=t-n,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+n),a&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,l=e.plotTop,h=e.plotWidth,d=e.plotHeight,c=o9(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,m,f=this.selectionMarker;if((!f||!f.touch)&&(un+h&&(u=n+h),gl+d&&(g=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){m=e.isInsidePlot(i-n,s-l,{visiblePlotOnly:!0});let{shapeType:r,attrs:h}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&m&&!p&&!f&&(this.selectionMarker=f=e.renderer[r](),f.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||f.attr({fill:a||o_("#334eff").setOpacity(.25).get()})),f&&f.attr(h),m&&!f&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o6(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o5(i.index)&&(this.selectionMarker=s.destroy())}i&&o5(i.index)&&(o1(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o9(r,!0)&&r.series&&(!o9(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&o5(o.x)&&o5(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o4(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o7(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o6(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o3(t.points,function(t){return t.x===c.x&&!t.isNull});o9(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),o6(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o0(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o6(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o7(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o2(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o6(i.series,"click",o2(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o2(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o6(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),A.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oq[o7(ri.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oq[o7(ri.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===a&&o7(l?.options.followTouchMove,!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(o6(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&re(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&re(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,l=n&&n.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l&&l.directTouch&&this.isDirectTouch),d=this.getHoverData(n,l,o,h,a,t);n=d.hoverPoint,l=d.hoverSeries;let c=d.hoverPoints,p=l&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=a&&l&&!l.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=oQ(s.container.ownerDocument,"mousemove",t=>oq[ri.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o7((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o3(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(oQ(t,"mouseenter",this.onContainerMouseEnter.bind(this)),oQ(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ri.unbindDocumentMouseUp.some(t=>t.doc===e)||ri.unbindDocumentMouseUp.push({doc:e,unbind:oQ(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(oQ(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(oQ(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),oQ(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ri.unbindDocumentTouchEnd||(ri.unbindDocumentTouchEnd=oQ(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),oQ(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oJ)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o7(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(oQ(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),oQ(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o1(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o1(i,{"touch-action":o7(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=A.charts[o7(ri.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(ri.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o7(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o7(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}ri.unbindDocumentMouseUp=[],function(t){t.compose=function(e){rt(oK,"Core.Pointer")&&oQ(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(ri||(ri={}));let rs=ri,{fireEvent:ro,isArray:rr,objectEach:ra,uniqueKey:rn}=J,rl=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||rn(),this.modified=this,this.rowCount=0,this.versionTag=rn();let e=0;ra(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ra(this.columns,e=>{rr(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ra(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ro(this,"afterSetColumns"),this.versionTag=rn())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;ra(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(ro(this,"afterSetRows"),this.versionTag=rn())}},{extend:rh,merge:rd,pick:rc}=J;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:l}=t,h=this.symbol||"circle",d=l/2,c=o.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={},m,f=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,u],["L",n-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(f&&!1!==f.enabled&&n){let t=Math.min(rc(f.radius,d),d);0===h.indexOf("url")&&(f=rd(f,{width:l,height:l}),t=0),s.symbol=m=c.symbol(h,n/2-t,u-t,2*t,2*t,rh({context:"legend"},f)).addClass("highcharts-point").add(p),m.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,rc(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(c||(c={}));let rp=c,{defaultOptions:ru}=tw,{extend:rg,extendClass:rm,merge:rf}=J;!function(t){function e(e,i){let s=ru.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=o$),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=A.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=ru.plotOptions||{};if(s=s||"",n[i]=rf(n[s],o),delete t.seriesTypes[i],e(i,rm(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends o${}rg(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(p||(p={}));let rx=p,{animObject:ry,setAnimation:rb}=tH,{defaultOptions:rv}=tw,{registerEventOptions:rM}=i7,{svg:rw,win:rk}=A,{seriesTypes:rS}=rx,{arrayMax:rT,arrayMin:rC,clamp:rA,correctFloat:rP,crisp:rL,defined:rO,destroyObjectProperties:rE,diffObjects:rI,erase:rD,error:rB,extend:rz,find:rN,fireEvent:rR,getClosestDistance:rW,getNestedProperty:rj,insertItem:rX,isArray:rG,isNumber:rF,isString:rH,merge:rY,objectEach:rV,pick:rU,removeEvent:rZ,syncTimeout:r$}=J;class r_{constructor(){this.zoneAxis="y"}init(t,e){let i;rR(this,"init",{options:e}),this.dataTable??(this.dataTable=new rl);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rz(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rM(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rU(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rX(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rR(this,"afterInit")}is(t){return rS[t]&&this instanceof rS[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rR(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rU(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rX(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rB(18,!0,s)})}),rR(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rU(this.pointInterval,i.pointInterval,1),o&&rF(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rF(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rz(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rO(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rY(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rR(this,"setOptions",n);let l=n.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=rv.plotOptions[this.type]||{},p=h[this.type]||{};this.userOptions=n.userOptions;let u=rY(l,s.series,p,r);this.tooltipOptions=rY(rv.tooltip,rv.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rU(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},a||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rO(g[g.length-1].value)&&g.push(a?{}:{color:this.color,fillColor:this.fillColor}),rR(this,"afterSetOptions",{options:u}),u}getName(){return rU(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(rO(o=rU("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rv.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,l=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof o$&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l&&l.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rN(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rF(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rF(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h;let d=rO(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rF(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,a&&(c=h+1)):o[h]&&(o[h].touched=!0),(!n||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rT(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,l=a.dataSorting,h=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,m=a.keys,f,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rY(!0,t));let M=(t=v||t||[]).length;if(l&&l.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&M&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&M>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,M-1,-1),o=t=>!!(rG(t)&&(m||rF(t[0])));if(rF(i)&&rF(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{m&&(y=m.indexOf("x"),b=m.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(f=0;f{let s=rj(i,t),o=rj(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,l=r?.logarithmic,h=i.rowCount,d,c,p=0,u,g,m,f=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,m=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||h>a||e.forceCrop)&&(f[h-1]m?x=new rl:e.getColumn(e.pointValKey||"y").length&&(f[0]m)&&(x=(d=this.cropData(i,g,m)).modified,p=d.start,c=!0))),f=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rW([l?f.map(l.log2lin):f],()=>e.requireSorting&&!y&&rB(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rR(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,l=0,h=o;for(a=0;a=e){l=Math.max(0,a-1);break}for(n=a;ni){h=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(l,h))}return{modified:new rl({columns:r}),start:l,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,m,f,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(l&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,m,f,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),f=0;f=x&&(h[f-c]||m)<=y)for(let t of l){let e=t[f];rF(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rC(d),dataMax:rT(d)};return rR(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rV(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rR(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=rU(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,l,h=rU(o.radius,s&&s.radius);e&&(n=s.states[e],h=rU((l=o.states&&o.states[e])&&l.radius,n&&n.radius,h&&h+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return rF(h)&&d&&(i.crisp&&(d[0]=rL(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-h,a.y=d[1]-h),h&&(a.width=a.height=2*h),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=rU(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=rU((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+rU(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=rU(h.opacity,l.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rk.navigator.userAgent),n=o.data||[];for(rR(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rD(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rE(t,void 0,!0);J.clearTimeout(o.animationTimeout),rV(o,function(t,e){t instanceof eq&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rD(r.series,o),r.orderItems("series"),rV(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:h}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,m=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rA(d.toPixels(rU(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,u=0,m=r.len,y=a.len;c?(p=o,m=x):(u=o,y=x);let b=[["M",p,u],["L",m,u],["L",m,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),x=o,l&&(g(v),t&&g(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rO(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rO(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rZ(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=ry(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;rR(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=r$(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,rR(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,r$(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(rw?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),rR(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:l,data:h,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=n.data,g=this.getColumn("x");e=rU(e,!0);let m={series:this};this.pointClass.prototype.applyOptions.apply(m,[t]);let f=m.x;if(a=g.length,this.requireSorting&&ff;)a--;d.setRow(m,a,!0,{addColumns:!1}),p&&m.name&&(p[f]=m.name),u?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u,...Object.values(d.getColumns())].filter(rO).forEach(t=>{t.shift()}),d.rowCount-=1,rR(d,"afterDeleteRows"))),!1!==o&&rR(this,"addPoint",{point:m}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,l=r[t],h=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rO).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rR(n,"afterDeleteRows"),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rb(i,o),e=rU(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rU(t,!0)&&r.redraw(e)}!1!==i?rR(o,"remove",null,a):a()}update(t,e){rR(this,"update",{options:t=rI(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rS[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rz(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rY(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let m=!1;if(rS[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rS[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rz(i,rS[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rB(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),rR(this,"afterUpdate"),rU(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rU(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rO(r)?i!==o:i!==rU(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rR(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rR(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rU(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),h=rU(a[t].opacity,h)),o&&!o.dashstyle&&rF(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rR(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rR(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rp[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}r_.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},r_.types=rx.seriesTypes,r_.registerType=rx.registerSeriesType,rz(r_.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:o$,requireSorting:!0,sorted:!0}),rx.series=r_;let rq=r_,{animObject:rK,setAnimation:rJ}=tH,{registerEventOptions:rQ}=i7,{composed:r0,marginNames:r1}=A,{distribute:r2}=ef,{format:r3}=ed,{addEvent:r6,createElement:r5,css:r9,defined:r8,discardElement:r4,find:r7,fireEvent:at,isNumber:ae,merge:ai,pick:as,pushUnique:ao,relativeLength:ar,stableSort:aa,syncTimeout:an}=J;class al{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),rQ(this,e),r6(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r6(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=as(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ai(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=as(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ai(!0,this.options,t)),"events"in this.options&&rQ(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,as(e,!0)&&i.redraw(),at(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rq||t instanceof o$)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ai(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,at(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r8(e.translateY)?"animate":"attr"](o,void 0,()=>{at(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r4(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r9(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*M?v.height:M))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?as(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&as(i.showInLegend,!r8(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),at(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r8(t[a])&&(i[r1[a]]=Math.max(i[r1[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+as(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,l;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r7(a?t.points:t.points.slice(0).reverse(),function(t){return ae(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),r2(i,e.plotHeight)))t=o.item.legendItem||{},ae(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=ar(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),aa(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),at(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ai(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ai(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,l=o.maxHeight,h=o.navigation,d=as(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?M.attr({height:t}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},f,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,M=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),l&&(b=Math.min(b,l)),p.length=0,t&&b>0&&t>b&&!1!==h.enabled?(this.clipHeight=f=Math.max(b-20-this.titleHeight-n,0),this.currentPage=as(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>f&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),M||(M=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(M)),g(f),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),m("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),m("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&rJ(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),an(()=>{at(this,"afterScroll",{currentPage:h})},rK(as(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof o$,n=t instanceof rq,l="highcharts-legend-"+(a?"point":"series")+"-active",h=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ai(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(l),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(l),at(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&at(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r5("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r6(t.checkbox,"click",function(e){let i=e.target;at(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){ao(r0,"Core.Legend")&&r6(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(al||(al={}));let ah=al,{animate:ad,animObject:ac,setAnimation:ap}=tH,{defaultOptions:au}=tw,{numberFormat:ag}=ed,{registerEventOptions:am}=i7,{charts:af,doc:ax,marginNames:ay,svg:ab,win:av}=A,{seriesTypes:aM}=rx,{addEvent:aw,attr:ak,createElement:aS,css:aT,defined:aC,diffObjects:aA,discardElement:aP,erase:aL,error:aO,extend:aE,find:aI,fireEvent:aD,getAlignFactor:aB,getStyle:az,isArray:aN,isNumber:aR,isObject:aW,isString:aj,merge:aX,objectEach:aG,pick:aF,pInt:aH,relativeLength:aY,removeEvent:aV,splat:aU,syncTimeout:aZ,uniqueKey:a$}=J;class a_{static chart(t,e,i){return new a_(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aj(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aF(t.zoomType,e.type),key:aF(t.zoomKey,e.key),pinchType:aF(t.pinchType,e.pinchType),singleTouch:aF(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aX(e.resetButton,t.resetZoomButton)}}init(t,e){aD(this,"init",{args:arguments},function(){let i=aX(au,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aE({},t),(this.renderTo=aj(o)?ax.getElementById(o):o)||aO(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tf(aE(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ag).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=af.length,af.push(this),A.chartCount++,am(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aD(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=aM[i];s||aO(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aU(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aU(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(h+a,t.pos)&&e<=Math.min(h+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return aD(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){aD(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ap(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&aD(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){aD(t,"afterSetExtremes",aE(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aD(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aD(this,"redraw"),aD(this,"render"),n&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aI(this.axes,i)||aI(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aF(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aX(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aE("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aX(o),n=i?.textPxLength||0;if(i&&r){aD(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),l=o.b,h=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(a.width/n,1),m=Math.max(p,g),f=aX({y:"bottom"===d?l:u+l},{align:"title"===t?gp?this.chartWidth:a.width)/m;i.alignValue!==f.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(f.height=y,i.align(f,!1,a).attr({align:f.align,scaleX:m,scaleY:m,"transform-origin":`${a.x+n*m*aB(f.align)} ${h}`}),!r.floating){let t=y*(y<1.2*h?1:m);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aD(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:az(this.renderTo,"width",!0)||0,height:az(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aY(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(aT(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ax.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ax.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ax.body.appendChild(e)),("none"===az(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),aT(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ax.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=a$(),r=this.renderTo,a=aH(ak(r,s));aR(a)&&af[a]&&af[a].hasRendered&&af[a].destroy(),ak(r,s,this.index),r.innerHTML=t3.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,l=this.chartWidth;aT(r,{overflow:"hidden"}),this.styledMode||(t=aE({position:"relative",overflow:"hidden",width:l+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=aS("div",{id:o},t,r);this.container=h,this.getChartSize(),l===this.chartWidth||(l=this.chartWidth,this.styledMode||aT(h,{width:aF(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let d=i.renderer||!ab?ec.getRendererType(i.renderer):iH;if(this.renderer=new d(h,l,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ap(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aD(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!aC(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!aC(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aD(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ay.forEach(function(i,o){aC(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return aA(this.userOptions,au)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(J.clearTimeout(e.reflowTimeout),e.reflowTimeout=aZ(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=aw(av,"resize",e);aw(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ap(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ad:aT)(s.container,{width:`${a+l}px`,height:`${n+h}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aD(s,"resize"),setTimeout(()=>{s&&aD(s,"endResize")},ac(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),aD(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aD(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aW(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aF(e[i+s],o[r])})}),ay.forEach(function(e,i){t[e]=aF(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,M,w="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=f.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),M={fill:a||"none"},(b||f["stroke-width"])&&(M.stroke=t.borderColor,M["stroke-width"]=b),f.attr(M).shadow(t.shadow)),f[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp({x:h,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aD(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=aM[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=aM[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aj(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aF(t.options.visible,s.options.visible,t.visible))}}),aD(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,l=0;for(let e of(this.setTitle(),aD(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sp(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aF(i.reserveSpace,!aR(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l(l?1:1.1),n=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aX(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(av.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aD(e,"destroy"),e.renderer.forExport?aL(af,e):af[e.index]=void 0,A.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aV(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t3.emptyHTML,aV(o),r&&aP(o)),aG(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aN(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aD(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aD(this,"load"),aD(this,"render"),aC(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aD(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),aT(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:l,time:h}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:m,reversed:f}=t,x=e?"width":"height",y=e?"x":"y",b=aF(a[x],t.len),v=aF(s[x],t.len),M=10>Math.abs(b)?1:b/v,w=(s[y]||0)+v/2-t.pos,k=w-((a[y]??t.pos)+b/2-t.pos)/M,S=f&&!l||!f&&l?-1:1;if(!o&&(w<0||w>t.len))continue;let T=t.toValue(k,!0)+(r||t.isOrdinal?0:g*S),C=t.toValue(k+u/M,!0)-(r||t.isOrdinal?0:g*S||0),A=t.allExtremes;if(T>C&&([T,C]=[C,T]),1===M&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aR(t.dataMin)&&aR(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:P,dataMax:L,min:O,max:E}=aE(t.getExtremes(),A||{}),I=h.parse(m.min),D=h.parse(m.max),B=P??I,z=L??D,N=C-T,R=t.categories?0:Math.min(N,z-B),W=B-R*(aC(I)?0:m.minPadding),j=z+R*(aC(D)?0:m.maxPadding),X=t.allowZoomOutside||1===M||"zoom"!==n&&M>1,G=Math.min(I??W,W,X?O:W),F=Math.max(D??j,j,X?E:j);(!t.isOrdinal||t.options.overscroll||1!==M||o)&&(T=1&&(C=T+N)),C>F&&(C=F,M>=1&&(T=C-N)),(o||t.series.length&&(T!==O||C!==E)&&T>=G&&C<=F)&&(r?r[t.coll].push({axis:t,min:T,max:C}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:T,o?void 0:C,!1,!1,{move:k,trigger:n,scale:M}),!o&&(T>G||C{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aE(a_.prototype,{callbacks:[],collectionsWithInit:{xAxis:[a_.prototype.addAxis,[!0]],yAxis:[a_.prototype.addAxis,[!1]],series:[a_.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let aq=a_,{stop:aK}=tH,{composed:aJ}=A,{addEvent:aQ,createElement:a0,css:a1,defined:a2,erase:a3,merge:a6,pushUnique:a5}=J;function a9(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new a4(this)),t?.applyFixed()}function a8(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class a4{static compose(t,e,i){a5(aJ,this.compose)&&(aQ(t,"afterInit",a8),aQ(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),aQ(e,"render",a9),aQ(i,"show",a8))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:l,inverted:h,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=a6(t.plotBox),l.width=t.plotWidth+=i,n[h?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),a2(s)&&(t.scrollablePlotBox=a6(t.plotBox),l.height=t.plotHeight+=s,n[h?"width":"height"]+=s,o=!1)),a2(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=ec.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a0("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=a0("div",{className:"highcharts-scrolling"},a,n),h=this.innerContainer=a0("div",{className:"highcharts-inner-container"},void 0,l),d=this.fixedDiv=a0("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(d,l),a1(t.renderTo,{overflow:"visible"}),aQ(t,"afterShowResetZoom",r),aQ(t,"afterApplyDrilldown",r),aQ(t,"afterLayOutTitles",r),aQ(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:l,plotLeft:h,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:m=0}=t.options.chart.scrollablePlotArea||{},f=r+p,x=a+u;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aK(t.container),a1(n,{width:`${f}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:f,height:x,viewBox:[0,0,f,x].join(" ")}),t.chartBackground?.attr({width:f,height:x}),a1(s,{width:`${r}px`,height:`${a}px`}),a2(i)||(s.scrollLeft=p*g,s.scrollTop=u*m);let y=d-o[0]-1,b=h-o[3]-1,v=d+l+o[2]+1,M=h+c+o[1]+1,w=h+c-p,k=d+l-u,S=[["M",0,0]];p?S=[["M",0,y],["L",h-1,y],["L",h-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",M,d-1],["L",M,0],["Z"],["M",b,k],["L",b,a],["L",M,a],["L",M,k],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=a4.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a5(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a3(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}a4.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a7}=ed,{series:nt}=rx,{destroyObjectProperties:ne,fireEvent:ni,getAlignFactor:ns,isNumber:no,pick:nr}=J,na=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){ne(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a7(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:nr(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,ni(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:l,options:h,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=a;if(l&&p){let t=l.getBBox(void 0,0),e=l.padding,i="justify"===nr(h.overflow,"justify"),s;a.x=h.x||0,a.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,l.align(a,!1,p),(s=c.isInsidePlot(l.alignAttr.x+a.x+o,l.alignAttr.y+a.y+r))||(i=!1),i&&nt.prototype.justifyDataLabel.call(n,l,a,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*ns(h.textAlign||"center"),rotationOriginY:t.height/2}),nr(!i&&h.crop,!0)&&(s=no(l.x)&&no(l.y)&&c.isInsidePlot(l.x-e+(l.width||0),l.y)&&c.isInsidePlot(l.x+e,l.y)),l[s?"show":"hide"]()}ni(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*ns(i)-1),y:t.height/2*2*(1-ns(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,l=e.stacking.usePercentage?100:nr(s,this.total,0),h=e.toPixels(l),d=t.xAxis||i.xAxis[0],c=nr(o,d.translate(this.x))+r,p=Math.abs(h-e.toPixels(n||no(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:nn}=tH,{series:{prototype:nl}}=rx,{addEvent:nh,correctFloat:nd,defined:nc,destroyObjectProperties:np,fireEvent:nu,isNumber:ng,objectEach:nm,pick:nf}=J;function nx(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nf(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function ny(){let t=this.stacking;if(t){let e=t.stacks;nm(e,(t,i)=>{np(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function nb(){this.stacking||(this.stacking=new nT(this))}function nv(t,e,i,s){return!nc(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nM(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,l,h;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),l=o[i]?.[a],(h=l?.points[t.key||""])&&n.call(e,h,l,s)})}function nw(t,e,i){let s=e.total?100/e.total:0;t[0]=nd(t[0]*s),t[1]=nd(t[1]*s),this.stackedYData[i]=t[1]}function nk(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?nl.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nS(t,e){let i,s,o,r,a,n,l;let h=e||this.options.stacking;if(!h||!this.reserveSpace()||(({group:"xAxis"})[h]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,m=g.threshold||0,f=g.startFromThreshold?m:0,x=g.stack,y=e?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,M=t.stacking,w=M.stacks,k=M.oldStacks;for(M.stacksTouched+=1,l=0;l0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===h?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):nd(S+Math.abs(g))):"group"===h?ng(u)&&S++:S=nd(S+g),"group"===h?o.cumulative=(S||1)-1:o.cumulative=nd(nf(o.cumulative,f)+g),o.total=S,null!==u&&(o.points[n].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(M.usePercentage=!0),"group"!==h&&(this.stackedYData=p),M.oldStacks={}}class nT{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{nm(t,t=>{t.cumulative=t.total})}))}resetStacks(){nm(this.stacks,t=>{nm(t,(e,i)=>{ng(e.touched)&&e.touched{nm(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(u||(u={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(nh(t,"init",nb),nh(t,"destroy",ny),s.getStacks=nx,o.getStackIndicator=nv,o.modifyStacks=nM,o.percentStacker=nw,o.setGroupedPoints=nk,o.setStackedPoints=nS)};let nC=u,{defined:nA,merge:nP,isObject:nL}=J;class nO extends rq{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",l=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nP({filterUnits:"userSpaceOnUse"},nL(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,l=o.step,h=(t=t||s.points).reversed;return h&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(h,d){let c;let p=h.plotX,u=h.plotY,g=t[d-1],m=h.isNull||"number"!=typeof u;(h.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),m&&!nA(e)&&d>0?n=!o.connectNulls:m&&!e?n=!0:(0===d||n?c=[["M",h.plotX,h.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,h,d)]:l?(c=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],a.push(h.x),l&&(a.push(h.x),2===l&&a.push(h.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nO.defaultOptions=nP(rq.defaultOptions,{legendSymbol:"lineMarker"}),rx.registerSeriesType("line",nO);let{seriesTypes:{line:nE}}=rx,{extend:nI,merge:nD,objectEach:nB,pick:nz}=J;class nN extends nE{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nE.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,l=[],h=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(n.getThreshold(r.threshold)),g=nz(r.connectNulls,"percent"===a),m=function(i,s,o){let r=t[i],g=a&&c[r.x].points[d],m=r[o+"Null"]||0,f=r[o+"Cliff"]||0,x,y,b=!0;f||m?(x=(m?g[0]:g[1])+f,y=g[0]+f,b=!!m):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(h.push({plotX:e,plotY:null===x?u:n.getThreshold(x),isNull:b,isCliff:!0}),l.push({plotX:e,plotY:null===y?u:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&h.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=f.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},l=r.series,h=l.length,d=r.options.reversedStacks?1:-1,c=l.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,m,f;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>l?(o=Math.max(i,l),a=2*l-o):op&&a>l?(a=Math.max(p,l),o=2*l-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;n5(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&n1(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nJ(s)){if(n2(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=n6(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,l=n6(i.minPointLength,5),h=t.getColumnMetrics(),d=h.width,c=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=a.getThreshold(n),m=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(m=Math.ceil(m)),rq.prototype.translate.apply(t),t.points.forEach(function(s){let o=n6(s.yBottom,g),f=999+Math.abs(o),x=s.plotX||0,y=nq(s.plotY,-f,a.len+f),b,v=Math.min(y,o),M=Math.max(y,o)-v,w=d,k=x+c,S=m;l&&Math.abs(M)l?o-l:g-(b?l:0)),nJ(s.options.pointWidth)&&(k-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(k=t.adjustForMissingColumns(k,w,s,h)),s.barX=k,s.pointWidth=w,s.tooltipPos=e.inverted?[nq(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-k-S/2,M]:[r.left-e.plotLeft+k+S/2,nq(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(k,s.isNull?g:v,S,s.isNull?0:M)}),n0(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,l,h=t&&t.color||this.color,d=t&&t[o]||i[o]||h,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=n6(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),h=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(l=(a=n3(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,h=a.color||void 0!==l&&n$(h).brighten(a.brightness).get()||h,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=n6(a.opacity,u));let g={fill:h,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,d=i.rotation||0,c=lt(l)&<(h)&&r.isInsidePlot(l,Math.round(h),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===ll(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&<(l)&&(t.series.forceDL||a&&!p||c||ll(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var m;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=le({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),le(i,{width:l.width,height:l.height}),m=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,m),e.align(la(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=ls(i.align)*(h.width-l.width),e.alignAttr.y+=ls(i.verticalAlign)*(h.height-l.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(ll(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:h}=s.options.chart,d=r.getContrast(lr(h)&&h||lr(a)&&a||"#000000"),c=l(i),{animation:p,defer:u}=c[0],g=u?n4(s,p,i):{defer:0,duration:0};li(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let a=t.dataLabels||[];ld(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,l)=>{let h=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=n,m,f,x,y={},b=a[l],v=!b,M;h&&(f=lt(m=ll(n[t.formatPrefix+"Format"],n.format))?n7(m,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(g.color=ll(n.color,g.color,lr(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(M=c),t.contrastColor=r.getContrast("auto"!==M&&M||t.color||i.color),g.color=M||!lt(u)&&n.inside||0>lh(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),ln(y,(t,e)=>{void 0===t&&delete y[e]})),!b||h&<(f)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),h&<(f)&&(b?y.text=f:(b=r.label(f,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(n.shadow),li(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[l]&&a[l]!==b&&a[l].destroy(),a[l]=b))});let l=a.length;for(;l--;)a[l]&&a[l].isActive?a[l].isActive=!1:(a[l]?.destroy(),a.splice(l,1));t.dataLabel=a[0],t.dataLabels=a})),li(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,x;return(f=(i.x||0)+h+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=f,x=!0),(f=(i.x||0)+s.width-h+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,x=!0),(f=i.y+h+u)<0&&("bottom"===l&&m>=0?(e.verticalAlign="top",e.inside=!0):m-=f,x=!0),(f=(i.y||0)+s.height-h+u)>a.plotHeight&&("top"===l&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,x=!0),x&&(e.x=g,e.y=m,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(lo(t)&&!lo(e))i=t.map(function(t){return la(t,e)});else if(lo(e)&&!lo(t))i=e.map(function(e){return la(t,e)});else if(lo(t)||lo(e)){if(lo(t)&&lo(e))for(s=Math.max(t.length,e.length);s--;)i[s]=la(t[s],e[s])}else i=la(t,e);return i}function l(t){let e=t.chart.options.plotOptions;return ld(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,l=n.reversed,h=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:l?-h-c:n.width-h+c,e.startYPos=a?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=h,n.hasDataLabels=e)}}(g||(g={}));let lc=g,{composed:lp}=A,{series:lu}=rx,{merge:lg,pick:lm,pushUnique:lf}=J;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,l=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,d=lm(t.below,t.plotY>lm(this.translatedThreshold,l)),c=lm(i.inside,!!this.options.stacking);if(h){if(s=lg(h),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-l;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),lS(lC.prototype,{drawTracker:lM.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),lk(lC,"afterTranslate",function(){this.applyJitter()}),rx.registerSeriesType("scatter",lC);let{deg2rad:lA}=A,{fireEvent:lP,isNumber:lL,pick:lO,relativeLength:lE}=J;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,l,h=t.size,d=t.innerSize||0,c,p;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof d&&(d=parseFloat(d));let u=[lO(r?.[0],"50%"),lO(r?.[1],"50%"),lO(h&&h<0?void 0:t.size,"100%"),lO(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rq||(u[3]=0),c=0;c<4;++c)p=u[c],l=c<2||2===c&&/%$/.test(p),u[c]=lE(p,[s,o,a,u[2]][c])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),lL(n)&&2*n0&&(u[3]=u[2]-2*n),lP(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=lL(t)?t:0,s=lL(e)&&e>i&&e-i<360?e:i+360;return{start:lA*(i+-90),end:lA*(s+-90)}}}(f||(f={}));let lI=f,{setAnimation:lD}=tH,{addEvent:lB,defined:lz,extend:lN,isNumber:lR,pick:lW,relativeLength:lj}=J;class lX extends o${getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};lB(this,"select",s),lB(this,"unselect",s)}isValid(){return lR(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;lD(i,s.chart),e=lW(e,!0),this.sliced=this.options.sliced=t=lz(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}lN(lX.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,l,h]=a.center,d=h/2,{plotLeft:c,plotWidth:p}=a.chart,u="left"===t.alignment,{x:g,y:m}=t,f=o.x;if(i.crookDistance){let t=lj(i.crookDistance,1);f=u?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else f=n+(l-m)*Math.tan(s-Math.PI/2);let x=[["M",g,m]];return(u?f<=g&&f>=o.x:f>=g&&f<=o.x)&&x.push(["L",f,m]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:lG}=lI,{noop:lF}=A,{clamp:lH,extend:lY,fireEvent:lV,merge:lU,pick:lZ}=J;class l$ extends rq{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:lZ(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:ie.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,l=Math.asin(lH((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||lU(!0,n,i),lU(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){lV(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=lG(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,h,d,c,p,u,g,m,f=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),m.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,m.tooltipPos=[t[0]+.7*p,t[1]+.7*u],m.half=c<-Math.PI/2||c>Math.PI/2?1:0,m.angle=c}lV(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}l$.defaultOptions=lU(rq.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),lY(l$.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:n8.prototype.drawTracker,getCenter:lI.getCenter,getSymbol:lF,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:n8.prototype.pointAttribs,pointClass:lX,requireSorting:!1,searchPoint:lF,trackerGroups:["group","dataLabelsGroup"]}),rx.registerSeriesType("pie",l$);let{composed:l_,noop:lq}=A,{distribute:lK}=ef,{series:lJ}=rx,{arrayMax:lQ,clamp:l0,defined:l1,pick:l2,pushUnique:l3,relativeLength:l6}=J;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,l=a[2]/2,h=Math.cos(r),d=Math.sin(r),c=a[0]+h*l,p=a[1]+d*l,u=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+h*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+h*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,l=n[2]/2,h=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,m,f=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),lJ.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=l6(o?.distance||0,s);0===i&&d[t.half].push(t),!l1(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),f=Math.max(f,r)})}),d.forEach((e,a)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),f>0&&(x=Math.max(0,h-l-f),y=Math.min(h+l+f,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),lK(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let d=h.options||{},f=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=h.lineHeight||21,M=(v-h.getBBox().height)/2,w=0,k=y,S="inherit";if(x){if(u&&l1(f)&&x.distance>0&&(void 0===f.pos?S="hidden":(m=f.size,k=p.radialDistributionY(i,h))),d.justify)w=p.justify(i,h,l,n);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,a,s,r);break;case"plotEdges":w=p.alignToPlotEdges(h,a,s,r);break;default:w=p.radialDistributionX(t,i,k-M,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:k+(d.y||0)-v/2},x.computed.x=w,x.computed.y=k-M,l2(d.crop,!0)){let t;w-(g=h.getBBox().width)s-b&&0===a&&(t=Math.round(w+g-s+b),c[1]=Math.max(t,c[1])),k-m/2<0?c[0]=Math.max(Math.round(-k+m/2),c[0]):k+m/2>o&&(c[2]=Math.max(Math.round(k+m/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===lQ(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;u=s.connector,a&&a.distance>0?(n=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[n?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=l0(r,o,e[2]-Math.max(t[0],t[2])):(r=l0(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=h>e&&t<(l-s)*(e-n)/(h-n)+s&&(a=!a)}return a}}(y||(y={}));let l9=y,{pointInPolygon:l8}=l9,{addEvent:l4,fireEvent:l7,objectEach:ht,pick:he}=J;function hi(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(l8({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,l,h=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{ht(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=he(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,hs(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let hr={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=hi,l4(t,"render",ho))}},{defaultOptions:ha}=tw,{noop:hn}=A,{addEvent:hl,extend:hh,isObject:hd,merge:hc,relativeLength:hp}=J,hu={radius:0,scope:"stack",where:void 0},hg=hn,hm=hn;function hf(t,e,i,s,o={}){let r=hg(t,e,i,s,o),{innerR:a=0,r:n=i,start:l=0,end:h=0}=o;if(o.open||!o.borderRadius)return r;let d=h-l,c=Math.sin(d/2),p=Math.max(Math.min(hp(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*a),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=n?a-i:a+i,g=u?Math.asin(i/u):0,m=n?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=c+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(l.start),p+a*Math.sin(l.start)])):(l.end=d-m,o[6]=c+a*Math.cos(l.end),o[7]=p+a*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)1?u:p);return r}function hx(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=ha.plotOptions?.[this.type]?.borderRadius,o=hy(t.borderRadius,hd(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:l=0,y:h=0}=a,d=h,c=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(hp(o.radius,n),n/2,"all"===u?l/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),hh(a,{brBoxHeight:c,brBoxY:d,r:g})}}}}function hy(t,e){return hd(t)||(t={radius:t||0}),hc(hu,e,t)}function hb(){let t=hy(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=hp(t.radius,(i.r||0)-(i.innerR||0)))}}function hv(t,e,i,s,o={}){let r=hm(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:l=e}=o,h=e-l,d=l+n-(e+s),c=h-a>-.1?0:a,p=d-a>-.1?0:a,u=Math.max(c&&h,0),g=Math.max(p&&d,0),m=[t+c,e],f=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],M=[t,e+s-p],w=[t,e+c],k=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=k(c,c-u);m[0]-=t,f[0]+=t,x[1]=w[1]=e+c-u}if(s=hT(i.minWidth,0)&&this.chartHeight>=hT(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=hC()),this.matchResponsiveRule(t,o)},this);let a=hS(...o.map(t=>hk((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=hM(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||hw(s,{matchResponsiveRule:e,setResponsive:i}),t}}(b||(b={}));let hA=b;A.AST=t3,A.Axis=sY,A.Chart=aq,A.Color=tA,A.DataLabel=lc,A.DataTableCore=rl,A.Fx=tI,A.HTMLElement=i2,A.Legend=ah,A.LegendSymbol=rp,A.OverlappingDataLabels=A.OverlappingDataLabels||hr,A.PlotLineOrBand=oo,A.Point=o$,A.Pointer=rs,A.RendererRegistry=ec,A.Series=rq,A.SeriesRegistry=rx,A.StackItem=na,A.SVGElement=eq,A.SVGRenderer=iH,A.Templating=ed,A.Tick=sp,A.Time=tf,A.Tooltip=oP,A.animate=tH.animate,A.animObject=tH.animObject,A.chart=aq.chart,A.color=tA.parse,A.dateFormat=ed.dateFormat,A.defaultOptions=tw.defaultOptions,A.distribute=ef.distribute,A.format=ed.format,A.getDeferredAnimation=tH.getDeferredAnimation,A.getOptions=tw.getOptions,A.numberFormat=ed.numberFormat,A.seriesType=rx.seriesType,A.setAnimation=tH.setAnimation,A.setOptions=tw.setOptions,A.stop=tH.stop,A.time=tw.defaultTime,A.timers=tI.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;hl(t,"afterColumnTranslate",hx,{order:9}),hl(s,"afterTranslate",hb),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),hg=o.arc,hm=o.roundedRect,o.arc=hf,o.roundedRect=hv}},optionsToObject:hy}).compose(A.Series,A.SVGElement,A.SVGRenderer),lx.compose(A.Series.types.column),lc.compose(A.Series),s_.compose(A.Axis),i2.compose(A.SVGRenderer),ah.compose(A.Chart),sQ.compose(A.Axis),hr.compose(A.Chart),l5.compose(A.Series.types.pie),oo.compose(A.Chart,A.Axis),rs.compose(A.Chart),hA.compose(A.Chart),a4.compose(A.Axis,A.Chart,A.Series),nC.compose(A.Axis,A.Chart,A.Series),oP.compose(A.Pointer),J.extend(A,J);let{parse:hP}=tA,{addEvent:hL,extend:hO,merge:hE,pick:hI,splat:hD}=J;!function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=hD(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function s(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},s=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)t.allItems.unshift(s[r])}function o(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function r(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function a(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function n(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function l(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function h(){let t=this,e=this.getPointsCollection(),i=this.options.nullColor,s=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?i:s&&void 0!==r?s.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function d(){this.elem.attr("fill",hP(this.start).tweenTo(hP(this.end),this.pos),void 0,!0)}function c(){this.elem.attr("stroke",hP(this.start).tweenTo(hP(this.end),this.pos),void 0,!0)}t.compose=function(t,p,u,g,m){let f=p.prototype,x=u.prototype,y=m.prototype;f.collectionsWithUpdate.includes("colorAxis")||(e=t,f.collectionsWithUpdate.push("colorAxis"),f.collectionsWithInit.colorAxis=[f.addColorAxis],hL(p,"afterCreateAxes",i),function(t){let i=t.prototype.createAxis;t.prototype.createAxis=function(t,s){if("colorAxis"!==t)return i.apply(this,arguments);let o=new e(this,hE(s.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),hI(s.redraw,!0)&&this.redraw(s.animation),o}}(p),x.fillSetter=d,x.strokeSetter=c,hL(g,"afterGetAllItems",s),hL(g,"afterColorizeItem",o),hL(g,"afterUpdate",r),hO(y,{optionalAxis:"colorAxis",translateColors:h}),hO(y.pointClass.prototype,{setVisible:l}),hL(m,"afterTranslate",a,{order:1}),hL(m,"bindAxes",n))},t.pointSetVisible=l}(v||(v={}));let hB=v,{parse:hz}=tA,{merge:hN}=J;!function(t){t.initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,o=t.dataClasses||[],r,a,n=e.options.chart.colorCount,l=0,h;this.dataClasses=a=[],i.labels=[];for(let t=0,i=o.length;t=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r}}(M||(M={}));let hR=M,{defaultOptions:hW}=tw,{series:hj}=rx,{defined:hX,extend:hG,fireEvent:hF,isArray:hH,isNumber:hY,merge:hV,pick:hU,relativeLength:hZ}=J;hW.colorAxis=hV(hW.xAxis,{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});class h$ extends sY{static compose(t,e,i,s){hB.compose(h$,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},s=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||s?2:1,this.reversed=e.reversed||!s,this.opposite=!s,super.init(t,e,"colorAxis"),this.userOptions=e,hH(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=s,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=hV(hW.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||h$.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof h$&&t.drawLegendSymbol(i,t)}),i.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=e?1:0,s=e?0:1,o=t?[i,0,s,0]:[0,s,0,i];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=hU(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),d=hU(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:hU(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?d:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r=t.length;for(this.dataMin=1/0,this.dataMax=-1/0;r--;){for(let a of(i=(o=t[r]).colorKey=hU(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),s=o[i+"Min"]&&o[i+"Max"],[i,"value","y"]))if((e=o.getColumn(a)).length)break;if(s)o.minColorValue=o[i+"Min"],o.maxColorValue=o[i+"Max"];else{let t=hj.prototype.getExtremes.call(o,e);o.minColorValue=t.dataMin,o.maxColorValue=t.dataMax}hX(o.minColorValue)&&hX(o.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,o.minColorValue),this.dataMax=Math.max(this.dataMax,o.maxColorValue)),s||hj.prototype.applyExtremes.call(o)}}drawCrosshair(t,e){let i;let s=this.legendItem||{},o=e&&e.plotX,r=e&&e.plotY,a=this.pos,n=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))a+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,s=this.top;return hY(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t;let e=this,i=e.chart,s=e.legendItem&&e.legendItem.labels||[],o=i.options.legend,r=hU(o.valueDecimals,-1),a=hU(o.valueSuffix,""),n=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return s.length||e.dataClasses.forEach((o,l)=>{let h=o.from,d=o.to,{numberFormatter:c}=i,p=!0;t="",void 0===h?t="< ":void 0===d&&(t="> "),void 0!==h&&(t+=c(h,r)+a),void 0!==h&&void 0!==d&&(t+=" - "),void 0!==d&&(t+=c(d,r)+a),s.push(hG({chart:i,name:t,options:{},drawLegendSymbol:rp.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of n(l))e.setState(t)},setVisible:function(){this.visible=p=e.visible=!p;let t=[];for(let e of n(l))e.setVisible(p),e.hiddenInDataClass=!p,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,p),t.forEach(t=>{hF(t,"afterDataClassLegendClick")})}},o))}),s}getSize(){let{chart:t,horiz:e}=this,{height:i,width:s}=this.options,{legend:o}=t.options;return{width:hU(hX(s)?hZ(s,t.chartWidth):void 0,o?.symbolWidth,e?h$.defaultLegendLength:12),height:hU(hX(i)?hZ(i,t.chartHeight):void 0,o?.symbolHeight,e?12:h$.defaultLegendLength)}}}h$.defaultLegendLength=200,h$.keepProps=["legendItem"],hG(h$.prototype,hR),Array.prototype.push.apply(sY.keepProps,h$.keepProps),A.ColorAxis=A.ColorAxis||h$,A.ColorAxis.compose(A.Chart,A.Fx,A.Legend,A.Series);let h_={lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}},{defined:hq,extend:hK,pick:hJ,wrap:hQ}=J;!function(t){let e,i=0;function s(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function o(t){let s=this.chart,o=hq((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(o)>=1&&(i+=Math.abs(o),e&&clearTimeout(e),e=setTimeout(()=>{i=0},50)),i<10&&s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop)&&s.mapView&&s.mapView.zoomBy(-((s.options.mapNavigation.mouseWheelSensitivity-1)*o),void 0,[t.chartX,t.chartY],!(1>Math.abs(o))&&void 0)}function r(t,e,i){let s=this.chart;if(e=t.call(this,e,i),s&&s.mapView){let t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop});t&&hK(e,t)}return e}function a(t){let e=this.chart.options.mapNavigation;e&&hJ(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(hK(e,{onContainerDblClick:s,onContainerMouseWheel:o}),hQ(e,"normalize",r),hQ(e,"zoomOption",a))}}(w||(w={}));let h0=w;function h1(t,e,s,o,r){if(r){let t=r?.r||0;r.brBoxY=e-t,r.brBoxHeight=o+t}return i.roundedRect(t,e,s,o,r)}function h2(t,e,s,o,r){if(r){let t=r?.r||0;r.brBoxHeight=o+t}return i.roundedRect(t,e,s,o,r)}let h3={compose:function(t){(i=t.prototype.symbols).bottombutton=h1,i.topbutton=h2}},{setOptions:h6}=tw,{composed:h5}=A,{addEvent:h9,extend:h8,merge:h4,objectEach:h7,pick:dt,pushUnique:de}=J;function di(t){t&&(t.preventDefault?.(),t.stopPropagation?.(),t.cancelBubble=!0)}class ds{static compose(t,e,i){h0.compose(e),h3.compose(i),de(h5,"Map.Navigation")&&(h9(t,"beforeRender",function(){this.mapNavigation=new ds(this),this.mapNavigation.update()}),h6(h_))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,s=e.navButtons,o=function(t){this.handler.call(i,t),di(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=h4(i.options.mapNavigation,t));s.length;)s.pop()?.destroy();if(!i.renderer.forExport&&dt(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),h7(r.buttons,(t,a)=>{let n={padding:(t=h4(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(h8(n,t.theme),n.style=h4(t.theme.style,t.style));let{text:l,width:h=0,height:d=0,padding:c=0}=t,p=i.renderer.button("+"!==l&&"-"!==l&&l||"",0,0,o,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[a]).attr({width:h,height:d,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===l||"-"===l){let e=h+1,s=[["M",c+3,c+d/2],["L",c+e-3,c+d/2]];"+"===l&&s.push(["M",c+e/2,c+3],["L",c+e/2,c+d-3]),i.renderer.path(s).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(p)}if(p.handler=t.onclick,h9(p.element,"dblclick",di),s.push(p),h8(t,{width:p.width,height:2*(p.height||0)}),i.hasLoaded)p.align(t,!1,t.alignTo);else{let e=h9(i,"load",()=>{p.element&&p.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||h9(i,"render",function(){let s=i.exportingGroup?.getBBox();if(s){let i=e.navButtonsGroup.getBBox();if(t(s,i)){let t=-i.y-i.height+s.y-5,o=s.y+s.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:o})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;dt(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||h9(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),dt(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||h9(e.container,"wheel",function(t){if(!e.pointer.inClass(t.target,"highcharts-no-mousewheel")){let i=e.mapView?.zoom;e.pointer.onContainerMouseWheel(t),i!==e.mapView?.zoom&&di(t)}return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}let{column:{prototype:dr}}=rx.seriesTypes,{addEvent:da,defined:dn}=J;!function(t){function e(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new eq(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}t.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))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return dn(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:dr.pointAttribs},t.compose=function(t){return da(t.prototype.pointClass,"afterSetState",e),t}}(k||(k={}));let dl=k,{getOptions:dh}=tw,{isNumber:dd,merge:dc,pick:dp}=J;class du extends aq{init(t,e){let i=dh().credits,s=dc({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:dp(i.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:dp(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(s,e)}mapZoom(t,e,i,s,o){this.mapView&&(dd(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,dd(e)&&dd(i)?this.mapView.projection.inverse([e,i]):void 0,dd(s)&&dd(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}!function(t){t.maps={},t.mapChart=function(e,i,s){return new t(e,i,s)},t.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,iH.prototype.pathToSegments(e)}}(du||(du={}));let dg=du,dm={boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,o=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),o=Math.min(o,n),s=Math.max(s,n),r=!0)}),r)return{x1:i,y1:o,x2:e,y2:s}}},{boundsFromPath:df}=dm,dx=rx.seriesTypes.scatter.prototype.pointClass,{extend:dy,isNumber:db,pick:dv}=J;class dM extends dx{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;if(i.mapData&&i.mapMap){let t=o[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?dy(s,{...r,name:s.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)}return s}getProjectedBounds(t){let e=df(dM.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){let o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&db(o)&&db(r)){let i=t.forward([o,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],s=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*dv(this.middleX,db(t)?t:.5);let o=dv(this.middleY,db(s)?s:.5);this.geometry||(o=1-o),e.midY=e.y2-(e.y2-e.y1)*o}return e}}onMouseOver(t){J.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,s=this.bounds;if(i&&s){let o=db(this.insetIndex)&&i.insets[this.insetIndex];if(o){let t=o.projectedUnitsToPixels({x:s.x1,y:s.y1}),e=o.projectedUnitsToPixels({x:s.x2,y:s.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});s={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(s,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}dy(dM.prototype,{dataLabelOnNull:dl.pointMembers.dataLabelOnNull,moveToTopOnHover:dl.pointMembers.moveToTopOnHover,isValid:dl.pointMembers.isValid});let{isNumber:dw}=J,dk={center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}},{win:dS}=A,{format:dT}=ed,{error:dC,extend:dA,merge:dP,wrap:dL}=J;!function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function s(t,e){let i=this.options.chart.proj4||dS.proj4;if(!i){dC(21,!1,this);return}let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:d=0}=e,c=i(e.crs,[t.lon,t.lat]),p=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),g=e.rotation?[c[0]*p+c[1]*u,-c[0]*u+c[1]*p]:c;return{x:((g[0]-n)*a+l)*r+s,y:-(((h-g[1])*a+d)*r-o)}}function o(t,e){let i=this.options.chart.proj4||dS.proj4;if(!i){dC(21,!1,this);return}if(null===t.y)return;let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:d=0}=e,c={x:((t.x-s)/r-l)/a+n,y:((t.y-o)/r+d)/a+h},p=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),g=i(e.crs,"WGS84",e.rotation?{x:c.x*p+-(c.y*u),y:c.x*u+c.y*p}:c);return{lat:g.y,lon:g.x}}function r(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let s=t.arcs;if(t.transform){let e,i,o;let r=t.arcs,{scale:a,translate:n}=t.transform;s=[];for(let t=0,l=r.length;t"number"==typeof t[0]?t.reduce((t,e,i)=>{let o=e<0?s[~e]:s[e];return e<0?(o=o.slice(0,0===i?o.length:o.length-1)).reverse():i&&(o=o.slice(1)),t.concat(o)},[]):t.map(o),r=i.geometries,a=[];for(let t=0,e=r.length;t(e[1]-t[1])*(i[0]-t[0])}function dD(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}let dB=Math.sign||(t=>0===t?0:t>0?1:-1),dz=Math.PI/180,dN=Math.PI/2,dR=t=>Math.tan((dN+t)/2),dW=class{constructor(t){let e=(t.parallels||[]).map(t=>t*dz),i=e[0]||0,s=e[1]??i,o=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===s?Math.sin(i):Math.log(o/Math.cos(s))/Math.log(dR(s)/dR(i));1e-10>Math.abs(r)&&(r=1e-10*(dB(r)||1)),this.n=r,this.c=o*Math.pow(dR(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:s}=this,o=t[0]*dz,r=t[1]*dz;e>0?r<-dN+1e-6&&(r=-dN+1e-6):r>dN-1e-6&&(r=dN-1e-6);let a=e/Math.pow(dR(r),i),n=a*Math.sin(i*o)*63.78137,l=(e-a*Math.cos(i*o))*63.78137,h=[n,l];return s&&(ns.x2||ls.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,o=e-t[1]/63.78137,r=dB(i)*Math.sqrt(s*s+o*o),a=Math.atan2(s,Math.abs(o))*dB(o);return o*i<0&&(a-=Math.PI*dB(s)*dB(o)),[a/i/dz,(2*Math.atan(Math.pow(e/r,1/i))-dN)/dz]}},dj=Math.sqrt(3)/2,dX=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){let e=Math.PI/180,i=Math.asin(dj*Math.sin(t[1]*e)),s=i*i,o=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(dj*(1.340264+-.24331799999999998*s+o*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+o*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,o=i,r,a,n,l;for(let t=0;t<12&&(a=(r=o*o)*r*r,n=o*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,o-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(1e-9>Math.abs(l)));++t);a=(r=o*o)*r*r;let h=s*dj*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(o),d=s*Math.asin(Math.sin(o)/dj);return Math.abs(h)>180?[NaN,NaN]:[h,d]}},dG=Math.PI/4,dF=Math.PI/180,dH=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(t){return[t[0]*dF*63.78137,79.7267125*Math.log(Math.tan(dG+.4*t[1]*dF))]}inverse(t){return[t[0]/63.78137/dF,2.5*(Math.atan(Math.exp(.8*(t[1]/63.78137)))-dG)/dF]}},dY=Math.PI/180,dV=class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(t){let e=t[0],i=t[1]*dY,s=[Math.cos(i)*Math.sin(e*dY)*63.78460826781007,63.78460826781007*Math.sin(i)];return(e<-90||e>90)&&(s.outside=!0),s}inverse(t){let e=t[0]/63.78460826781007,i=t[1]/63.78460826781007,s=Math.sqrt(e*e+i*i),o=Math.asin(s),r=Math.sin(o);return[Math.atan2(e*r,s*Math.cos(o))/dY,Math.asin(s&&i*r/s)/dY]}},dU=Math.PI/180,dZ=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(t){let e=Math.sin(t[1]*dU),i=[63.78137*t[0]*dU,63.78137*Math.log((1+e)/(1-e))/2];return Math.abs(t[1])>this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*dU),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/dU]}},{clipLineString:d$,clipPolygon:d_}={clipLineString:function(t,e){let i=[],s=dE(t,e,!1);for(let t=1;t(t<-180&&(t+=360),t>180&&(t-=360),t),d0=t=>(1-Math.cos(t))/2,d1=(t,e)=>{let i=Math.cos,s=t[1]*dJ,o=t[0]*dJ,r=e[1]*dJ,a=e[0]*dJ;return d0(r-s)+i(s)*i(r)*d0(a-o)};class d2{static add(t,e){d2.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=d1(t,e);return 6371e3*(2*i(s(o),s(1-o)))}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:n}=Math,l=d2.distance,h=t[1]*dJ,d=t[0]*dJ,c=e[1]*dJ,p=e[0]*dJ,u=r(h)*r(d),g=r(c)*r(p),m=r(h)*a(d),f=r(c)*a(p),x=a(h),y=a(c),b=l(t,e),v=b/6371e3,M=a(v),w=Math.round(b/s),k=[];if(i&&k.push(t),w>1){let t=1/w;for(let e=t;e<.999;e+=t){let t=a((1-e)*v)/M,i=a(e*v)/M,s=t*u+i*g,r=t*m+i*f,l=o(t*x+i*y,n(s*s+r*r)),h=o(r,s);k.push([h/dJ,l/dJ])}}return i&&k.push(e),k}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=d2.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:s}=t;this.rotator=s?this.getRotator(s):void 0;let o=e?d2.registry[e]:void 0;o&&(this.def=new o(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{let[s,o]=t,r=e?0:1;if("number"==typeof i&&s[e]>=i!=o[e]>=i){let t=(i-s[e])/(o[e]-s[e]),a=s[r]+t*(o[r]-s[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,s))?n=a:(a=r(t,1,o))&&(n=a),n}getRotator(t){let e=t[0]*dJ,i=(t[1]||0)*dJ,s=(t[2]||0)*dJ,o=Math.cos(i),r=Math.sin(i),a=Math.cos(s),n=Math.sin(s);if(0!==e||0!==i||0!==s)return{forward:t=>{let i=t[0]*dJ+e,s=t[1]*dJ,l=Math.cos(s),h=Math.cos(i)*l,d=Math.sin(i)*l,c=Math.sin(s),p=c*o+h*r;return[Math.atan2(d*a-p*n,h*o-c*r)/dJ,Math.asin(p*a+d*n)/dJ]},inverse:t=>{let i=t[0]*dJ,s=t[1]*dJ,l=Math.cos(s),h=Math.cos(i)*l,d=Math.sin(i)*l,c=Math.sin(s),p=c*a-d*n;return[(Math.atan2(d*a+c*n,h*o+p*r)-e)/dJ,Math.asin(p*o-h*r)/dJ]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i;let s=[],o=[t];for(let i=0,o=t.length;i90)&&(n<-90||n>90)&&a>0!=n>0){let t=dq((180-(a+360)%360)/((n+360)%360-(a+360)%360),0,1),e=r[1]+t*(o[1]-r[1]);s.push({i,lat:e,direction:a<0?1:-1,previousLonLat:r,lonLat:o})}}if(s.length){if(e){s.length%2==1&&(i=s.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],dK(s,i));let e=s.length-2;for(;e>=0;){let i=s[e].i,r=dQ(180+1e-6*s[e].direction),a=dQ(180-1e-6*s[e].direction),n=t.splice(i,s[e+1].i-i,...d2.geodesic([r,s[e].lat],[r,s[e+1].lat],!0));n.push(...d2.geodesic([a,s[e+1].lat],[a,s[e].lat],!0)),o.push(n),e-=2}if(i)for(let t=0;t-1){let t=(s<0?-1:1)*this.maxLatitude,o=dQ(180+1e-6*e),n=dQ(180-1e-6*e),l=d2.geodesic([o,s],[o,t],!0);for(let i=o+120*e;i>-180&&i<180;i+=120*e)l.push([i,t]);l.push(...d2.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...l);break}}}else{let e=s.length;for(;e--;){let i=s[e].i,r=t.splice(i,t.length,[dQ(180+1e-6*s[e].direction),s[e].lat]);r.unshift([dQ(180-1e-6*s[e].direction),s[e].lat]),o.push(r)}}}return o}path(t){let e;let{bounds:i,def:s,rotator:o}=this,r=[],a="Polygon"===t.type||"MultiPolygon"===t.type,n=this.hasGeoProjection,l=!s||!1!==s.antimeridianCutting,h=l?o:void 0,d=l&&s||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let c=t=>{let s=t.map(t=>{if(l){h&&(t=h.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),o=[s];n&&(d2.insertGeodesics(s),l&&(o=this.cutOnAntimeridian(s,a))),o.forEach(t=>{let s,o;if(t.length<2)return;let h=!1,c=!1,p=t=>{h?r.push(["L",t[0],t[1]]):(r.push(["M",t[0],t[1]]),h=!0)},u=!1,g=!1,m=t.map(t=>{let e=d.forward(t);return e.outside?u=!0:g=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(l){if(a&&m.push(m[0]),u){if(!g)return;if(e){if(a)m=d_(m,e);else if(i){d$(m,e).forEach(t=>{h=!1,t.forEach(p)});return}}}m.forEach(p)}else for(let e=0;ep(d.forward(t))):h=!1),p(r),o=i,c=!1)}})};return"LineString"===t.type?c(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>c(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>c(t)),r.length&&r.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>c(t))}),r.length&&r.push(["Z"])),r}}d2.registry={EqualEarth:dX,LambertConformalConic:dW,Miller:dH,Orthographic:dV,WebMercator:dZ};let{composed:d3}=A,{pointInPolygon:d6}=l9,{topo2geo:d5}=dO,{boundsFromPath:d9}=dm,{addEvent:d8,clamp:d4,crisp:d7,fireEvent:ct,isArray:ce,isNumber:ci,isObject:cs,isString:co,merge:cr,pick:ca,pushUnique:cn,relativeLength:cl}=J,ch={};function cd(t,e){let{width:i,height:s}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(s/256)))/Math.log(2)}function cc(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class cp{static compose(t){cn(d3,"MapView")&&(ch=t.maps,d8(t,"afterInit",function(){this.mapView=new cp(this,this.options.mapView)},{order:0}),d8(t,"addSeriesAsDrilldown",cc),d8(t,"afterDrillUp",cc))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),cr(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},s=cr(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof cu||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=cr(dk,this.recommendedMapView,e),s=this.recommendedMapView?.insets,o=e&&e.insets;s&&o&&(i.insets=cp.mergeInsets(s,o)),this.chart=t,this.center=i.center,this.options=i,this.projection=new d2(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(d8(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&ci(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&cr(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new cu(this,cr(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,s){let o=t||this.getProjectedBounds();if(o){let r=ca(e,t?0:this.options.padding),a=this.getField(!1),n=ce(r)?r:[r,r,r,r];this.padding=[cl(n[0],a.height),cl(n[1],a.width),cl(n[2],a.height),cl(n[3],a.width)],this.playingField=this.getField();let l=cd(o,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]);this.setView(h,l,i,s)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(co(t))return ch[t]&&"Topology"===ch[t].type?d5(ch[t]):ch[t];if(cs(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return d5(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,s=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:s.x-i[3],y:s.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache){if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),s=e.map(t=>t[0]),o=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,s),x2:Math.max.apply(0,s),y1:Math.min.apply(0,o),y2:Math.max.apply(0,o)}}else this.fitToGeometryCache=d9(t.path(i))}return this.fitToGeometryCache}return this.projection.bounds||cp.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-o[0]*a,h=e+s/2-o[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){let o=e.transformFromLatLon(t,i[s]);if(o&&d6(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&d6({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),s=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(s)}let s=this.projection.forward([t.lon,t.lat]);if(!s.outside)return{x:s[0],y:s[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&d6(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}let s=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&d6(s,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(s),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let o=this.projection.inverse([t.x,t.y]);return{lon:o[0],lat:o[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[];s.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,s,r]=t.bbox;o.push({x1:e,y1:i,x2:s,y2:r})}});let r=o.length&&cp.compositeBounds(o);ct(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:s}=r;this.recommendedMapView.projection=i-t>180&&s-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,s],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=s[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,s){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),ci(e)&&(this.zoom=e));let o=this.getProjectedBounds();if(o){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:o.x1,y:o.y1}),l=this.projectedUnitsToPixels({x:o.x2,y:o.y2}),h=[(o.x1+o.x2)/2,(o.y1+o.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let o=n.x,d=l.y,c=l.x,p=n.y;c-oe+s&&o>e&&(t[0]+=Math.min(c-s-e,o-e)/a),p-di+r&&d>i&&(t[1]-=Math.min(p-r-i,d-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}ct(this,"afterSetView"),i&&this.redraw(s)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,r=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,s=this.getScale(),o=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:o[0]+(e-a)/s,y:o[1]-(i-n)/s}}setUpEvents(){let t,e,i;let{chart:s}=this,o=o=>{let{lastTouches:r,pinchDown:a}=s.pointer,n=this.projection,l=o.touches,{mouseDownX:h,mouseDownY:d}=s,c=0;if(a?.length===1?(h=a[0].chartX,d=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,d=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(c=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),ci(h)&&ci(d)){let r=`${h},${d}`,{chartX:a,chartY:p}=o.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,p=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let u=n.def&&n.def.bounds,g=u&&cd(u,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*g){let t=440/(this.getScale()*Math.min(s.plotWidth,s.plotHeight));if(i){let e=(h-a)*t-i[0],o=d4(-i[1]-(d-p)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-o]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,s.redraw(!1)}}else if(ci(a)&&ci(p)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,s=this.projection.inverse([t[0]+(h-a)/e,t[1]-(d-p)/e*i]);isNaN(s[0]+s[1])||this.zoomBy(c,s,void 0,!1)}o.preventDefault()}};d8(s,"pan",o),d8(s,"touchpan",o),d8(s,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-s.plotLeft,i=t.y-s.plotTop,{y:o,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:o,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||s.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&d2.toString(s)!==d2.toString(this.options.projection),r=!1;cr(!0,this.userOptions,t),cr(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),o&&(this.projection=new d2(this.options.projection)),r&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!ci(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||ci(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,s){let o=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l;let h=this.zoom+t;if(i){let[t,e]=i,s=this.getScale(),a=t-o.plotLeft-o.plotWidth/2,h=e-o.plotTop-o.plotHeight/2;n=r[0]+a/s,l=r[1]+h/s}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,s)}else this.fitToBounds(void 0,void 0,void 0,s)}}class cu extends cp{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=cr({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=d9(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],s=e.coordinates[0],o=s.map(t=>t[0]),r=s.map(t=>t[1]),a=Math.min.apply(0,o)+i[3],n=Math.max.apply(0,o)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(ci(a)&&ci(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:s}=i.field||{};if(s){let o=s[0];if("percent"===i.units){let s="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||cr(t.plotBox,{x:0,y:0});o=o.map(t=>[cl(`${t[0]}%`,s.width,s.x),cl(`${t[1]}%`,s.height,s.y)])}return{type:"Polygon",coordinates:[o]}}}getProjectedBounds(){return cp.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&d6(t,i))}render(){let{chart:t,mapView:e,options:i}=this,s=i.borderPath||i.field;if(s&&e.group){let o=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),o=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(s.coordinates||[]).reduce((e,s)=>s.reduce((e,s,o)=>{let[n,l]=s;return"percent"===i.units&&(n=t.plotLeft+cl(`${n}%`,a.width,a.x),l=t.plotTop+cl(`${l}%`,a.height,a.y)),n=d7(n,r),l=d7(l,r),e.push(0===o?["M",n,l]:["L",n,l]),e},e),[]);this.border[o?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}let{animObject:cg,stop:cm}=tH,{noop:cf}=A,{splitPath:cx}=dg,{column:cy,scatter:cb}=rx.seriesTypes,{extend:cv,find:cM,fireEvent:cw,getNestedProperty:ck,isArray:cS,defined:cT,isNumber:cC,isObject:cA,merge:cP,objectEach:cL,pick:cO,splat:cE}=J;class cI extends cb{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=cg(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:r}=e;if(o){this.transformGroups=s,s[0]||(s[0]=r.g().add(i));for(let t=0,e=o.insets.length;t{let{graphic:e}=t;t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),cy.prototype.drawPoints.apply(this),this.points.forEach(i=>{let s=i.graphic;if(s){let o=s.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&s.addClass(r),e.styledMode&&s.css(this.pointAttribs(i,i.selected&&"select"||void 0)),s.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),s.animate=function(i,r,a){let n=cC(i["stroke-width"])&&!cC(s["stroke-width"]),l=cC(s["stroke-width"])&&!cC(i["stroke-width"]);if(n||l){let o=cO(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);n&&(s["stroke-width"]=o),l&&(i["stroke-width"]=o)}return o.call(s,i,r,l?function(){s.element.removeAttribute("stroke-width"),delete s["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),s.forEach((i,s)=>{let a=(0===s?o:o.insets[s-1]).getSVGTransform(),n=cO(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,d=e=>{(t.points||[]).forEach(t=>{let i;let s=t.graphic;s&&s["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&s.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&o.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),s=Number(i.attr("scaleX")),o=(o,r)=>{let c=s+(l-s)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:c,scaleY:c*h,"stroke-width":n/c}),d(c)},c=cP(cg(r.globalAnimation)),p=c.step;c.step=function(){p&&p.apply(this,arguments),o.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},c,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),cw(this,"mapZoomComplete")}).bind(this))}else cm(i),i.attr(cP(a,{"stroke-width":n/l})),d(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(s=>{if(s.path||s.geometry){if("string"==typeof s.path?s.path=cx(s.path):cS(s.path)&&"M"===s.path[0]&&(s.path=this.chart.renderer.pathToSegments(s.path)),!s.bounds){let i=s.getProjectedBounds(e);if(i){s.labelrank=cO(s.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:o}=i;if(t&&cC(e)&&cC(o)){let r=cM(t,t=>t.isInside({x:e,y:o}));r&&(delete s.projectedPath,(i=s.getProjectedBounds(r.projection))&&r.allBounds.push(i),s.insetIndex=t.indexOf(r))}s.bounds=i}}s.bounds&&void 0===s.insetIndex&&i.push(s.bounds)}}),this.bounds=cp.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.dataTable.rowCount}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):cy.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=cP(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),s=this.getStrokeWidth(i);cT(s)&&(r=s),o.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&cC(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),cT(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}dataColumnKeys(){return this.pointArrayMap}processData(){let t,e,i;let s=this.options,o=s.data,r=this.chart,a=r.options.chart,n=this.joinBy,l=s.keys||this.pointArrayMap,h=[],d={},c=this.chart.mapView,p=c&&(cA(s.mapData,!0)?c.getGeoMap(s.mapData):c.geoMap),u=r.mapTransforms=a.mapTransforms||p&&p["hc-transform"]||r.mapTransforms;u&&cL(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),cS(s.mapData)?i=s.mapData:p&&"FeatureCollection"===p.type&&(this.mapTitle=p.title,i=A.geojson(p,this.type,this)),this.processedData=[];let g=this.processedData;if(o){let t;for(let e=0,i=o.length;el.length&&"string"==typeof t[0]&&(g[e]["hc-key"]=t[0],++i);for(let s=0;s0?dM.prototype.setNestedProperty(g[e],t[i],l[s]):g[e][l[s]]=t[i])}else g[e]=o[e];n&&"_i"===n[0]&&(g[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let s=0;s{let i=ck(t,e);d[i]&&h.push(d[i])})}if(s.allAreas){if(n[1]){let t=n[1];g.forEach(e=>{h.push(ck(t,e))})}let t="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";i.forEach(e=>{n[0]&&-1!==t.indexOf("|"+e[n[0]]+"|")||g.push(cP(e,{value:null}))})}}this.dataTable.rowCount=g.length}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),i&&(this.joinBy=cE(i),this.joinBy[1]||(this.joinBy[1]=this.joinBy[0])),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||cC(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let s=e.getSVGTransform();this.points.forEach(o=>{let r=cC(o.insetIndex)&&e.insets[o.insetIndex].getSVGTransform()||s;r&&o.bounds&&cC(o.bounds.midX)&&cC(o.bounds.midY)&&(o.plotX=o.bounds.midX*r.scaleX+r.translateX,o.plotY=o.bounds.midY*r.scaleY+r.translateY),t&&(o.shapeType="path",o.shapeArgs={d:dM.getProjectedPath(o,i)}),o.hiddenInDataClass||(o.projectedPath&&!o.projectedPath.length?o.setVisible(!1):o.visible||o.setVisible(!0))})}cw(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}cI.defaultOptions=cP(cb.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return dw(e)?t(e,-1):this.point.name||""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}),cv(cI.prototype,{type:"map",axisTypes:dl.seriesMembers.axisTypes,colorAttribs:dl.seriesMembers.colorAttribs,colorKey:dl.seriesMembers.colorKey,directTouch:!0,drawDataLabels:cf,drawGraph:cf,forceDL:!0,getCenter:lI.getCenter,getExtremesFromAll:!0,getSymbol:cf,isCartesian:!1,parallelArrays:dl.seriesMembers.parallelArrays,pointArrayMap:dl.seriesMembers.pointArrayMap,pointClass:dM,preserveAspectRatio:!0,searchPoint:cf,trackerGroups:dl.seriesMembers.trackerGroups,useMapGeometry:!0}),dl.compose(cI),rx.registerSeriesType("map",cI);let cD=cI,{extend:cB,merge:cz}=J;class cN extends cD{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}cN.defaultOptions=cz(cD.defaultOptions,{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}),cB(cN.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),rx.registerSeriesType("mapline",cN);let{scatter:cR}=rx.seriesTypes,{isNumber:cW}=J;class cj extends cR.prototype.pointClass{isValid(){return!!(this.options.geometry||cW(this.x)&&cW(this.y)||cW(this.options.lon)&&cW(this.options.lat))}}let{noop:cX}=A,{map:cG,scatter:cF}=rx.seriesTypes,{extend:cH,fireEvent:cY,isNumber:cV,merge:cU}=J;class cZ extends cF{constructor(){super(...arguments),this.clearBounds=cG.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:s,lat:o}=t,r=i&&"Point"===i.type&&i.coordinates;if(cV(s)&&cV(o)&&(r=[s,o]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;this.points.forEach(s=>{let o,{x:r,y:a}=s,n=cV(s.insetIndex)&&t.insets[s.insetIndex].getSVGTransform()||e,l=this.projectPoint(s.options)||s.properties&&this.projectPoint(s.properties);if(l?(r=l.x,a=l.y):s.bounds&&(r=s.bounds.midX,a=s.bounds.midY,n&&cV(r)&&cV(a)&&(s.plotX=r*n.scaleX+n.translateX,s.plotY=a*n.scaleY+n.translateY,o=!0)),cV(r)&&cV(a)){if(!o){let e=t.projectedUnitsToPixels({x:r,y:a});s.plotX=e.x,s.plotY=i?e.y:this.chart.plotHeight-e.y}}else s.y=s.plotX=s.plotY=void 0;s.isInside=this.isPointInside(s),s.zone=this.zones.length?s.getZone():void 0})}cY(this,"afterTranslate")}}cZ.defaultOptions=cU(cF.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}),iH.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;let n=o&&"legend"===o.context;n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s);let l=n?s/3:s/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},cH(cZ.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:cj,searchPoint:cX,useMapGeometry:!0}),rx.registerSeriesType("mappoint",cZ);let c$={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},{parse:c_}=tA,{noop:cq}=A,{arrayMax:cK,arrayMin:cJ,isNumber:cQ,merge:c0,pick:c1,stableSort:c2}=J,c3=class{constructor(t,e){this.setState=cq,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=c1(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!cQ(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}c2(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=a-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,d){l||(o.stroke=c1(h.borderColor,e.borderColor,i.color),o.fill=c1(h.color,e.color,1!==n?c_(i.color).setOpacity(n).get("rgba"):i.color),r.stroke=c1(h.connectorColor,e.connectorColor,i.color)),t[d].radius=this.getRangeRadius(h.value),t[d]=c0(t[d],{center:t[0].radius-t[d].radius+s}),l||c0(!0,t[d],{bubbleAttribs:c0(o),connectorAttribs:c0(r),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,x=e.radius||0,y=d-c-m/2+f/2,b=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,M=g||"left"===u?-p:p;"center"===u&&(M=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(x,d+b,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",x,y],["L",x+M,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let w=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),k={x:x+M+s.labels.x,y:y+s.labels.y+.4*w.getBBox().height};w.attr(k),h.push(w),w.placed=!0,w.alignAttr=k}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:o}=this.chart;return s?ed.format(s,t,this.chart):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.getColumn("z").filter(cQ)).length&&(r=c1(t.options.zMin,Math.min(r,Math.max(cJ(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=c1(t.options.zMax,Math.max(a,cK(o))))}),s=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=c0(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),d=Math.ceil(l.maxPxSize),c=Math.min(a,r),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=r||!s&&r-p>=a)&&(p=d)),[h,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:c6}=tw,{composed:c5}=A,{addEvent:c9,objectEach:c8,pushUnique:c4,wrap:c7}=J;function pt(t,e,i){let s,o,r;let a=this.legend,n=pe(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),c8(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),pr(a,pi(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),pr(a,pi(a))))}function pe(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function ps(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=pe(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),o>=0&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new c3(s,this),this.bubbleLegend.addToLegend(t.allItems))}function po(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=pe(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function pr(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}let pa={compose:function(t,e){c4(c5,"Series.BubbleLegend")&&(c6({legend:{bubbleLegend:c$}}),c7(t.prototype,"drawChartBox",pt),c9(e,"afterGetAllItems",ps),c9(e,"itemClick",po))}},{seriesTypes:{scatter:{prototype:{pointClass:pn}}}}=rx,{extend:pl}=J;class ph extends pn{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(i.len-t[1]-e,s.len-t[0]-e,2*e,2*e)}return o$.prototype.haloPath.call(this,e)}}pl(ph.prototype,{ttBelow:!1});let pd=ph,{parse:pc}=tA,{composed:pp,noop:pu}=A,{series:pg,seriesTypes:{column:{prototype:pm},scatter:pf}}=rx,{addEvent:px,arrayMax:py,arrayMin:pb,clamp:pv,extend:pM,isNumber:pw,merge:pk,pick:pS,pushUnique:pT}=J;function pC(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=(this.max||0)-(s||0),r=0,a=t,n=t/o,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),o>0){let i=e.length;for(;i--;)if(pw(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;r=Math.min((e[i]-s)*n-o,r),a=Math.max((e[i]-s)*n+o,a)}}}}),l&&o>0&&!this.logarithmic&&(a-=t,n*=(t+Math.max(0,r)-Math.min(a,t))/t,[["min","userMin",r],["max","userMax",a]].forEach(t=>{void 0===pS(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function pA(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:o}=this,r=this.options.type;if((o?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let o=e.length;for(;o--;){let r=t[e[o]],a=r.pos||0;(a>s||a{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(pS(e,o.zMin),o.zMin),i=Math.max(pS(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o0&&(d=(o-t)/h)}return n&&d>=0&&(d=Math.sqrt(d)),Math.ceil(i+d*(s-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?pM(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=pg.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=pc(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),pw(a)&&a>=s/2?(r.marker=pM(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(pS(this.options.minSize,8)),s=Math.max(e(pS(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(pw);if(e.length){let i=pS(t.zMin,pv(pb(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=pS(t.zMax,py(e));if(pw(i)&&pw(s))return{zMin:i,zMax:s}}}searchKDTree(t,e,i,s=pu,o=pu){return s=(t,e,i)=>{let s=t[i]||0,o=e[i]||0,r,a=!1;return s<0&&o<0?(r=s-(t.marker?.radius||0)>=o-(e.marker?.radius||0)?t:e,a=!0):r=s!i&&t>e||t{delete t.target.chart.bubbleZExtremes}),px(pP,"remove",t=>{delete t.target.chart.bubbleZExtremes}),rx.registerSeriesType("bubble",pP);let pL=pP,{seriesTypes:{map:{prototype:{pointClass:{prototype:pO}}}}}=rx,{extend:pE}=J;class pI extends pd{isValid(){return"number"==typeof this.z}}pE(pI.prototype,{applyOptions:pO.applyOptions,getProjectedBounds:pO.getProjectedBounds});let{seriesTypes:{map:{prototype:pD},mappoint:{prototype:pB}}}=rx,{extend:pz,merge:pN}=J;class pR extends pL{constructor(){super(...arguments),this.clearBounds=pD.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){pB.translate.call(this),this.getRadii(),this.translateBubble()}}pR.defaultOptions=pN(pL.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),pz(pR.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:pD.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:pI,processData:pD.processData,projectPoint:pB.projectPoint,kdAxisArray:["plotX","plotY"],setData:pD.setData,setOptions:pD.setOptions,updateData:pD.updateData,useMapGeometry:!0,xyFromShape:!0}),rx.registerSeriesType("mapbubble",pR);let{scatter:{prototype:{pointClass:pW}}}=rx.seriesTypes,{clamp:pj,defined:pX,extend:pG,pick:pF}=J;class pH extends pW{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,o=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,n=t.pointPlacementToXValue(),l=pF(this.pointPadding,e.pointPadding,0),h={x1:pj(Math.round(o.len-o.translate(this.x-i,!1,!0,!1,!0,-n)),-o.len,2*o.len),x2:pj(Math.round(o.len-o.translate(this.x+i,!1,!0,!1,!0,-n)),-o.len,2*o.len),y1:pj(Math.round(r.translate(this.y-s,!1,!0,!1,!0)),-r.len,2*r.len),y2:pj(Math.round(r.translate(this.y+s,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],s=i+"1",n=i+"2",d=Math.abs(h[s]-h[n]),c=a&&a.lineWidth||0,p=Math.abs(h[s]+h[n])/2,u=a&&a[e];if(pX(u)&&upZ(parseFloat(t),parseInt(t,10)));return s[3]=255*pZ(s[3],1),pU(t)&&e.visible||(s[3]=0),s}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=pV.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class p9 extends pq{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,s=e.marker||{};if(i){let{image:e,chart:i,xAxis:s,yAxis:o}=t,{reversed:r=!1,len:a}=s,{reversed:n=!1,len:l}=o,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=p5(t),{canvas:l,options:{colsize:d=1,rowsize:c=1},points:p,points:{length:u}}=t,g=i.colorAxis&&i.colorAxis[0];if(l&&a&&g){let{min:g,max:m}=s.getExtremes(),{min:f,max:x}=o.getExtremes(),y=m-g,b=x-f,v=Math.round(y/d/8*8),M=Math.round(b/c/8*8),[w,k]=[[v,v/y,r,"ceil"],[M,M/b,!n,"floor"]].map(([t,e,i,s])=>i?i=>Math[s](t-e*i):t=>Math[s](e*t)),S=l.width=v+1,T=S*(l.height=M+1),C=(u-1)/T,A=new Uint8ClampedArray(4*T),P=(t,e)=>4*Math.ceil(S*k(e-f)+w(t-g));t.buildKDTree();for(let t=0;t{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=p$.prototype.getExtremes.call(this,this.getColumn("value"));return p1(t)&&(this.valueMin=t),p1(e)&&(this.valueMax=e),p$.prototype.getExtremes.call(this)}getValidPoints(t,e){return p$.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=p3(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,pK.ellipse=pK.circle,t.marker&&p1(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let s=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=s.states&&s.states[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(t,e){let i=p$.prototype.pointAttribs.call(this,t,e),s=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||r.borderColor,l=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];if(i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e){let o=p2(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{});i.fill=o.color||tA.parse(i.fill).brighten(o.brightness||0).get(),i.stroke=o.lineColor||i.stroke}return i}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",s=pK[i]?i:"rect",o=-1!==["circle","square"].indexOf(s);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),o){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),pJ(p9,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),pQ(p9.prototype,{axisTypes:dl.seriesMembers.axisTypes,colorKey:dl.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:dl.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:pH,specialGroup:"group",trackerGroups:dl.seriesMembers.trackerGroups,alignDataLabel:p_.prototype.alignDataLabel,colorAttribs:dl.seriesMembers.colorAttribs,getSymbol:p$.prototype.getSymbol}),dl.compose(p9),rx.registerSeriesType("heatmap",p9),A.ColorMapComposition=dl,A.MapChart=A.MapChart||dg,A.MapNavigation=A.MapNavigation||ds,A.MapView=A.MapView||cp,A.Projection=A.Projection||d2,A.mapChart=A.Map=A.MapChart.mapChart,A.maps=A.MapChart.maps,A.geojson=dO.geojson,A.topo2geo=dO.topo2geo,dO.compose(A.Chart),pR.compose(A.Axis,A.Chart,A.Legend),ds.compose(dg,A.Pointer,A.SVGRenderer),cp.compose(dg),/** + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/highmaps * * (c) 2011-2024 Torstein Honsi * * License: www.highcharts.com/license - */A.product="Highmaps";let p9=A;return C.default})()); \ No newline at end of file + */A.product="Highmaps";let p8=A;return C.default})()); \ No newline at end of file diff --git a/highmaps.src.js b/highmaps.src.js index 324dce5c76..a8799b51a3 100644 --- a/highmaps.src.js +++ b/highmaps.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi @@ -74,12 +74,12 @@ var Globals; * Constants * * */ - Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.0', Globals.win = (typeof window !== 'undefined' ? + Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ? window : {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', @@ -3500,7 +3500,7 @@ const SeriesPalettes = { * */ -const { win: Time_win } = Core_Globals; +const { pageLang, win: Time_win } = Core_Globals; const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities; /* * @@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -3688,7 +3696,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (Time_isString(options)) { options = this.str2dtf(options); @@ -7066,14 +7074,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Core_Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions @@ -8834,7 +8834,7 @@ AST.bypassHTMLFiltering = false; const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults; -const { doc: Templating_doc } = Core_Globals; +const { pageLang: Templating_pageLang } = Core_Globals; const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities; const helpers = { @@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) @@ -9691,9 +9691,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -9725,7 +9723,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - SVGElement_getAlignFactor(alignOptions.verticalAlign); + SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed @@ -11608,7 +11608,9 @@ class SVGLabel extends SVG_SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { @@ -12636,7 +12638,7 @@ class SVGRenderer { this.url = this.getReferenceURL(); // Add description const desc = this.createElement('desc').add(); - desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.0')); + desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1')); this.defs = this.createElement('defs').add(); this.allowHTML = allowHTML; this.forExport = forExport; @@ -27477,7 +27479,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } @@ -42627,9 +42631,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + @@ -48164,7 +48167,7 @@ Array.prototype.push.apply(Axis_Axis.keepProps, ColorAxis.keepProps); ;// ./code/es-modules/masters/modules/coloraxis.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * @@ -57726,7 +57729,7 @@ Series_SeriesRegistry.registerSeriesType('heatmap', HeatmapSeries); ;// ./code/es-modules/masters/modules/map.src.js /** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/map * @requires highcharts * @@ -57772,7 +57775,7 @@ Maps_MapView.compose(Chart_MapChart); ;// ./code/es-modules/masters/highmaps.src.js /** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/highmaps * * (c) 2011-2024 Torstein Honsi diff --git a/highstock.js b/highstock.js index bdb5af0e96..8603f1eaf5 100644 --- a/highstock.js +++ b/highstock.js @@ -1,16 +1,16 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i,s,o,r;var a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,k,M,w,S,A,T,C,P,O={};O.d=(t,e)=>{for(var i in e)O.o(e,i)&&!O.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},O.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var E={};O.d(E,{default:()=>uX}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.0",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(a||(a={}));let L=a,{charts:D,doc:B,win:I}=L;function z(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=F(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),J(s,function(e,i){t+=` - - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}tt(L,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);I.console&&-1===z.messages.indexOf(a)&&console.warn(a)}),z.messages.push(a)}function R(t,e){return parseInt(t,e||10)}function N(t){return"string"==typeof t}function W(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function G(t,e){return!!t&&"object"==typeof t&&(!e||!W(t))}function X(t){return G(t)&&"number"==typeof t.nodeType}function H(t){let e=t&&t.constructor;return!!(G(t,!0)&&!X(t)&&e&&e.name&&"Object"!==e.name)}function F(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function Y(t){return null!=t}function j(t,e,i){let s;let o=N(e)&&!Y(i),r=(e,i)=>{Y(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return N(e)?r(i,e):J(e,r),s}function U(t){return W(t)?t:[t]}function V(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function _(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(z||(z={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let K=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let te=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();I.jQuery&&(I.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new L[N(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):D[j(this[0],"data-highcharts-chart")]});let ti={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;L.Point&&t instanceof L.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!L.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){Q(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=U(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=I.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),_(s,"opacity"!==i)&&(o=R(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return q(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:J,offset:function(t){let e=B.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(I.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(I.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:_,pInt:R,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:Q,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:U,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return N(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:te,useSerialIds:function(e){return t=_(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{win:ts}=L,{defined:to,error:tr,extend:ta,isNumber:tn,isObject:th,isString:tl,merge:td,objectEach:tc,pad:tp,splat:tu,timeUnits:tg,ucfirst:tf}=ti,tm=L.isSafari&&ts.Intl&&!ts.Intl.DateTimeFormat.prototype.formatRange,tx=t=>void 0===t.main,ty=t=>["D","L","M","X","J","V","S"].indexOf(t),tb=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=ts.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=td(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||ts.Date||Date;let s=t.timezone;to(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,ty(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale){let s=JSON.stringify(t)+i;tl(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(tr(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):tr(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&ta(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tm||(n-=36e5)}}return n}parse(t){if(!tl(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tn(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(tn(a))return a}return 0}dateFormat(t,e,i){let s=L.defaultOptions?.lang;if(!to(e)||isNaN(e))return s?.invalidDate||"";if(tl(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(tl(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;tc(ta({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tp(a),e:tp(a,2," "),w:c,b:f[r],B:g[r],m:tp(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tp(n),k:n,I:tp(n%12||12),l:n%12||12,M:tp(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:tp(l),L:tp(d,3)},L.dateFormats),function(s,o){if(tl(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(th(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(ta({timeZone:s},t),e)+r}return i?tf(t):t}resolveDTLFormat(t){return th(t,!0)?th(t,!0)&&tx(t)?{main:t}:t:{main:(t=tu(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),to(e)){if(f=h>=tg.second?0:n*Math.floor(f/n),h>=tg.second&&(g=h>=tg.minute?0:n*Math.floor(g/n)),h>=tg.minute&&(u=h>=tg.hour?0:n*Math.floor(u/n)),h>=tg.hour&&(p=h>=tg.day?0:n*Math.floor(p/n)),h>=tg.day&&(c=h>=tg.month?1:Math.max(1,n*Math.floor(c/n))),h>=tg.month&&(d=h>=tg.year?0:n*Math.floor(d/n)),h>=tg.year&&(l-=l%n),h===tg.week){n&&(e=o.makeTime(l,d,c,p,u,g,f));let t=ty(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tg.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=tg.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=ta(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in tg){if(t===tg.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(tg[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tv}=L,{fireEvent:tk,merge:tM}=ti,tw={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tv?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};tw.chart.styledMode=!0,tw.chart.styledMode=!1;let tS=new tb(tw.time),tA={defaultOptions:tw,defaultTime:tS,getOptions:function(){return tw},setOptions:function(t){return tk(L,"setOptions",{options:t}),tM(!0,tw,t),t.time&&tS.update(tw.time),t.lang&&"locale"in t.lang&&tS.update({locale:t.lang.locale}),tw}},{isNumber:tT,merge:tC,pInt:tP,defined:tO}=ti;class tE{static parse(t){return t?new tE(t):tE.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=L.Color;if(r&&r!==tE)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tE(t[1]));else if("string"==typeof t)for(this.input=t=tE.names[t.toLowerCase()]||t,s=tE.parsers.length;s--&&!i;)(e=(o=tE.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tC(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tT(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tT(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tP(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tT(i[0])||!tT(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tE.names={white:"#ffffff",black:"#000000"},tE.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tP(t[1]),tP(t[2]),tP(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tP(t[1]),tP(t[2]),tP(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tP(t[1]+t[1],16),tP(t[2]+t[2],16),tP(t[3]+t[3],16),tO(t[4])?tP(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tP(t[1],16),tP(t[2],16),tP(t[3],16),tO(t[4])?tP(t[4],16)/255:1]}}],tE.None=new tE("");let{parse:tL}=tE,{win:tD}=L,{isNumber:tB,objectEach:tI}=ti;class tz{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tI(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{let i=tj(t.options.animation);r=tX(e)&&tR(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tY(t,e.options.chart.animation,!0)},stop:tU},{SVG_NS:t_,win:t$}=L,{attr:tZ,createElement:tq,css:tK,error:tJ,isFunction:tQ,isString:t0,objectEach:t1,splat:t2}=ti,{trustedTypes:t3}=t$,t5=t3&&tQ(t3.createPolicy)&&t3.createPolicy("highcharts",{createHTML:t=>t}),t6=t5?t5.createHTML(""):"";class t9{static filterUserAttributes(t){return t1(t,(e,i)=>{let s=!0;-1===t9.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=t0(e)&&t9.allowedReferences.some(t=>0===e.indexOf(t))),s||(tJ(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),t0(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t9.emptyHTML,e&&new t9(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return t2(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?L.doc.createTextNode(e.textContent):void 0,n=t9.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==t9.allowedTags.indexOf(r)||n){let s="svg"===r?t_:i.namespaceURI||t_,h=L.doc.createElementNS(s,r),l=e.attributes||{};t1(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tZ(h,n?l:t9.filterUserAttributes(l)),e.style&&tK(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tJ(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t5?t5.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tq("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t9.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t9.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t9.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t9.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t9.emptyHTML=t6,t9.bypassHTMLFiltering=!1;let{defaultOptions:t4,defaultTime:t8}=tA,{doc:t7}=L,{extend:et,getNestedProperty:ee,isArray:ei,isNumber:es,isObject:eo,isString:er,pick:ea,ucfirst:en}=ti,eh={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!ei(t)&&t.map((i,s)=>ec(e.body,et(eo(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:en,unless:t=>!t},el={},ed=t=>/^["'].+["']$/.test(t);function ec(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||t4.lang,l=i&&i.time||t8,d=i&&i.numberFormatter||ep,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ed(t)?t.slice(1,-1):ee(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");eh[a]&&(u.isBlock&&a===u.fn&&g++,u.fn||(u.fn=a));let n="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||n)){if(g)!n&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],n||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=eh[m].length;p--;)t.unshift(c(o[p+1]));r=eh[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ec(r?u:g,e,i))}else{let t=ed(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&er(r)&&(r=`"${r}"`)}t=t.replace(s.find,ea(r,""))}),f?ec(t,e,i):t}function ep(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||t4.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):es(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),es(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||h.locale||t7.body.closest("[lang]")?.lang,g=JSON.stringify(c)+u;return o=(el[g]??(el[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/\,/g,s??",").replace(".",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let eu={dateFormat:function(t,e,i){return t8.dateFormat(t,e,i)},format:ec,helpers:eh,numberFormat:ep};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,L.Renderer=s)}}(n||(n={}));let eg=n,{clamp:ef,pick:em,pushUnique:ex,stableSort:ey}=ti;(h||(h={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(ey(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>r;)f=e[c=Math.floor(p)],ex(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(ey(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:em(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=ef(m-f.size*f.align,0,i-f.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),ey(o,a),o};let eb=h,{animate:ev,animObject:ek,stop:eM}=tV,{deg2rad:ew,doc:eS,svg:eA,SVG_NS:eT,win:eC,isFirefox:eP}=L,{addEvent:eO,attr:eE,createElement:eL,crisp:eD,css:eB,defined:eI,erase:ez,extend:eR,fireEvent:eN,getAlignFactor:eW,isArray:eG,isFunction:eX,isNumber:eH,isObject:eF,isString:eY,merge:ej,objectEach:eU,pick:eV,pInt:e_,pushUnique:e$,replaceNested:eZ,syncTimeout:eq,uniqueKey:eK}=ti;class eJ{_defaultGetter(t){let e=eV(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o={"text-align":t?.align},r=this.renderer,a=r.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let h=!i||eY(i)?i||"renderer":void 0;h&&(n&&e$(a,this),i=void 0);let l=eV(i,r[h],r),d=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*eW(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*eW(t.verticalAlign);return o[e?"translateX":"x"]=Math.round(d),o[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](o),this.placed=!0),this.alignAttr=o,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ek(eV(e,this.renderer.globalAnimation,!0)),o=s.defer;return eS.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eq(()=>{this.element&&ev(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eU(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&L.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=eS.createElementNS(eT,"tspan");eE(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=eS.createElementNS(eT,"tspan");a.textContent="​",eE(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eJ.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eU(t,function(e,i){l=!1,s||eM(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eK()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eR(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eD(i,e),n=eD(s,e);return eR(t,{x:a,y:n,width:eD(o,e)-a,height:eD(r,e)-n}),eI(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,u,g=[],f;eN(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eG(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eI(a.gradientUnits)&&(n=a,a=ej(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eU(a,function(t,e){"id"!==e&&g.push(e,t)}),eU(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=eK();let t=h[g]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tE.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eU(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eR(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=e_(t.width)),eR(this.styles,t),o&&!eA&&this.renderer.forExport&&delete t.width;let r=eP&&t.fontSize||null;r&&(eH(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=ej(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eB(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+e_(s[e])*eV(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,eM(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=eV(e,this.rotation,0),f=h.styledMode?n&&eJ.prototype.getStyle.call(n,"font-size"):l.fontSize;if(eI(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eB(e,{display:t})},eX(o)&&o("none"),i=n.getBBox?eR({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eX(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eN(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eW(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*ew,u=(e-90)*ew,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,k],[M,w]]=[h,l].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,C=T-m,P=s+c-d*x-k+M+c*b,O=P+x,E=O-r*b,L=E-x,D=Math.min(S,A,T,C),B=Math.min(P,O,E,L),I=Math.max(S,A,T,C)-D,z=Math.max(P,O,E,L)-B;return{x:D,y:B,width:I,height:z,polygon:[[S,P],[A,O],[T,E],[C,L]]}}getStyle(t){return eC.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eT,this.element="span"===e||"body"===e?eL(e):eS.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eN(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eO(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eY(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=ej(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eF(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=e_(t):""!==t&&(eE(i=eS.createElementNS(eT,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eJ.symbolCustomAttribs.forEach(function(i){e[i]=eV(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||eS.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eZ(eV(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eI(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eV(o,e.getAttribute("x"),0)+" "+eV(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eI(a)||eI(n))&&d.push("scale("+eV(a,1)+" "+eV(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,u;if(eI(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eI(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!eI(l=(h=n[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(e_(l)<=t||c&&(!eI(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}eJ.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eJ.prototype.strokeSetter=eJ.prototype.fillSetter,eJ.prototype.yGetter=eJ.prototype.xGetter,eJ.prototype.matrixSetter=eJ.prototype.rotationOriginXSetter=eJ.prototype.rotationOriginYSetter=eJ.prototype.rotationSetter=eJ.prototype.scaleXSetter=eJ.prototype.scaleYSetter=eJ.prototype.translateXSetter=eJ.prototype.translateYSetter=eJ.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eQ=eJ,{defined:e0,extend:e1,getAlignFactor:e2,isNumber:e3,merge:e5,pick:e6,removeEvent:e9}=ti;class e4 extends eQ{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e4.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=e2(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e3(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e5(t),e4.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eQ.prototype.css.call(this,t)}destroy(){e9(this.element,"mouseenter"),e9(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eQ.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=e6(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e6(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&e0(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e3(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e3(this.widthSetting)||!e3(this.heightSetting)||this.textAlign)&&e0(e.textStr)?e.getBBox(void 0,0):e4.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e1(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+e2(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e3(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e6(this.paddingLeft,t),i=e6(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e4.emptyBBox={width:0,height:0,x:0,y:0},e4.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e8,isNumber:e7,pick:it}=ti;function ie(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=it(o.r,i),h=it(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return ie(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:ii,roundedRect:is,square:ii,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:ir,SVG_NS:ia,win:ih}=L,{attr:il,extend:id,fireEvent:ic,isString:ip,objectEach:iu,pick:ig}=ti,im=(t,e)=>t.substring(0,e)+"…",ix=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=ig(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new t9(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(ir.createTextNode(this.unescapeEntities(s)));ip(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=il(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),il(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,im),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(ir.createTextNode(e),t);let s=ir.createElementNS(ia,"tspan");s.textContent="​",il(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,im)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===ih.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===ih.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),id(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),ic(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(n=a(i,g)),h=f(g,n&&n.length-1),p===u?p=u+1:h>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=n||a(e||i,g)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,im)}i&&i.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return iu(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:iy}=tA,{charts:ib,deg2rad:iv,doc:ik,isFirefox:iM,isMS:iw,isWebKit:iS,noop:iA,SVG_NS:iT,symbolSizes:iC,win:iP}=L,{addEvent:iO,attr:iE,createElement:iL,crisp:iD,css:iB,defined:iI,destroyObjectProperties:iz,extend:iR,isArray:iN,isNumber:iW,isObject:iG,isString:iX,merge:iH,pick:iF,pInt:iY,replaceNested:ij,uniqueKey:iU}=ti;class iV{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),iE(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iE(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ik.createTextNode("Created with Highcharts 12.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),iM&&t.getBoundingClientRect&&((n=function(){iB(t,{left:0,top:0}),h=t.getBoundingClientRect(),iB(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iO(iP,"resize",n))}definition(t){return new t9([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iM||iS)&&ik.getElementsByTagName("base").length){if(!iI(e)){let t=iU(),i=new t9([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ik.body);iB(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ik.elementFromPoint(6,6);e="hitme"===(s&&s.id),ik.body.removeChild(i)}if(e)return ij(iP.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iR({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iz(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iH({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ix(t).buildSVG()}getContrast(t){let e=tE.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iH(iy.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t9.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iH(m[0],t9.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iO(d.element,iw?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iO(d.element,iw?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iG(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iR({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iI(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iD(i[1],e)),iI(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iD(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iN(t)?e.d=t:iG(t)&&iR(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iG(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iG(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iG(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iR(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iE(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iF(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iW(e)&&(a.x=e),iW(i)&&(a.y=i),iW(s)&&(a.width=s),iW(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iP.Image;iO(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(n=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iR(a,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iR(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iF(r&&r.width,iC[h]&&iC[h].width),s.imgheight=iF(r&&r.height,iC[h]&&iC[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),iE(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iI(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iI(s.imgwidth)&&iI(s.imgheight)?l(s):(s.attr({width:0,height:0}),iL("img",{onload:function(){let t=ib[d.chartIndex];0===this.width&&(iB(this,{position:"absolute",top:"-999em"}),ik.body.appendChild(this)),iC[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iI(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iR(iV.prototype,{Element:eQ,SVG_NS:iT,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:io,draw:iA}),eg.registerRendererType("svg",iV,!0);let{composed:i_}=L,{attr:i$,css:iZ,createElement:iq,defined:iK,extend:iJ,getAlignFactor:iQ,isNumber:i0,pInt:i1,pushUnique:i2}=ti;function i3(t,e,i){let s=this.div?.style||i.style;eQ.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i5=(t,e)=>{if(!t.div){let i=i$(t.element,"class"),s=t.css,o=iq("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i3,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eQ.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i6 extends eQ{static compose(t){i2(i_,this.compose)&&(t.prototype.html=function(t,e,i){return new i6(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i1(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),i0(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iJ(this.styles,t),iZ(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:f}=n;if(iZ(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iZ(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iZ(t,{width:e>s||i||r?l+"px":"auto",display:g,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,iK(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iK(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,iQ(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${u+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??u)-x-u-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iZ(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iZ(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i5(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t9.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i9=i6.prototype;i9.visibilitySetter=i9.opacitySetter=i3,i9.ySetter=i9.rotationSetter=i9.rotationOriginXSetter=i9.rotationOriginYSetter=i9.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(l||(l={}));let i4=l,{addEvent:i8,isFunction:i7,objectEach:st,removeEvent:se}=ti;(d||(d={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},st(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(se(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i7(e)&&(t.eventOptions[i]=e,i8(t,i,e,{order:0})))})};let si=d,{deg2rad:ss}=L,{clamp:so,correctFloat:sr,defined:sa,destroyObjectProperties:sn,extend:sh,fireEvent:sl,getAlignFactor:sd,isNumber:sc,merge:sp,objectEach:su,pick:sg}=ti,sf=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sl(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=sg(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?sg(o[n],a[n],n):n);r&&sc(y)&&(y=sr(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:sc(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y};sl(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),eu.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),M=m&&m.list;M?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*ss))):(f=s-d*c,m=s+(1-d)*c,fn&&(u=n-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(h.styles||{}).width)&&(x=u)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(sh({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):su(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sg(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(sr(p)c)&&(i=0);let u=sg(i,this.label&&this.label.newOpacity,1);i=sg(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,u,t),this.isNew=!1,sl(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sg(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=sg(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=sg(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;n&&sc(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):u=!1,l&&s%l&&(u=!1),u&&sc(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sm}=tV,{xAxis:sx,yAxis:sy}=i4,{defaultOptions:sb}=tA,{registerEventOptions:sv}=si,{deg2rad:sk}=L,{arrayMax:sM,arrayMin:sw,clamp:sS,correctFloat:sA,defined:sT,destroyObjectProperties:sC,erase:sP,error:sO,extend:sE,fireEvent:sL,getClosestDistance:sD,insertItem:sB,isArray:sI,isNumber:sz,isString:sR,merge:sN,normalizeTickInterval:sW,objectEach:sG,pick:sX,relativeLength:sH,removeEvent:sF,splat:sY,syncTimeout:sj}=ti,sU=(t,e)=>sW(e,void 0,void 0,sX(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sE(sb,{xAxis:sx,yAxis:sN(sx,sy)});class sV{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sL(this,"init",{userOptions:e}),this.opposite=sX(e.opposite,this.opposite),this.side=sX(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sL(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sX(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sI(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sT(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sX(r.crosshair,sY(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sB(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sT(this.reversed)&&(this.reversed=!0),this.labelRotation=sz(a.rotation)?a.rotation:void 0,sv(this,r),sL(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sN(e,sb[this.coll],t),sL(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sz(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sb.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sL(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sz(a)||a instanceof Date||(o=o.filter(sz),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sX(e.dataMin,a),a),e.dataMax=Math.max(sX(e.dataMax,n),n)));else{let t=i.applyExtremes();sz(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sX(e.dataMin,a),a)),sz(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sX(e.dataMax,n),n)),sT(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sL(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sz(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-h)/p+n,l&&(u=a.lin2val(u))):(l&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*h+(sz(r)?p*r:0),a.isRadial||(u=sA(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sS(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sL(this,"getPlotLinePath",b,function(t){u=f=(c=sS(c=sX(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,g=m=h-c-d,sz(c)?e.horiz?(g=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=l-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sA(Math.floor(e/t)*t),n=sA(Math.ceil(i/t)*t),h=[];if(sA(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sA(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sX(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sz(s)&&sz(o)&&sz(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sM(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sw(l))-ot-e),t=sD([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sI(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sT(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sX(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sz(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sX(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sR(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sL(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sz(t)&&sz(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sz(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=h,y=sz(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,M=0,w,S=sz(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,C,P;if(r||e||y||this.getTickAmount(),C=sX(this.userMin,d.parse(h.min)),P=sX(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sX(w.min,w.dataMin),this.max=sX(w.max,w.dataMax),this.type!==y.type&&sO(11,!0,i)):(l&&sT(c)&&sz(s)&&sz(o)&&(o>=c?(A=c,k=0):s<=c&&(T=c,v=0)),this.min=sX(C,A,o),this.max=sX(P,T,s)),sz(this.max)&&sz(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sX(o,this.min))&&sO(10,!0,i),this.min=sA(n.log2lin(this.min),16),this.max=sA(n.log2lin(this.max),16)),this.range&&sz(o)&&(this.userMin=this.min=C=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sL(this,"foundExtremes"),this.adjustForMinRange(),sz(this.min)&&sz(this.max)){if(!sz(this.userMin)&&sz(x)&&xthis.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(M=this.max-this.min)||(!sT(C)&&k&&(this.min-=M*k),sT(P)||!v||(this.max+=M*v)),!sz(this.userMin)&&sz(g)&&(this.min=Math.max(this.min,g)),!sz(this.userMax)&&sz(u)&&(this.max=Math.min(this.max,u)),l&&sz(o)&&sz(s)){let t=c||0;!sT(C)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sT(P)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sT(h.min)?this.max=this.min:sT(h.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&sz(this.min)&&sz(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sX(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sL(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sL(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=sX(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sO(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sU(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sz(this.min)&&sz(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sL(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sL(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sz(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sz(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sz(this.threshold)){let t=sS((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sT(t.tickInterval)||i||!(this.lenr.push(sA(r[r.length-1]+p)),f=()=>r.unshift(sA(r[0]-p));if(sz(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&sz(s)&&sz(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sz(u)&&sz(t.threshold)){for(;r[u]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sL(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sL(this,"setExtremes",o=sE(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sH(sX(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sH(sX(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sH(sX(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sH(sX(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sA(t.lin2log(this.min)):this.min,max:t?sA(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sX(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sL(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sA(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sA(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sz(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(sk*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sE(a,{width:`${p}px`,lineClamp:u})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sT(this.min)&&sT(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sN(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sf(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sz(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,M;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sX(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sG(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sT(y=d.offset)?0:sX(d.margin,i?5:10))),t.renderLine(),t.offset=f*sX(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=M,k+=f*(i?sX(c.y,t.tickRotCorr.y+f*c.distance):sX(c.x,f*c.distance))),t.axisTitleMargin=sX(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[h]=Math.max(g[h],i)}sL(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+l:g+(n?this.width:0)+h+l,y:e?g+d-(n?this.height:0)+h:u+d};return sL(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sf(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sf(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=a.stackLabels,g=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sm(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sG(t,function(t){t.isActive=!1})}),sz(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sz(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sf(i,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sQ(t=s0("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(p||(p={}));let s1=p,{erase:s2,extend:s3,isNumber:s5}=ti;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!s5(this.min)||!s5(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s6.compose(oa,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){oi(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=s7(c)&&s7(d),v=s7(p),k=!m,M={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(M.stroke=o||"#999999",M["stroke-width"]=or(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):b&&(M.fill=o||"#e6e9ff",u&&(M.stroke=e.borderColor,M["stroke-width"]=u))),l.zIndex=a,w+="-"+a,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=n.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=n.path().attr(M).add(y)),s7(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s7(c)&&s7(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(oo(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(s7(g.text)||s7(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=os({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(os({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s8(h),c=s8(l),p=s4(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:s4(l)-c}),(!n.alignValue||"left"===n.alignValue||s7(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s7(t.formatter)?t.formatter.call(this):t.text}destroy(){oe(this.axis.plotLinesAndBands,this),delete this.axis,ot(this)}}let{animObject:on}=tV,{format:oh}=eu,{composed:ol,dateFormats:od,doc:oc,isSafari:op}=L,{distribute:ou}=eb,{addEvent:og,clamp:of,css:om,discardElement:ox,extend:oy,fireEvent:ob,isArray:ov,isNumber:ok,isObject:oM,isString:ow,merge:oS,pick:oA,pushUnique:oT,splat:oC,syncTimeout:oP}=ti;class oO{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oC(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),ox(this.container)),ti.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=oC(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+oA(t.colorIndex,o.colorIndex),r&&r.className].filter(ow).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=eg.getRendererType();this.container=a=L.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),om(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&L.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oc,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),M=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&oA(i.ttBelow,!d&&!n===S),T=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+g)}},C=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},P=function(t){[k,M]=[M,k],w=t},O=()=>{!1!==T.apply(0,k)?!1!==C.apply(0,M)||w||(P(!0),O()):w?u.x=u.y=0:(P(!0),O())};return(n&&!d||this.len>1)&&P(),O(),u}hide(t){let e=this;ti.clearTimeout(this.hideTimer),t=oA(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oP(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=oA(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=on(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=oC(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;ti.clearTimeout(this.hideTimer),this.allowShared=!(!ov(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=ow(h)?oh(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=oA(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:of(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ob(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?oc.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:M,top:w}=f.getChartPosition(),S=h+x,A=0,T=a-l;function C(t,e,s,o,r=!0){let a,n;return s?(a=k?0:T,n=of(t-o/2,y.left,y.right-o-(i.outside?M:0))):(a=e-S,n=of(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}ow(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,k&&(S-=A));let{anchorX:M,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+of(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=of(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=g?g.call(i,x,e,r):C(M,w,l,x);t.push({align:g?0:void 0,anchorX:M,anchorY:w,boxWidth:x,point:r,rank:oA(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!g&&P.some(t=>{let{outside:e}=i,s=(e?M:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=C(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return oy(t,{target:i,x:e})})),i.cleanSplit(),ou(P,T);let O={left:M,right:M};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&M+eO.right&&(O.right=M+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(O.right-O.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:E,outside:L,renderer:D}=i;if(L&&E&&D){let{width:t,height:e,x:i,y:s}=b.getBBox();D.setSize(t+i,e+s,!1),E.style.left=O.left+"px",E.style.top=w+"px"}op&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return ob(this,"headerFormatter",a,function(e){if(r&&!n&&ok(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(oM(n)){let t=n;od[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=oh(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,oS(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,h,n,t),g=L.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(u.x+=l-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(of(h+x,0,g.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(om(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-u.x,m+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),f,m)}}!function(t){t.compose=function(e){oT(ol,"Core.Tooltip")&&og(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oO||(oO={}));let oE=oO,{animObject:oL}=tV,{defaultOptions:oD}=tA,{format:oB}=eu,{addEvent:oI,crisp:oz,erase:oR,extend:oN,fireEvent:oW,getNestedProperty:oG,isArray:oX,isFunction:oH,isNumber:oF,isObject:oY,merge:oj,pick:oU,syncTimeout:oV,removeEvent:o_,uniqueKey:o$}=ti;class oZ{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oN({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oN(this,t=oZ.prototype.optionsToObject.call(this,t)),this.options=this.options?oN(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oZ.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oF(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oF(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oL(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(o_(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oR(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oV(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oW(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oG(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=o$()),this.resolveColor(),t.chart.pointCount++,oW(this,"afterInit")}isValid(){return(oF(this.x)||this.x instanceof Date)&&oF(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oF(t)||null===t)r[s[0]]=t;else if(oX(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oZ.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oF(i)&&oF(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oU(this.options.colorIndex,a),this.color=oU(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oY(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oB(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oY(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oY(l.data[o],!0)||oY(t,!0)?r.options:oU(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oU(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oU(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oj(this.series.options.point,this.options),i=e.events?.[t];oH(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oI(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(o_(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oD.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=oU(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oF(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,oU(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oj(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oU(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oN({fill:this.color||i.color,"fill-opacity":y.opacity},t9.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oW(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oz(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oq=oZ,{parse:oK}=tE,{charts:oJ,composed:oQ,isTouchDevice:o0}=L,{addEvent:o1,attr:o2,css:o3,extend:o5,find:o6,fireEvent:o9,isNumber:o4,isObject:o8,objectEach:o7,offset:rt,pick:re,pushUnique:ri,splat:rs}=ti;class ro{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!L.chartCount&&(ro.unbindDocumentMouseUp.forEach(t=>t.unbind()),ro.unbindDocumentMouseUp.length=0,ro.unbindDocumentTouchEnd&&(ro.unbindDocumentTouchEnd=ro.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o7(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o9(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o8(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(un+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oK("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o9(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o4(i.index)&&(this.selectionMarker=s.destroy())}i&&o4(i.index)&&(o3(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o8(r,!0)&&r.series&&(!o8(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&o4(o.x)&&o4(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=rt(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&re(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o9(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o6(t.points,function(t){return t.x===c.x&&!t.isNull});o8(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),o9(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o2(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o9(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):re(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o5(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o9(i.series,"click",o5(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o5(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o9(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),L.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oJ[re(ro.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oJ[re(ro.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&re(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(o9(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&rs(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&rs(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o1(s.container.ownerDocument,"mousemove",t=>oJ[ro.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=re((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o6(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o1(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o1(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ro.unbindDocumentMouseUp.some(t=>t.doc===e)||ro.unbindDocumentMouseUp.push({doc:e,unbind:o1(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o1(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o1(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o1(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ro.unbindDocumentTouchEnd||(ro.unbindDocumentTouchEnd=o1(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o1(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!o0)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=re(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o1(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o1(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o3(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o3(i,{"touch-action":re(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=L.charts[re(ro.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(ro.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),re(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=re(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}ro.unbindDocumentMouseUp=[],function(t){t.compose=function(e){ri(oQ,"Core.Pointer")&&o1(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(ro||(ro={}));let rr=ro,{fireEvent:ra,isArray:rn,objectEach:rh,uniqueKey:rl}=ti,rd=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||rl(),this.modified=this,this.rowCount=0,this.versionTag=rl();let e=0;rh(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,rh(this.columns,e=>{rn(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;rh(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ra(this,"afterSetColumns"),this.versionTag=rl())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;rh(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(ra(this,"afterSetRows"),this.versionTag=rl())}},{extend:rc,merge:rp,pick:ru}=ti;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,u],["L",n-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(ru(m.radius,d),d);0===l.indexOf("url")&&(m=rp(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,rc({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,ru(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(g||(g={}));let rg=g,{defaultOptions:rf}=tA,{extend:rm,extendClass:rx,merge:ry}=ti;!function(t){function e(e,i){let s=rf.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oq),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=L.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rf.plotOptions||{};if(s=s||"",n[i]=ry(n[s],o),delete t.seriesTypes[i],e(i,rx(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oq{}rm(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(f||(f={}));let rb=f,{animObject:rv,setAnimation:rk}=tV,{defaultOptions:rM}=tA,{registerEventOptions:rw}=si,{svg:rS,win:rA}=L,{seriesTypes:rT}=rb,{arrayMax:rC,arrayMin:rP,clamp:rO,correctFloat:rE,crisp:rL,defined:rD,destroyObjectProperties:rB,diffObjects:rI,erase:rz,error:rR,extend:rN,find:rW,fireEvent:rG,getClosestDistance:rX,getNestedProperty:rH,insertItem:rF,isArray:rY,isNumber:rj,isString:rU,merge:rV,objectEach:r_,pick:r$,removeEvent:rZ,syncTimeout:rq}=ti;class rK{constructor(){this.zoneAxis="y"}init(t,e){let i;rG(this,"init",{options:e}),this.dataTable??(this.dataTable=new rd);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rN(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rw(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=r$(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rF(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rG(this,"afterInit")}is(t){return rT[t]&&this instanceof rT[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rG(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(r$(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rF(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rR(18,!0,s)})}),rG(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=r$(this.pointInterval,i.pointInterval,1),o&&rj(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rj(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rN(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rD(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rV(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rG(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rM.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let u=rV(h,s.series,p,r);this.tooltipOptions=rV(rM.tooltip,rM.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=r$(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===h.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},a||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rD(g[g.length-1].value)&&g.push(a?{}:{color:this.color,fillColor:this.fillColor}),rG(this,"afterSetOptions",{options:u}),u}getName(){return r$(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rD(o=r$("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rM.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oq&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rW(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rj(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rj(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rD(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rj(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rC(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rV(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rY(t)&&(f||rj(t[0])));if(rj(i)&&rj(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rH(i,t),o=rH(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new rd:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rX([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rR(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rG(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rd({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rj(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rP(d),dataMax:rC(d)};return rG(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),r_(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rG(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=r$(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=r$(o.radius,s&&s.radius);e&&(n=s.states[e],l=r$((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rj(l)&&d&&(i.crisp&&(d[0]=rL(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,u=r$(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=r$((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,u+r$(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":u,fill:c,opacity:g=r$(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rA.navigator.userAgent),n=o.data||[];for(rG(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rz(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rB(t,void 0,!0);ti.clearTimeout(o.animationTimeout),r_(o,function(t,e){t instanceof eQ&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rz(r.series,o),r.orderItems("series"),r_(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rO(d.toPixels(r$(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,u=0,f=r.len,y=a.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(g(v),t&&g(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rD(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rD(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rZ(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rv(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rG(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rq(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rG(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rq(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rS?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rG(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=n.data,g=this.getColumn("x");e=r$(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=g.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,u,...Object.values(d.getColumns())].filter(rD).forEach(t=>{t.shift()}),d.rowCount-=1,rG(d,"afterDeleteRows"))),!1!==o&&rG(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rD).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rG(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rk(i,o),e=r$(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),r$(t,!0)&&r.redraw(e)}!1!==i?rG(o,"remove",null,a):a()}update(t,e){rG(this,"update",{options:t=rI(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rT[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rN(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rV(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rT[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rT[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rN(i,rT[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rR(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rG(this,"afterUpdate"),r$(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=r$(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rD(r)?i!==o:i!==r$(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rG(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rG(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=r$(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=r$(a[t].opacity,l)),o&&!o.dashstyle&&rj(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rG(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rG(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rg[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rK.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rK.types=rb.seriesTypes,rK.registerType=rb.registerSeriesType,rN(rK.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oq,requireSorting:!0,sorted:!0}),rb.series=rK;let rJ=rK,{animObject:rQ,setAnimation:r0}=tV,{registerEventOptions:r1}=si,{composed:r2,marginNames:r3}=L,{distribute:r5}=eb,{format:r6}=eu,{addEvent:r9,createElement:r4,css:r8,defined:r7,discardElement:at,find:ae,fireEvent:ai,isNumber:as,merge:ao,pick:ar,pushUnique:aa,relativeLength:an,stableSort:ah,syncTimeout:al}=ti;class ad{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r1(this,e),r9(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r9(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=ar(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ao(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=ar(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ao(!0,this.options,t)),"events"in this.options&&r1(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,ar(e,!0)&&i.redraw(),ai(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rJ||t instanceof oq)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ao(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,ai(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r7(e.translateY)?"animate":"attr"](o,void 0,()=>{ai(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&at(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r8(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?ar(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&ar(i.showInLegend,!r7(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),ai(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r7(t[a])&&(i[r3[a]]=Math.max(i[r3[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+ar(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=ae(a?t.points:t.points.slice(0).reverse(),function(t){return as(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),r5(i,e.plotHeight)))t=o.item.legendItem||{},as(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=an(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),ah(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),ai(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ao(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ao(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=ar(l.animation,!0),c=l.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=ar(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&r0(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),al(()=>{ai(this,"afterScroll",{currentPage:l})},rQ(ar(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oq,n=t instanceof rJ,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ao(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),ai(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&ai(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r4("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r9(t.checkbox,"click",function(e){let i=e.target;ai(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){aa(r2,"Core.Legend")&&r9(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(ad||(ad={}));let ac=ad,{animate:ap,animObject:au,setAnimation:ag}=tV,{defaultOptions:af}=tA,{numberFormat:am}=eu,{registerEventOptions:ax}=si,{charts:ay,doc:ab,marginNames:av,svg:ak,win:aM}=L,{seriesTypes:aw}=rb,{addEvent:aS,attr:aA,createElement:aT,css:aC,defined:aP,diffObjects:aO,discardElement:aE,erase:aL,error:aD,extend:aB,find:aI,fireEvent:az,getAlignFactor:aR,getStyle:aN,isArray:aW,isNumber:aG,isObject:aX,isString:aH,merge:aF,objectEach:aY,pick:aj,pInt:aU,relativeLength:aV,removeEvent:a_,splat:a$,syncTimeout:aZ,uniqueKey:aq}=ti;class aK{static chart(t,e,i){return new aK(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aH(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aj(t.zoomType,e.type),key:aj(t.zoomKey,e.key),pinchType:aj(t.pinchType,e.pinchType),singleTouch:aj(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aF(e.resetButton,t.resetZoomButton)}}init(t,e){az(this,"init",{args:arguments},function(){let i=aF(af,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aB({},t),(this.renderTo=aH(o)?ab.getElementById(o):o)||aD(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tb(aB(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||am).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ay.length,ay.push(this),L.chartCount++,ax(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),az(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=aw[i];s||aD(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=a$(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?a$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return az(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){az(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ag(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&az(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){az(t,"afterSetExtremes",aB(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),az(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),az(this,"redraw"),az(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aI(this.axes,i)||aI(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aj(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aF(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aB("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aF(o),n=i?.textPxLength||0;if(i&&r){az(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(a.width/n,1),f=Math.max(p,g),m=aF({y:"bottom"===d?h:u+h},{align:"title"===t?gp?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aR(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,az(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aN(this.renderTo,"width",!0)||0,height:aN(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aV(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(aC(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ab.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ab.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ab.body.appendChild(e)),("none"===aN(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),aC(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ab.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aq(),r=this.renderTo,a=aU(aA(r,s));aG(a)&&ay[a]&&ay[a].hasRendered&&ay[a].destroy(),aA(r,s,this.index),r.innerHTML=t9.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;aC(r,{overflow:"hidden"}),this.styledMode||(t=aB({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=aT("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||aC(l,{width:aj(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!ak?eg.getRendererType(i.renderer):iV;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ag(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,az(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!aP(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!aP(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),az(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),av.forEach(function(i,o){aP(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return aO(this.userOptions,af)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(ti.clearTimeout(e.reflowTimeout),e.reflowTimeout=aZ(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=aS(aM,"resize",e);aS(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ag(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ap:aC)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,az(s,"resize"),setTimeout(()=>{s&&az(s,"endResize")},au(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),az(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){az(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aX(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aj(e[i+s],o[r])})}),av.forEach(function(e,i){t[e]=aj(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",x||(M="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[M](u),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),M="animate",y||(M="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[M](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,az(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=aw[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=aw[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aH(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aj(t.options.visible,s.options.visible,t.visible))}}),az(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),az(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sf(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aj(i.reserveSpace,!aG(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aF(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(aM.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(az(e,"destroy"),e.renderer.forExport?aL(ay,e):ay[e.index]=void 0,L.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),a_(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t9.emptyHTML,a_(o),r&&aE(o)),aY(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aW(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),az(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),az(this,"load"),az(this,"render"),aP(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),az(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),aC(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aj(a[x],t.len),v=aj(s[x],t.len),k=10>Math.abs(b)?1:b/v,M=(s[y]||0)+v/2-t.pos,w=M-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:g*S),T=t.toValue(w+u/k,!0)-(r||t.isOrdinal?0:g*S||0),C=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===k&&!o&&"yAxis"===t.coll&&!C){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);C??(C={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aG(t.dataMin)&&aG(t.dataMax)&&(C.dataMin=Math.min(t.dataMin,C.dataMin),C.dataMax=Math.max(t.dataMax,C.dataMax))}t.allExtremes=C}let{dataMin:P,dataMax:O,min:E,max:L}=aB(t.getExtremes(),C||{}),D=l.parse(f.min),B=l.parse(f.max),I=P??D,z=O??B,R=T-A,N=t.categories?0:Math.min(R,z-I),W=I-N*(aP(D)?0:f.minPadding),G=z+N*(aP(B)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,H=Math.min(D??W,W,X?E:W),F=Math.max(B??G,G,X?L:G);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(A=1&&(T=A+R)),T>F&&(T=F,k>=1&&(A=T-R)),(o||t.series.length&&(A!==E||T!==L)&&A>=H&&T<=F)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:n,scale:k}),!o&&(A>H||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aB(aK.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aK.prototype.addAxis,[!0]],yAxis:[aK.prototype.addAxis,[!1]],series:[aK.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let aJ=aK,{stop:aQ}=tV,{composed:a0}=L,{addEvent:a1,createElement:a2,css:a3,defined:a5,erase:a6,merge:a9,pushUnique:a4}=ti;function a8(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new nt(this)),t?.applyFixed()}function a7(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class nt{static compose(t,e,i){a4(a0,this.compose)&&(a1(t,"afterInit",a7),a1(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a1(e,"render",a8),a1(i,"show",a7))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=a9(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),a5(s)&&(t.scrollablePlotBox=a9(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),a5(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=eg.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a2("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=a2("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=a2("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=a2("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),a3(t.renderTo,{overflow:"visible"}),a1(t,"afterShowResetZoom",r),a1(t,"afterApplyDrilldown",r),a1(t,"afterLayOutTitles",r),a1(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+u;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aQ(t.container),a3(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),a3(s,{width:`${r}px`,height:`${a}px`}),a5(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,M=l+c-p,w=d+h-u,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",M,y],["L",r,y],["L",r,v],["L",M,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,w],["L",b,a],["L",k,a],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=nt.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a4(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a6(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}nt.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:ne}=eu,{series:ni}=rb,{destroyObjectProperties:ns,fireEvent:no,getAlignFactor:nr,isNumber:na,pick:nn}=ti,nh=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){ns(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?ne(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:nn(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,no(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===nn(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&ni.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*nr(l.textAlign||"center"),rotationOriginY:t.height/2}),nn(!i&&l.crop,!0)&&(s=na(h.x)&&na(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}no(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*nr(i)-1),y:t.height/2*2*(1-nr(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:nn(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=nn(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||na(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:nl}=tV,{series:{prototype:nd}}=rb,{addEvent:nc,correctFloat:np,defined:nu,destroyObjectProperties:ng,fireEvent:nf,isNumber:nm,objectEach:nx,pick:ny}=ti;function nb(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,ny(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nv(){let t=this.stacking;if(t){let e=t.stacks;nx(e,(t,i)=>{ng(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function nk(){this.stacking||(this.stacking=new nC(this))}function nM(t,e,i,s){return!nu(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nw(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function nS(t,e,i){let s=e.total?100/e.total:0;t[0]=np(t[0]*s),t[1]=np(t[1]*s),this.stackedYData[i]=t[1]}function nA(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?nd.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nT(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,M=k.stacks,w=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&M[r]?.[e]?(r=M[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):np(S+Math.abs(g))):"group"===l?nm(u)&&S++:S=np(S+g),"group"===l?o.cumulative=(S||1)-1:o.cumulative=np(ny(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class nC{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{nx(t,t=>{t.cumulative=t.total})}))}resetStacks(){nx(this.stacks,t=>{nx(t,(e,i)=>{nm(e.touched)&&e.touched{nx(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(m||(m={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(nc(t,"init",nk),nc(t,"destroy",nv),s.getStacks=nb,o.getStackIndicator=nM,o.modifyStacks=nw,o.percentStacker=nS,o.setGroupedPoints=nA,o.setStackedPoints=nT)};let nP=m,{defined:nO,merge:nE,isObject:nL}=ti;class nD extends rJ{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nE({filterUnits:"userSpaceOnUse"},nL(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,u=l.plotY,g=t[d-1],f=l.isNull||"number"!=typeof u;(l.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),f&&!nO(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",g.plotX,u]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nD.defaultOptions=nE(rJ.defaultOptions,{legendSymbol:"lineMarker"}),rb.registerSeriesType("line",nD);let{seriesTypes:{line:nB}}=rb,{extend:nI,merge:nz,objectEach:nR,pick:nN}=ti;class nW extends nB{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nB.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(n.getThreshold(r.threshold)),g=nN(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],g=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?g[0]:g[1])+m,y=g[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?u:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?u:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;n4(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&n3(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(n0(s)){if(n5(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=n9(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=n9(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rJ.prototype.translate.apply(t),t.points.forEach(function(s){let o=n9(s.yBottom,g),m=999+Math.abs(o),x=s.plotX||0,y=nJ(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,M=d,w=x+c,S=f;h&&Math.abs(k)h?o-h:g-(b?h:0)),n0(s.options.pointWidth)&&(w-=Math.round(((M=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,M,s,l)),s.barX=w,s.pointWidth=M,s.tooltipPos=e.inverted?[nJ(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,k]:[r.left-e.plotLeft+w+S/2,nJ(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?g:v,S,s.isNull?0:k)}),n2(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=n9(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=n6(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nq(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=n9(a.opacity,u));let g={fill:l,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=hi(h)&&hi(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===hd(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&hi(h)&&(t.series.forceDL||a&&!p||c||hd(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=hs({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),hs(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(hh(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=hr(i.align)*(l.width-h.width),e.alignAttr.y+=hr(i.verticalAlign)*(l.height-h.height),e.attr({"text-align":e.alignAttr["text-align"]||"center"})[e.placed?"animate":"attr"]({x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(hd(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(hn(l)&&l||hn(a)&&a||"#000000"),c=h(i),{animation:p,defer:u}=c[0],g=u?ht(s,p,i):{defer:0,duration:0};ho(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let a=t.dataLabels||[];hp(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=hi(f=hd(n[t.formatPrefix+"Format"],n.format))?he(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(g.color=hd(n.color,g.color,hn(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),g.color=k||!hi(u)&&n.inside||0>hc(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),hl(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&hi(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&hi(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(n.shadow),ho(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),ho(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(ha(t)&&!ha(e))i=t.map(function(t){return hh(t,e)});else if(ha(e)&&!ha(t))i=e.map(function(e){return hh(t,e)});else if(ha(t)||ha(e)){if(ha(t)&&ha(e))for(s=Math.max(t.length,e.length);s--;)i[s]=hh(t[s],e[s])}else i=hh(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hp(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(x||(x={}));let hu=x,{composed:hg}=L,{series:hf}=rb,{merge:hm,pick:hx,pushUnique:hy}=ti;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hx(t.below,t.plotY>hx(this.translatedThreshold,h)),c=hx(i.inside,!!this.options.stacking);if(l){if(s=hm(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hT(hP.prototype,{drawTracker:hw.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hA(hP,"afterTranslate",function(){this.applyJitter()}),rb.registerSeriesType("scatter",hP);let{deg2rad:hO}=L,{fireEvent:hE,isNumber:hL,pick:hD,relativeLength:hB}=ti;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let u=[hD(r?.[0],"50%"),hD(r?.[1],"50%"),hD(l&&l<0?void 0:t.size,"100%"),hD(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rJ||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=hB(p,[s,o,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),hL(n)&&2*n0&&(u[3]=u[2]-2*n),hE(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=hL(t)?t:0,s=hL(e)&&e>i&&e-i<360?e:i+360;return{start:hO*(i+-90),end:hO*(s+-90)}}}(b||(b={}));let hI=b,{setAnimation:hz}=tV,{addEvent:hR,defined:hN,extend:hW,isNumber:hG,pick:hX,relativeLength:hH}=ti;class hF extends oq{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hR(this,"select",s),hR(this,"unselect",s)}isValid(){return hG(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hz(i,s.chart),e=hX(e,!0),this.sliced=this.options.sliced=t=hN(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hW(hF.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=hH(i.crookDistance,1);m=u?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hY}=hI,{noop:hj}=L,{clamp:hU,extend:hV,fireEvent:h_,merge:h$,pick:hZ}=ti;class hq extends rJ{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hZ(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:io.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hU((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||h$(!0,n,i),h$(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){h_(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hY(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}h_(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hq.defaultOptions=h$(rJ.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hV(hq.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:n7.prototype.drawTracker,getCenter:hI.getCenter,getSymbol:hj,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:n7.prototype.pointAttribs,pointClass:hF,requireSorting:!1,searchPoint:hj,trackerGroups:["group","dataLabelsGroup"]}),rb.registerSeriesType("pie",hq);let{composed:hK,noop:hJ}=L,{distribute:hQ}=eb,{series:h0}=rb,{arrayMax:h1,clamp:h2,defined:h3,pick:h5,pushUnique:h6,relativeLength:h9}=ti;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,u=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h0.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=h9(o?.distance||0,s);0===i&&d[t.half].push(t),!h3(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),hQ(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,M=0,w=y,S="inherit";if(x){if(u&&h3(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)M=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":M=p.alignToConnectors(e,a,s,r);break;case"plotEdges":M=p.alignToPlotEdges(l,a,s,r);break;default:M=p.radialDistributionX(t,i,w-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:M+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=M,x.computed.y=w-k,h5(d.crop,!0)){let t;M-(g=l.getBBox().width)s-b&&0===a&&(t=Math.round(M+g-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===h1(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;u=s.connector,a&&a.distance>0?(n=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[n?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h2(r,o,e[2]-Math.max(t[0],t[2])):(r=h2(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(k||(k={}));let{pointInPolygon:h8}=k,{addEvent:h7,fireEvent:lt,objectEach:le,pick:li}=ti;function ls(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(h8({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{le(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=li(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,lo(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let la={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=ls,h7(t,"render",lr))}},{defaultOptions:ln}=tA,{noop:lh}=L,{addEvent:ll,extend:ld,isObject:lc,merge:lp,relativeLength:lu}=ti,lg={radius:0,scope:"stack",where:void 0},lf=lh,lm=lh;function lx(t,e,i,s,o={}){let r=lf(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lu(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*a),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,u=n?a-i:a+i,g=u?Math.asin(i/u):0,f=n?g:-g,m=Math.cos(g)*u;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?u:p);return r}function ly(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=ln.plotOptions?.[this.type]?.borderRadius,o=lb(t.borderRadius,lc(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(lu(o.radius,n),n/2,"all"===u?h/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),ld(a,{brBoxHeight:c,brBoxY:d,r:g})}}}}function lb(t,e){return lc(t)||(t={radius:t||0}),lp(lg,e,t)}function lv(){let t=lb(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lu(t.radius,(i.r||0)-(i.innerR||0)))}}function lk(t,e,i,s,o={}){let r=lm(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,u=Math.max(c&&l,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],M=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=w(c,c-u);f[0]-=t,m[0]+=t,x[1]=M[1]=e+c-u}if(s=lT(i.minWidth,0)&&this.chartHeight>=lT(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lC()),this.matchResponsiveRule(t,o)},this);let a=lA(...o.map(t=>lS((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lM(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lw(s,{matchResponsiveRule:e,setResponsive:i}),t}}(M||(M={}));let lP=M;L.AST=t9,L.Axis=sV,L.Chart=aJ,L.Color=tE,L.DataLabel=hu,L.DataTableCore=rd,L.Fx=tz,L.HTMLElement=i6,L.Legend=ac,L.LegendSymbol=rg,L.OverlappingDataLabels=L.OverlappingDataLabels||la,L.PlotLineOrBand=oa,L.Point=oq,L.Pointer=rr,L.RendererRegistry=eg,L.Series=rJ,L.SeriesRegistry=rb,L.StackItem=nh,L.SVGElement=eQ,L.SVGRenderer=iV,L.Templating=eu,L.Tick=sf,L.Time=tb,L.Tooltip=oE,L.animate=tV.animate,L.animObject=tV.animObject,L.chart=aJ.chart,L.color=tE.parse,L.dateFormat=eu.dateFormat,L.defaultOptions=tA.defaultOptions,L.distribute=eb.distribute,L.format=eu.format,L.getDeferredAnimation=tV.getDeferredAnimation,L.getOptions=tA.getOptions,L.numberFormat=eu.numberFormat,L.seriesType=rb.seriesType,L.setAnimation=tV.setAnimation,L.setOptions=tA.setOptions,L.stop=tV.stop,L.time=tA.defaultTime,L.timers=tz.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;ll(t,"afterColumnTranslate",ly,{order:9}),ll(s,"afterTranslate",lv),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lf=o.arc,lm=o.roundedRect,o.arc=lx,o.roundedRect=lk}},optionsToObject:lb}).compose(L.Series,L.SVGElement,L.SVGRenderer),hb.compose(L.Series.types.column),hu.compose(L.Series),sK.compose(L.Axis),i6.compose(L.SVGRenderer),ac.compose(L.Chart),s1.compose(L.Axis),la.compose(L.Chart),h4.compose(L.Series.types.pie),oa.compose(L.Chart,L.Axis),rr.compose(L.Chart),lP.compose(L.Chart),nt.compose(L.Axis,L.Chart,L.Series),nP.compose(L.Axis,L.Chart,L.Series),oE.compose(L.Pointer),ti.extend(L,ti);let{tooltipFormatter:lO}=oq.prototype,{addEvent:lE,arrayMax:lL,arrayMin:lD,correctFloat:lB,defined:lI,isArray:lz,isNumber:lR,isString:lN,pick:lW}=ti;!function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach(function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||lN(e)||i.setCumulative(e,!1)}),lW(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],lW(e.series.tooltipOptions.changeDecimals,2)))};return lI(e.change)&&s("change"),lI(e.cumulativeSum)&&s("cumulativeSum"),lO.apply(this,[t])}function s(){let t;let e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new d(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function o(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&lz(i)&&i.length>=2&&(t=d.getCumulativeExtremes(i)),t&&(e.dataMin=lD(t),e.dataMax=lL(t))}}function r(t,e){this.options.compare=this.userOptions.compare=t,this.update({},lW(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(t=>{delete t.change})}function a(){let t=this.getColumn(this.pointArrayMap&&(this.options.pointValKey||this.pointValKey)||"y",!0);if(this.xAxis&&t.length&&this.dataModify){let e=this.getColumn("x",!0),i=this.dataTable.rowCount,s=!0===this.options.compareStart?0:1;for(let o=0;o=(this.xAxis.min||0)){this.dataModify.compareValue=i;break}}}}function n(t,e){this.setModifier("compare",t,e)}function h(t,e){t=lW(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},lW(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function l(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,d,c){let p=d.prototype,u=c.prototype,g=t.prototype;return g.setCompare||(g.setCompare=r,g.setCumulative=h,lE(t,"afterInit",s),lE(t,"afterGetExtremes",o),lE(t,"afterProcessData",a)),p.setCompare||(p.setCompare=n,p.setModifier=e,p.setCumulative=l,u.tooltipFormatter=i),t};class d{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce((t,s)=>{let o=t+s;return e=Math.min(e,o,t),i=Math.max(i,o,t),o}),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=lB(i.cumulativeSum+t));let s=this.series.points[e],o=s.series.options.cumulativeStart,r=s.x<=this.series.xAxis.max&&s.x>=this.series.xAxis.min;return s&&(!o||r?s.cumulativeSum=t:s.cumulativeSum=void 0),t}return 0}}}t.Additions=d}(w||(w={}));let lG=w,{isTouchDevice:lX}=L,{addEvent:lH,merge:lF,pick:lY}=ti,lj=[];function lU(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function lV(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=lY(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+lY(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function l_(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),lY(t.redraw,!0)&&this.redraw(t.animation))}function l$(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function lZ(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!lX&&"x"===this.zooming.type||lX&&"x"===this.zooming.pinchType))return!1}function lq(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function lK(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(lF(!0,this.options.navigator,e),lF(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let lJ={compose:function(t,e){if(ti.pushUnique(lj,t)){let s=t.prototype;i=e,s.callbacks.push(lq),lH(t,"afterAddSeries",lU),lH(t,"afterSetChartSize",lV),lH(t,"afterUpdate",l_),lH(t,"beforeRender",l$),lH(t,"beforeShowResetZoom",lZ),lH(t,"update",lK)}}},{isTouchDevice:lQ}=L,{addEvent:l0,correctFloat:l1,defined:l2,isNumber:l3,pick:l5}=ti;function l6(){this.navigatorAxis||(this.navigatorAxis=new l4(this))}function l9(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||lQ&&"xy"===a)&&this.options.range){let e=r.previousZoom;l2(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class l4{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),l0(t,"init",l6),l0(t,"setExtremes",l9))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=l5(i,o.translate(t,!0,!o.horiz)),n=l5(s,o.translate(e,!0,!o.horiz));return l2(i)||(a=l1(a+r)),l2(s)||(n=l1(n-r)),l3(a)&&l3(n)||(a=n=void 0),{min:a,max:n}}}let{parse:l8}=tE,{seriesTypes:l7}=rb,dt={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:l8("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===l7.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:de}=ti,di={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,a=de(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...io.rect(-r-1,.5,2*r+1,s,{r:a})]}},{defined:ds}=ti,dr={setFixedRange:function(t){let e=this.xAxis[0];ds(e.dataMax)&&ds(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{setOptions:da}=tA,{composed:dn}=L,{getRendererType:dh}=eg,{setFixedRange:dl}=dr,{addEvent:dd,extend:dc,pushUnique:dp}=ti;function du(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let dg={compose:function(t,e,i){l4.compose(e),dp(dn,"Navigator")&&(t.prototype.setFixedRange=dl,dc(dh().prototype.symbols,di),dd(i,"afterUpdate",du),da({navigator:dt}))}},{composed:df}=L,{addEvent:dm,defined:dx,pick:dy,pushUnique:db}=ti;!function(t){let e;function i(t){let e=dy(t.options&&t.options.min,t.min),i=dy(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:dx(t.dataMin)?Math.min(e,t.min,t.dataMin,dy(t.threshold,1/0)):e,scrollMax:dx(t.dataMax)?Math.max(i,t.max,t.dataMax,dy(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),dm(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:a,scrollMin:n,scrollMax:h}=i(t),l=h-n;if(dx(r)&&dx(a)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=n+l*this.to,o=n+l*this.from):(s=n+l*(1-this.from),o=n+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),a=this.scrollbar,n=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=n),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=n),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(r)||!dx(this.min)||!dx(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){db(df,"Axis.Scrollbar")&&(e=i,dm(t,"afterGetOffset",s),dm(t,"afterInit",o),dm(t,"afterRender",r))}}(S||(S={}));let dv=S,dk={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:dM}=tA,{addEvent:dw,correctFloat:dS,crisp:dA,defined:dT,destroyObjectProperties:dC,fireEvent:dP,merge:dO,pick:dE,removeEvent:dL}=ti;class dD{static compose(t){dv.compose(t,dD)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,dC(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let a=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),a.attr(a.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},a.strokeWidth()));let n=e.path(dD.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dO(dk,dM.scrollbar,e),this.options.margin=dE(this.options.margin,10),this.chart=i,this.size=dE(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dP(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dP(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){dL.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-dA(0,r),y:-dA(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(dD.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-dA(0,this.scrollbarStrokeWidth),-dA(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,a=o.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!dT(n))return;let l=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=dS(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dE(this.options.liveRedraw,L.svg&&!L.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!dT(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dP(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dO(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=dS(1-dS(e-t)),e=1),t<0&&(e=dS(e-t),t=0),this.from=t,this.to=e}}dD.defaultOptions=dk,dM.scrollbar=dO(!0,dD.defaultOptions,dM.scrollbar);let{defaultOptions:dB}=tA,{isTouchDevice:dI}=L,{prototype:{symbols:dz}}=iV,{addEvent:dR,clamp:dN,correctFloat:dW,defined:dG,destroyObjectProperties:dX,erase:dH,extend:dF,find:dY,fireEvent:dj,isArray:dU,isNumber:dV,merge:d_,pick:d$,removeEvent:dZ,splat:dq}=ti;function dK(t,...e){let i=[].filter.call(e,dV);if(i.length)return Math[t].apply(0,i)}class dJ{static compose(t,e,i){lJ.compose(t,dJ),dg.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-a,u=d+c,g=this.left,f,m;i?(f=d+e+n,e=d+t+n,m=[["M",g+c,d-h-n],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+l+h]],o&&m.push(["M",g+c,f-a],["L",g+c,e+a])):(g-=h,t+=g+h-n,e+=g+h-n,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+l+2*h,p]],o&&m.push(["M",t-a,p],["L",e+a,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,a,n;let h=this.left,l=this.top,d=this.height;i?(a=[h,h,h],n=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(a=[h,h+t,h+e],n=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(a))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=dz[l].call(dz,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(a)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(d_(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),dG(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{dZ(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(dR(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!dG(i))return;if(this.isDirty&&this.renderElements(),t=dW(t-a/2),e=dW(e+a/2),!dV(t)||!dV(e)){if(!l)return;i=0,s=d$(r.width,n.width)}this.left=d$(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=y=d$(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:y+2*u,i=d$(i,r.toPixels(t,!0)),s=d$(s,r.toPixels(e,!0)),dV(i)&&Math.abs(i)!==1/0||(i=0,s=g);let k=r.toValue(i,!0),M=r.toValue(s,!0),w=Math.abs(dW(M-k));wp&&(this.grabbedLeft?i=r.toPixels(M-p-a,!0):this.grabbedRight&&(s=r.toPixels(k+p+a,!0))),this.zoomedMax=dN(Math.max(i,s),0,v),this.zoomedMin=dN(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,dj(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(dR(e.renderTo,"mousemove",o),dR(i.ownerDocument,"mouseup",r),dR(e.renderTo,"touchmove",o),dR(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(dR(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(dR(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,dG((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&dj(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&d$(e.scrollbar.options.liveRedraw,!dI&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a;let n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),dG((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&dj(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&dV(this.zoomedMin)&&dV(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){dZ(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&dZ(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,a=s&&i.height||0,n=r&&o.height||0,h=o.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=a,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new sV(t,d_({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:a}:{offsets:e,height:a}),"xAxis"),l.yAxis=new sV(t,d_(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:d$(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:a}:{height:a}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=dR(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,a=dK("min",s.options.min,o.dataMin),n=dK("max",s.options.max,o.dataMax)-a;return i?e*n/r+a:r*(e-a)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=l4.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=d_(t.options.scrollbar,{vertical:t.inverted});!dV(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new dD(t.renderer,e,t),dR(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=d$(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,a=i.options;return t&&null===i.dataMin||(e={dataMin:d$(s.parse(r?.min),dK("min",s.parse(a.min),i.dataMin,o.dataMin,o.min)),dataMax:d$(s.parse(r?.max),dK("max",s.parse(a.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?dY(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(dZ(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=dF({color:t.color,visible:t.visible},dU(l)?dB.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(n=t.options||{}).navigatorOptions||{},p.dataLabels=dq(p.dataLabels),(h=d_(n,r,p,d)).pointRange=d$(p.pointRange,d.pointRange,dB.plotOptions[h.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,h.data=u||n.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,a.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||dU(l))&&(i.hasNavigatorData=!1,(l=dq(l)).forEach((t,e)=>{r.name="Navigator "+(a.length+1),(h=d_(dB.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(dR(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(dR(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(dR(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(dR(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(dR(i,"remove",function(){e&&dH(e,i),this.navigatorSeries&&t.series&&(dH(t.series,this.navigatorSeries),dG(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=d$(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&dV(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=d$(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(dV(o)&&dV(r))&&(a&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{dX(t)}),this.navigatorEnabled=!1}}let{addEvent:dQ,correctFloat:d0,css:d1,defined:d2,error:d3,isNumber:d5,pick:d6,timeUnits:d9,isString:d4}=ti;!function(t){function e(t,i,s,o,r=[],a=0,n){let h={},l=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,f,m,x=0,y=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*a||m){if(r[p]>b){for(u=d.getTimeTicks(t,r[x],r[p],o);u.length&&u[0]<=b;)u.shift();u.length&&(b=u[u.length-1]),c.push(y.length),y=y.concat(u)}x=p+1}if(m)break}if(u){if(f=u.info,n&&f.unitRange<=d9.hour){for(x=1,p=y.length-1;xt-e),(n=i[Math.floor(i.length/2)])<.6*l&&(n=null),c=y[t-1]>s?t-1:t,a=void 0;c--;)d=Math.abs(a-(r=e[c])),a&&d<.8*l&&(null===n||d<.8*n)?(h[y[c]]&&!h[y[c+1]]?(o=c+1,a=r):o=c,y.splice(o,1)):a=r}return y}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=d0((t-i)*s+this.minPixelPadding),a=d0(e.getIndexOfPoint(r,o)),n=d0(a%1);if(a>=0&&a<=o.length-1){let t=o[Math.floor(a)],e=o[Math.ceil(a)];return o[Math.floor(a)]+n*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function a(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&d2(e.overscroll)&&0!==e.overscroll&&d5(this.max)&&d5(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&d2(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function n(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function h(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function l(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let a=this.mouseDownX,n=e.getExtremes(),h=n.dataMin,l=n.dataMax,d=n.min,c=n.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((a-s)/(e.translationSlope*(e.ordinal.slope||u))),f=e.ordinal.getExtendedPositions(),m={ordinal:{positions:f,extendedOrdinalPositions:f}},x=e.index2val,y=e.val2lin;if(d<=h&&g<0||c+i>=l&&g>0)return;m.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),l>(o=m.ordinal.positions)[o.length-1]&&o.push(l),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(m,[y.apply(m,[d,!0])+g]),x.apply(m,[y.apply(m,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,d1(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,a=s.slope,n;if(!r)return t;let h=r.length;if(r[0]<=t&&r[h-1]>=t)i=o(r,t);else{if(!((n=s.getExtendedPositions&&s.getExtendedPositions())&&n.length))return t;let h=n.length;a||(a=(n[h-1]-n[0])/h);let l=o(n,r[0]);if(t>=n[0]&&t<=n[h-1])i=o(n,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(y=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(n=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),f=Math.min(f,d6(t.closestPointRange,f)),n)){for(e=0;e2){for(l=g[1]-g[0],u=n-1;u--&&!m;)g[u+1]-g[u]!==l&&(m=!0);!t.options.keepOrdinalPadding&&(g[0]-s>l||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=d6(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),a=t?i.ordinal.convertOverscroll(i.options.overscroll):0,n=i.getExtremes(),h,l,d=e.index;return d||(d=e.index={}),!d[r]&&((h={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:n.dataMin,max:n.dataMax+a}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=h,i.series.forEach(i=>{l={xAxis:h,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:L.noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);l.dataTable=new rd({columns:{x:s}}),l.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},h.series.push(l),i.processData.apply(l)}),h.applyGrouping({hasExtremesChanged:!0}),l?.closestPointRange!==l?.basePointRange&&l.currentDataGrouping&&(h.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:h}),!i.ordinal.originalOrdinalRange&&h.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=h.ordinal.originalOrdinalRange),h.ordinal.positions&&(d[r]=h.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],a,n,h=this.groupIntervalFactor;if(!h){for(n=0;nt()),cl.splice(t,1);return}}}function cm(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function cx(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,o=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!cs(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new s(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}}let cy={compose:function(t,e,i){if(s=i,ch(ce,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=cd,ci(e,"afterGetContainer",cp),ci(e,"beforeRender",cu),ci(e,"destroy",cf),ci(e,"getMargins",cm),ci(e,"redraw",cg),ci(e,"update",cx),ci(e,"beforeRedraw",cc),i.callbacks.push(cg),co(ct,{rangeSelector:d7.rangeSelector}),co(ct.lang,d7.lang)}}},{defaultOptions:cb}=tA,{addEvent:cv,createElement:ck,css:cM,defined:cw,destroyObjectProperties:cS,diffObjects:cA,discardElement:cT,extend:cC,fireEvent:cP,isNumber:cO,isString:cE,merge:cL,objectEach:cD,pick:cB,splat:cI}=ti;function cz(t){let e=e=>RegExp(`%[[a-zA-Z]*${e}`).test(t);if(cE(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=cE(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=cE(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class cR{static compose(t,e){cy.compose(t,e,cR)}constructor(t){this.isDirty=!1,this.buttonOptions=cR.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=cO(o?.max)?Math.round(Math.min(o.max,l??o.max)):void 0,p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,sV.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),cO(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)cO(c)&&(c=Math.min((d=Math.max(c-u,h))+u,l),x=!1);else if("ytd"===a){if(o)!o.hasData()||cO(l)&&cO(h)||(h=Number.MAX_VALUE,l=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(h=Math.min(e[0],h),l=Math.max(e[e.length-1],l))}),e=!1),cO(l)&&cO(h)&&(d=g=(m=this.getYTDExtremes(l,h)).min,c=m.max);else{this.deferredYTDClick=t;return}}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&cw(d)&&(d+=s._offsetMin),s._offsetMax&&cw(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)cO(d)&&cO(c)&&(o.setExtremes(d,c,cB(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=cI(i.options.xAxis||{})[0];let t=cv(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});cv(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}cP(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&cP(t,"blur"),i&&i.blur&&cP(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(cv(t.container,"mousedown",r)),this.eventsToUnbind.push(cv(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(cv(t,"load",function(){t.xAxis&&t.xAxis[0]&&cv(t.xAxis[0],"setExtremes",function(i){cO(this.max)&&cO(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),a=!o.hasVisibleSeries,n=24*36e5,h=e.scroller&&e.scroller.getUnionExtremes()||o,l=h.dataMin,d=h.dataMax,c=t.getYTDExtremes(d,l),p=c.min,u=c.max,g=t.selected,f=t.options.allButtonsEnabled,m=Array(t.buttonOptions.length).fill(0),x=cO(g),y=t.buttons,b=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,h=e.type,c=e.count||1,y=e._offsetMax-e._offsetMin,k=i===g,M=s>d-l,w=ss&&(A=!0)}else("month"===h||"year"===h)&&r+36e5>=({month:28,year:365})[h]*n*c-y&&r-36e5<=({month:31,year:366})[h]*n*c+y?A=!0:"ytd"===h?(A=u-p+y===r,S=!k):"all"===h&&(A=o.max-o.min>=d-l);let T=!f&&!(b&&"all"===h)&&(M||w||a),C=b&&"all"===h||!S&&A||k&&t.frozenStates;T?m[i]=3:C&&(!x||i===g)&&(v=i)}),null!==v?(m[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(cb.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:ch&&(c=h)),void 0!==c&&r.setExtremes(l?c:r.min,l?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=h[l?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=a.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?n.inputBoxHeight:0}).add(s),u=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:n.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=ck("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",cz(n.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(cL(r,n.labelStyle)),u.css(cL({color:"#333333"},r,n.inputStyle)),cM(g,cC({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},n.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===L.doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let f=!1;return g.onchange=()=>{f||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{f=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=cB(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=ck("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(cw(o.dataMin)&&cw(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=cb.lang,o=e.renderer,r=cL(i.buttonTheme),a=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let n=this.dropdown=ck("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),h=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},cL(r,{"stroke-width":cB(r["stroke-width"],0),width:"auto",paddingLeft:cB(i.buttonTheme.paddingLeft,h?.padding,8),paddingRight:cB(i.buttonTheme.paddingRight,h?.padding,8)}),a&&a.hover,a&&a.select,a&&a.disabled).hide().add(this.group),cv(n,"touchstart",()=>{n.style.fontSize="16px"});let l=L.isMS?"mouseover":"mouseenter",d=L.isMS?"mouseout":"mouseleave";cv(n,l,()=>{cP(this.dropdownLabel.element,l)}),cv(n,d,()=>{cP(this.dropdownLabel.element,d)}),cv(n,"change",()=>{cP(this.buttons[n.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),ck("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n),this.createButtons()}createButtons(){let{options:t}=this,e=cL(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:a,options:n}=this,h=a.renderer,l=cL(n.buttonTheme);o?.add(ck("option",{textContent:t.title||t.text}),e+2),r[e]=h.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},l,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:a}=this,n=i.options,h=n.exporting&&!1!==n.exporting.enabled&&n.navigation&&n.navigation.buttonOptions,{buttonPosition:l,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>h&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(h.y||0)+(h.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&l&&d){let n=l.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;a&&(t+=a.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,l,"right"===l.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let h=0;r.inputEnabled&&o&&(h=p(o,d,"right"===l.align||"right"===d.align),"left"===d.align?n=u:"right"===d.align&&(n=-Math.max(i.axisOffset[1],-h)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+n-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(h),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,f=s.getBBox().height+20,m=0;if("bottom"===c){let t=i.legend&&i.legend.options;m=g-(f=f+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+cB(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===l.y?m=g:(d.y||l.y)&&(d.y<0||l.y<0?m-=Math.min(d.y,l.y):m=g-f)),s.translate(r.x,r.y+Math.floor(m));let{minInput:x,maxInput:y,dropdown:b}=this;r.inputEnabled&&x&&y&&(x.style.marginTop=s.translateY+"px",y.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=cL(s.buttonTheme),r=o&&o.states,a=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(cA(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,a,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i&&(a.align===o.align?(n(),this.initialButtonGroupWidth>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):this.initialButtonGroupWidth-t+s.getBBox().width>e.plotWidth?"responsive"===r?this.collapseButtons():n():this.expandButtons()),i&&("always"===r&&this.collapseButtons(),"never"===r&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),cM(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),cM(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;let h=Math.min(a,r);return(a<0&&r<0||a>0&&r>0)&&(n+=Math.abs(h)),n}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(cL(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),cw(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),cS(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),cD(t,function(e,i){e&&"chart"!==i&&(e instanceof eQ?e.destroy():e instanceof window.HTMLElement&&cT(e),delete t[i]),e!==cR.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}cC(cR.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let{format:cN}=eu,{getOptions:cW}=tA,{setFixedRange:cG}=dr,{addEvent:cX,clamp:cH,crisp:cF,defined:cY,extend:cj,find:cU,isNumber:cV,isString:c_,merge:c$,pick:cZ,splat:cq}=ti;function cK(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!!(e.categories||"category"===e.type),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function cJ(t,e){if("xAxis"===t){let t=cZ(e.navigator&&e.navigator.enabled,dt.enabled,!0),i={type:"datetime",categories:void 0};return t&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class cQ extends aJ{init(t,e){let i=cW(),s=t.xAxis,o=t.yAxis,r=cZ(t.navigator&&t.navigator.enabled,dt.enabled,!0);t.xAxis=t.yAxis=void 0;let a=c$({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:cZ(dk.enabled,!0)},rangeSelector:{enabled:cZ(d7.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:cZ(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=s,t.yAxis=o,a.xAxis=cq(t.xAxis||{}).map(e=>c$(cK("xAxis",e,i.xAxis),e,cJ("xAxis",t))),a.yAxis=cq(t.yAxis||{}).map(t=>c$(cK("yAxis",t,i.yAxis),t)),super.init(a,e)}createAxis(t,e){return e.axis=c$(cK(t,e.axis,cW()[t]),e.axis,cJ(t,this.userOptions)),super.createAxis(t,e)}}cX(aJ,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(c$(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),function(t){function e(t){if(!(this.crosshair?.label?.enabled&&this.cross&&cV(this.min)&&cV(this.max)))return;let e=this.chart,i=this.logarithmic,s=this.crosshair.label,o=this.horiz,r=this.opposite,a=this.left,n=this.top,h=this.width,l="inside"===this.options.tickPosition,d=!1!==this.crosshair.snap,c=t.e||this.cross?.e,p=t.point,u=this.crossLabel,g,f,m=s.format,x="",y,b=0,v=this.min,k=this.max;i&&(v=i.lin2log(this.min),k=i.lin2log(this.max));let M=o?"center":r?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";u||(u=this.crossLabel=e.renderer.label("",0,void 0,s.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(p&&p.series?p.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:s.align||M,padding:cZ(s.padding,8),r:cZ(s.borderRadius,3),zIndex:2}).add(this.labelGroup),e.styledMode||u.attr({fill:s.backgroundColor||p&&p.series&&p.series.color||"#666666",stroke:s.borderColor||"","stroke-width":s.borderWidth||0}).css(cj({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},s.style||{}))),o?(g=d?(p.plotX||0)+a:c.chartX,f=n+(r?0:this.height)):(g=a+this.offset+(r?h:0),f=d?(p.plotY||0)+n:c.chartY),m||s.formatter||(this.dateTime&&(x="%b %d, %Y"),m="{value"+(x?":"+x:"")+"}");let w=d?this.isXAxis?p.x:p.y:this.toValue(o?c.chartX:c.chartY),S=p&&p.series?p.series.isPointInside(p):cV(w)&&w>v&&w=y.right&&(b=-(C+T.width-y.right)),u.attr({x:Math.max(0,g+b),y:Math.max(0,f),anchorX:o?g:this.opposite?0:e.chartWidth,anchorY:o?this.opposite?e.chartHeight:0:f+T.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function o(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function r(t){let e=this,i=e.isLinked&&!e.series&&e.linkedParent?e.linkedParent.series:e.series,s=e.chart,o=s.renderer,r=e.left,a=e.top,n=[],h=t.translatedValue,l=t.value,d=t.force,c,p,u,g,f=[],m,x;if(s.options.isStock&&!1!==t.acrossPanes&&"xAxis"===e.coll||"yAxis"===e.coll){for(let o of(t.preventDefault(),f=(t=>{let o="xAxis"===t?"yAxis":"xAxis",r=e.options[o];return cV(r)?[s[o][r]]:c_(r)?[s.get(r)]:i.map(t=>t[o])})(e.coll),e.isXAxis?s.yAxis:s.xAxis))if(!o.options.isInternal){let t=o.isXAxis?"yAxis":"xAxis";e===(cY(o.options[t])?s[t][o.options[t]]:s[t][0])&&f.push(o)}for(let t of(m=f.length?[]:[e.isXAxis?s.yAxis[0]:s.xAxis[0]],f))-1!==m.indexOf(t)||cU(m,e=>e.pos===t.pos&&e.len===t.len)||m.push(t);if(cV(x=cZ(h,e.translate(l||0,void 0,void 0,t.old)))){if(e.horiz)for(let t of m){let i;g=(p=t.pos)+t.len,c=u=Math.round(x+e.transB),"pass"!==d&&(cr+e.width)&&(d?c=u=cH(c,r,r+e.width):i=!0),i||n.push(["M",c,p],["L",u,g])}else for(let t of m){let i;u=(c=t.pos)+t.len,p=g=Math.round(a+e.height-x),"pass"!==d&&(pa+e.height)&&(d?p=g=cH(p,a,a+e.height):i=!0),i||n.push(["M",c,p],["L",u,g])}}t.path=n.length>0?o.crispPolyLine(n,t.lineWidth||1):void 0}}function a(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=c$(t.plotOptions[this.type],e))}}function n(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&cZ(e.enabled,t.options.isStock)}function h(t,e){for(let i=0;i`plot${t.charAt(0).toUpperCase()+t.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(i,r){let a=o[i];null!==a&&(t.dataModify&&(a=t.dataModify.modifyValue(a)),o[s[r]]=e.toPixels(a,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}c9.defaultOptions=c6(c2.defaultOptions,{lineWidth:1,tooltip:{pointFormat:' {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),c5(c9.prototype,{pointClass:class extends c1{},animate:null,directTouch:!1,keysAffectYAxis:["low","high"],pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),rb.registerSeriesType("hlc",c9);let{seriesTypes:{hlc:c4}}=rb;class c8 extends c4.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}),ps(ph.prototype,{pointClass:c8,pointArrayMap:["open","high","low","close"]}),rb.registerSeriesType("ohlc",ph);let{column:pl,ohlc:pd}=rb.seriesTypes,{crisp:pc,merge:pp}=ti;class pu extends pd{pointAttribs(t,e){let i=pl.prototype.pointAttribs.call(this,t,e),s=this.options,o=t.openo&&(i-=Math.round((r-o)/2),o=r),n=t[e](i,s,o,r,a),h&&l){let a=h;if("circle"===e)a=i+o/2;else{let t=n[0],e=n[1];"M"===t[0]&&"L"===e[0]&&(a=(t[1]+e[1])/2)}let d=s>l?s:s+r;n.push(["M",a,d],["L",h,l]),n=n.concat(t.circle(h-1,l-1,2,2))}return n}}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let o=t.prototype.symbols;o.flag=i,s(o,"circle"),s(o,"square")}let o=eg.getRendererType();e.indexOf(o)&&e.push(o)}}(T||(T={}));let px=T,{composed:py}=L,{prototype:pb}=n7,{prototype:pv}=rJ,{defined:pk,pushUnique:pM,stableSort:pw}=ti;!function(t){function e(t){return pv.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){pb.translate.apply(this);let t=this,e=t.options,i=t.chart,s=t.points,o=e.onSeries,r=o&&i.get(o),a=r&&r.options.step,n=r&&r.points,h=i.inverted,l=t.xAxis,d=t.yAxis,c=s.length-1,p,u,g=e.onKey||"y",f=n&&n.length,m=0,x,y,b,v,k;if(r&&r.visible&&f){for(m=(r.pointXOffset||0)+(r.barW||0)/2,v=r.currentDataGrouping,y=n[f-1].x+(v?v.totalRange:0),pw(s,(t,e)=>t.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);f--&&s[c];)if(x=n[f],(p=s[c]).y=x.y,x.x<=p.x&&void 0!==x[g]){if(p.x<=y&&(p.plotY=x[g],x.xMath.pow(1-o,3)*t[r]+3*(1-o)*(1-o)*o*i[r]+3*(1-o)*o*o*s[r]+o*o*o*e[r],r=0,a=1,n;for(let t=0;t<100;t++){let t=(r+a)/2,e=o(t,0);if(null===e)break;if(.25>Math.abs(e-p.plotX)){n=t;break}e{let o;e.plotX+=m,(void 0===e.plotY||h)&&(e.plotX>=0&&e.plotX<=l.len?h?(e.plotY=l.translate(e.x,0,1,0,1),e.plotX=pk(e.y)?d.translate(e.y,0,0,0,1):0):e.plotY=(l.opposite?0:t.yAxis.len)+l.offset:e.shapeArgs={}),(u=s[i-1])&&u.plotX===e.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),o=u.stackIndex+1),e.stackIndex=o}),this.onSeries=r}t.compose=function(t){if(pM(py,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(C||(C={}));let pS=C,{noop:pA}=L,{distribute:pT}=eb,{series:pC,seriesTypes:{column:pP}}=rb,{addEvent:pO,defined:pE,extend:pL,isNumber:pD,merge:pB,objectEach:pI,wrap:pz}=ti;class pR extends pP{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,h,l,d;let c=this.points,p=this.chart,u=p.renderer,g=p.inverted,f=this.options,m=f.y,x=this.yAxis,y={},b=[],v=pD(f.borderRadius)?f.borderRadius:0;for(s=c.length;s--;)o=c[s],l=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||f.shape,void 0!==(e=o.plotY)&&(e=o.plotY+m-(void 0!==a&&a*f.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&t>=0&&!l?(r&&o.hasNewShapeType()&&(r=r.destroy()),r||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,f.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:f.width,height:f.height,"text-align":f.textAlign,r:v}),p.styledMode||r.attr(this.pointAttribs(o)).css(pB(f.style,o.style)).shadow(f.shadow),t>0&&(t-=r.strokeWidth()%2),h={y:e,anchorY:n},f.allowOverlapX&&(h.x=t,h.anchorX=o.anchorX),r.attr({text:o.options.title??f.title??"A"})[r.isNew?"attr":"animate"](h),f.allowOverlapX||(y[o.plotX]?y[o.plotX].size=Math.max(y[o.plotX].size,r.width||0):y[o.plotX]={align:d?.5:0,size:r.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+x.pos-p.plotTop]):r&&(o.graphic=r.destroy());if(!f.allowOverlapX){let t=100;for(let e of(pI(y,function(e){e.plotX=e.anchorX,b.push(e),t=Math.max(e.size,t)}),pT(b,g?x.len:this.xAxis.len,t),c)){let t=e.plotX,i=e.graphic,s=i&&y[t];s&&i&&(pE(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}f.useHTML&&this.markerGroup&&pz(this.markerGroup,"on",function(t){return eQ.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=pO(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,r=t&&t.lineWidth,a=t&&t.fillColor||i.fillColor;return e&&(a=i.states[e].fillColor,o=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:a||s,stroke:o||s,"stroke-width":r||i.lineWidth||0}}setClip(){pC.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}pR.compose=px.compose,pR.defaultOptions=pB(pP.defaultOptions,{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}),pS.compose(pR),pL(pR.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:pm,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:pA,init:pC.prototype.init}),rb.registerSeriesType("flags",pR);let{addEvent:pN,find:pW,fireEvent:pG,isArray:pX,isNumber:pH,pick:pF}=ti;!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,a;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(a&&!1!==a.visible||(a=i[r+1]),t=i[r],!1!==a.visible&&!1!==t.visible){if(a.x-t.x>o){let e=(t.x+a.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new nh(s,s.options.stackLabels,!1,e,this.stack)).total=0)}a=t}}return this.getGraphPath(i)}t.compose=function(t,l){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),pN(t,"init",o),pN(t,"afterInit",e),pN(t,"afterSetTickPositions",s),pN(t,"afterSetOptions",i);let d=l.prototype;d.drawBreaks=n,d.gappedPath=h,pN(l,"afterGeneratePoints",r),pN(l,"afterRender",a)}return t};class l{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(l.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return pW(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==l.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=l.lin2Val,s.val2lin=l.val2Lin,s.setExtremes=function(t,e,o,r,a){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=h;for(;pthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function p9(){this.series.forEach(function(t){t.hasProcessed=!1})}function p4(t,e){let i;if(e=p3(e,!0),t||(t={forced:!1,units:null}),this instanceof o)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:p2(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}let p8={compose:function(t){o=t;let e=t.prototype;e.applyGrouping||(p0(t,"afterSetScale",p9),p0(t,"postProcessData",p5),p1(e,{applyGrouping:p5,getGroupPixelWidth:p6,setDataGrouping:p4}))}},{series:{prototype:p7}}=rb,{addEvent:ut,defined:ue,error:ui,extend:us,isNumber:uo,merge:ur,pick:ua,splat:un}=ti,uh=p7.generatePoints;function ul(t){var e;let i,s;let o=this.chart,r=this.options.dataGrouping,a=!1!==this.allowDG&&r&&ua(r.enabled,o.options.isStock),n=this.reserveSpace(),h=this.currentDataGrouping,l,d,c=!1;a&&!this.requireSorting&&(this.requireSorting=c=!0);let p=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!a;if(c&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let u=r.groupAll?this.dataTable:this.dataTable.modified||this.dataTable,g=this.getColumn("x",!r.groupAll),f=o.plotSizeX,m=this.xAxis,x=m.getExtremes(),y=m.options.ordinal,b=this.groupPixelWidth;if(b&&g&&u.rowCount&&f&&uo(x.min)){s=!0,this.isDirty=!0,this.points=null;let t=x.min,a=x.max,h=y&&m.ordinal&&m.ordinal.getGroupIntervalFactor(t,a,this)||1,c=b*(a-t)/f*h,p=m.getTimeTicks(sK.Additions.prototype.normalizeTimeTickInterval(c,r.units||pQ.units),Math.min(t,g[0]),Math.max(a,g[g.length-1]),m.options.startOfWeek,g,this.closestPointRange),v=p7.groupData.apply(this,[u,p,r.approximation]),k=v.modified,M=k.getColumn("x",!0),w=0;for(r?.smoothed&&k.rowCount&&(r.firstAnchor="firstPoint",r.anchor="middle",r.lastAnchor="lastPoint",ui(32,!1,o,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),i=1;i=e[0]){let i;c++;let s=t.groupMap[0].start,a=t.groupMap[0].length;uo(s)&&uo(a)&&(i=s+(a-1)),e[0]=({start:e[0],middle:e[0]+.5*o,end:e[0]+o,firstPoint:r[0],lastPoint:i&&r[i]})[h]}if(a>0&&l&&o&&e[a]>=i-o){d--;let i=t.groupMap[t.groupMap.length-1].start;e[a]=({start:e[a],middle:e[a]+.5*o,end:e[a]+o,firstPoint:i&&r[i],lastPoint:r[r.length-1]})[l]}if(n&&"start"!==n){let t=o*({middle:.5,end:1})[n];for(;d>=c;)e[d]+=t,d--}}(this,M||[],a),n&&M&&(ue((e=M)[0])&&uo(m.min)&&uo(m.dataMin)&&e[0]m.max&&((!ue(m.options.max)&&uo(m.dataMax)&&m.max>=m.dataMax||m.max===m.dataMax)&&(m.max=Math.max(e[e.length-1],m.max)),m.dataMax=Math.max(e[e.length-1],m.dataMax))),r.groupAll&&(this.allGroupedTable=k,M=(k=(d=this.cropData(k,m.min||0,m.max||0)).modified).getColumn("x"),this.cropStart=d.start),this.dataTable.modified=k}else this.groupMap=void 0,this.currentDataGrouping=void 0;this.hasGroupedData=s,this.preventGraphAnimation=(h&&h.totalRange)!==(l&&l.totalRange)}function ud(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function uc(){uh.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function up(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function uu(t,e,i){let s=t.getColumn("x",!0)||[],o=t.getColumn("y",!0),r=this,a=r.data,n=r.options&&r.options.data,h=[],l=new rd,d=[],c=t.rowCount,p=!!o,u=[],g=r.pointArrayMap,f=g&&g.length,m=["x"].concat(g||["y"]),x=(g||["y"]).map(()=>[]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,b,v,k,M=0,w=0,S="function"==typeof i?i:i&&pj[i]?pj[i]:pj[r.getDGApproximation&&r.getDGApproximation()||"average"];if(f){let t=g.length;for(;t--;)u.push([])}else u.push([]);let A=f||1;for(let t=0;t<=c;t++)if(!(s[t]=e[M+1]||t===c;){if(b=e[M],r.dataGroupInfo={start:y?w:r.cropStart+w,length:u[0].length,groupStart:b},k=S.apply(r,u),r.pointClass&&!ue(r.dataGroupInfo.options)&&(r.dataGroupInfo.options=ur(r.pointClass.prototype.optionsToObject.call({series:r},r.options.data[r.cropStart+w])),m.forEach(function(t){delete r.dataGroupInfo.options[t]})),void 0!==k){h.push(b);let t=un(k);for(let e=0;e{T[t]=x[e]}),l.setColumns(T),{groupMap:d,modified:l}}function ug(t){let e=t.options,i=this.type,s=this.chart.options.plotOptions,o=this.useCommonDataGrouping&&pQ.common,r=pQ.seriesSpecific,a=tA.defaultOptions.plotOptions[i].dataGrouping;if(s&&(r[i]||o)){let t=this.chart.rangeSelector;a||(a=ur(pQ.common,r[i])),e.dataGrouping=ur(o,a,s.series&&s.series.dataGrouping,s[i].dataGrouping,this.userOptions.dataGrouping,!e.isInternal&&t&&uo(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}let uf={compose:function(t){let e=t.prototype;e.applyGrouping||(ut(t.prototype.pointClass,"update",function(){if(this.dataGroup)return ui(24,!1,this.series.chart),!1}),ut(t,"afterSetOptions",ug),ut(t,"destroy",ud),us(e,{applyGrouping:ul,destroyGroupedData:ud,generatePoints:uc,getDGApproximation:up,groupData:uu}))},groupData:uu},{format:um}=eu,{composed:ux}=L,{addEvent:uy,extend:ub,isNumber:uv,pick:uk,pushUnique:uM}=ti;function uw(t){let e=this.chart,i=e.time,s=t.point,o=s.series,r=o.options,a=o.tooltipOptions,n=r.dataGrouping,h=o.xAxis,l=a.xDateFormat||"",d,c,p,u,g,f=a[t.isFooter?"footerFormat":"headerFormat"];if(h&&"datetime"===h.options.type&&n&&uv(s.key)){c=o.currentDataGrouping,p=n.dateTimeLabelFormats||pQ.common.dateTimeLabelFormats,c?(u=p[c.unitName],1===c.count?l=u[0]:(l=u[1],d=u[2])):!l&&p&&h.dateTime&&(l=h.dateTime.getXDateFormat(s.x,a.dateTimeLabelFormats));let r=uk(o.groupMap?.[s.index].groupStart,s.key),m=r+(c?.totalRange||0)-1;g=i.dateFormat(l,r),d&&(g+=i.dateFormat(d,m)),o.chart.styledMode&&(f=this.styledModeFormat(f)),t.text=um(f,{point:ub(s,{key:g}),series:o},e),t.preventDefault()}}let uS={compose:function(t,e,i){p8.compose(t),uf.compose(e),i&&uM(ux,"DataGrouping")&&uy(i,"headerFormatter",uw)},groupData:uf.groupData};L.dataGrouping=L.dataGrouping||{},L.dataGrouping.approximationDefaults=L.dataGrouping.approximationDefaults||pJ,L.dataGrouping.approximations=L.dataGrouping.approximations||pj,uS.compose(L.Axis,L.Series,L.Tooltip);let{defined:uA,isNumber:uT,pick:uC}=ti,uP={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:uO,isObject:uE,pick:uL,defined:uD,merge:uB}=ti,{getAssignedAxis:uI}={annotationsFieldsTypes:uP,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=uC(t.axis.minPointOffset,0);return uT(i)&&uT(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=uP[t],s=typeof e;return uA(i)&&(s=i),({string:"text",number:"number",boolean:"checkbox"})[s]}},uz=[],uR={enabled:!0,sensitivity:1.1},uN=t=>(uE(t)||(t={enabled:t??!0}),uB(uR,t)),uW=function(t,e,i,s,o,a,n){let h=uL(n.type,t.zooming.type,""),l=[];"x"===h?l=i:"y"===h?l=s:"xy"===h&&(l=t.axes);let d=t.transform({axes:l,to:{x:o-5,y:a-5,width:10,height:10},from:{x:o-5*e,y:a-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return d&&(uD(r)&&clearTimeout(r),r=setTimeout(()=>{t.pointer?.drop()},400)),d};function uG(){let t=uN(this.zooming.mouseWheel);t.enabled&&uO(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:i}=this,s=i&&!i.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&s){let s=t.sensitivity||1.1,o=e.detail||(e.deltaY||0)/120,r=uI(i.getCoordinates(e).xAxis),a=uI(i.getCoordinates(e).yAxis);uW(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}L.MouseWheelZoom=L.MouseWheelZoom||{compose:function(t){-1===uz.indexOf(t)&&(uz.push(t),uO(t,"afterGetContainer",uG))}},L.MouseWheelZoom.compose(L.Chart),L.Navigator=L.Navigator||dJ,L.OrdinalAxis=L.OrdinalAxis||d8,L.RangeSelector=L.RangeSelector||cR,L.Scrollbar=L.Scrollbar||dD,L.stockChart=L.stockChart||c0.stockChart,L.StockChart=L.StockChart||L.stockChart,L.extend(L.StockChart,c0),lG.compose(L.Series,L.Axis,L.Point),pR.compose(L.Renderer),ph.compose(L.Series),L.Navigator.compose(L.Chart,L.Axis,L.Series),L.OrdinalAxis.compose(L.Axis,L.Series,L.Chart),L.RangeSelector.compose(L.Axis,L.Chart),L.Scrollbar.compose(L.Axis),L.StockChart.compose(L.Chart,L.Axis,L.Series,L.SVGRenderer),/** - * @license Highstock JS v12.1.0 (2024-12-17) + */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i,s,o,r;var a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,k,M,w,S,A,T,C,P,O={};O.d=(t,e)=>{for(var i in e)O.o(e,i)&&!O.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},O.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var E={};O.d(E,{default:()=>uH}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.1",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.body.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(a||(a={}));let L=a,{charts:D,doc:B,win:I}=L;function z(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=F(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),J(s,function(e,i){t+=` + - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}tt(L,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);I.console&&-1===z.messages.indexOf(a)&&console.warn(a)}),z.messages.push(a)}function R(t,e){return parseInt(t,e||10)}function N(t){return"string"==typeof t}function W(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function G(t,e){return!!t&&"object"==typeof t&&(!e||!W(t))}function X(t){return G(t)&&"number"==typeof t.nodeType}function H(t){let e=t&&t.constructor;return!!(G(t,!0)&&!X(t)&&e&&e.name&&"Object"!==e.name)}function F(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function Y(t){return null!=t}function j(t,e,i){let s;let o=N(e)&&!Y(i),r=(e,i)=>{Y(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return N(e)?r(i,e):J(e,r),s}function U(t){return W(t)?t:[t]}function V(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function _(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(z||(z={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let K=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let te=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();I.jQuery&&(I.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new L[N(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):D[j(this[0],"data-highcharts-chart")]});let ti={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;L.Point&&t instanceof L.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!L.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){Q(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=U(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=I.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),_(s,"opacity"!==i)&&(o=R(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return q(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:J,offset:function(t){let e=B.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(I.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(I.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:_,pInt:R,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:Q,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:U,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return N(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:te,useSerialIds:function(e){return t=_(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:ts,win:to}=L,{defined:tr,error:ta,extend:tn,isNumber:th,isObject:tl,isString:td,merge:tc,objectEach:tp,pad:tu,splat:tg,timeUnits:tf,ucfirst:tm}=ti,tx=L.isSafari&&to.Intl&&!to.Intl.DateTimeFormat.prototype.formatRange,ty=t=>void 0===t.main,tb=t=>["D","L","M","X","J","V","S"].indexOf(t),tv=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=to.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=tc(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||to.Date||Date;let s=t.timezone;tr(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,tb(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||ts){let s=JSON.stringify(t)+i;td(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(ta(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):ta(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&tn(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tx||(n-=36e5)}}return n}parse(t){if(!td(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(th(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(th(a))return a}return 0}dateFormat(t,e,i){let s=L.defaultOptions?.lang;if(!tr(e)||isNaN(e))return s?.invalidDate||"";if(td(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(td(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;tp(tn({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tu(a),e:tu(a,2," "),w:c,b:f[r],B:g[r],m:tu(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tu(n),k:n,I:tu(n%12||12),l:n%12||12,M:tu(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:tu(l),L:tu(d,3)},L.dateFormats),function(s,o){if(td(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(tl(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(tn({timeZone:s},t),e)+r}return i?tm(t):t}resolveDTLFormat(t){return tl(t,!0)?tl(t,!0)&&ty(t)?{main:t}:t:{main:(t=tg(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),tr(e)){if(f=h>=tf.second?0:n*Math.floor(f/n),h>=tf.second&&(g=h>=tf.minute?0:n*Math.floor(g/n)),h>=tf.minute&&(u=h>=tf.hour?0:n*Math.floor(u/n)),h>=tf.hour&&(p=h>=tf.day?0:n*Math.floor(p/n)),h>=tf.day&&(c=h>=tf.month?1:Math.max(1,n*Math.floor(c/n))),h>=tf.month&&(d=h>=tf.year?0:n*Math.floor(d/n)),h>=tf.year&&(l-=l%n),h===tf.week){n&&(e=o.makeTime(l,d,c,p,u,g,f));let t=tb(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tf.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=tf.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=tn(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in tf){if(t===tf.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(tf[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tk}=L,{fireEvent:tM,merge:tw}=ti,tS={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tk?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tA=new tv(tS.time),tT={defaultOptions:tS,defaultTime:tA,getOptions:function(){return tS},setOptions:function(t){return tM(L,"setOptions",{options:t}),tw(!0,tS,t),t.time&&tA.update(tS.time),t.lang&&"locale"in t.lang&&tA.update({locale:t.lang.locale}),tS}},{isNumber:tC,merge:tP,pInt:tO,defined:tE}=ti;class tL{static parse(t){return t?new tL(t):tL.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=L.Color;if(r&&r!==tL)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tL(t[1]));else if("string"==typeof t)for(this.input=t=tL.names[t.toLowerCase()]||t,s=tL.parsers.length;s--&&!i;)(e=(o=tL.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tP(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tC(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tC(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tO(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tC(i[0])||!tC(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tL.names={white:"#ffffff",black:"#000000"},tL.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tO(t[1]),tO(t[2]),tO(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tO(t[1]),tO(t[2]),tO(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tO(t[1]+t[1],16),tO(t[2]+t[2],16),tO(t[3]+t[3],16),tE(t[4])?tO(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tO(t[1],16),tO(t[2],16),tO(t[3],16),tE(t[4])?tO(t[4],16)/255:1]}}],tL.None=new tL("");let{parse:tD}=tL,{win:tB}=L,{isNumber:tI,objectEach:tz}=ti;class tR{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tz(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,u=e&&e.slice();if(!u||h)return[r,r];function g(t,e){for(;t.length{let i=tU(t.options.animation);r=tH(e)&&tN(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tj(t,e.options.chart.animation,!0)},stop:tV},{SVG_NS:t$,win:tZ}=L,{attr:tq,createElement:tK,css:tJ,error:tQ,isFunction:t0,isString:t1,objectEach:t2,splat:t3}=ti,{trustedTypes:t5}=tZ,t6=t5&&t0(t5.createPolicy)&&t5.createPolicy("highcharts",{createHTML:t=>t}),t9=t6?t6.createHTML(""):"";class t4{static filterUserAttributes(t){return t2(t,(e,i)=>{let s=!0;-1===t4.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=t1(e)&&t4.allowedReferences.some(t=>0===e.indexOf(t))),s||(tQ(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),t1(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t4.emptyHTML,e&&new t4(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return t3(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?L.doc.createTextNode(e.textContent):void 0,n=t4.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==t4.allowedTags.indexOf(r)||n){let s="svg"===r?t$:i.namespaceURI||t$,h=L.doc.createElementNS(s,r),l=e.attributes||{};t2(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tq(h,n?l:t4.filterUserAttributes(l)),e.style&&tJ(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tQ(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t6?t6.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tK("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t4.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t4.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t4.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t4.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],t4.emptyHTML=t9,t4.bypassHTMLFiltering=!1;let{defaultOptions:t8,defaultTime:t7}=tT,{pageLang:et}=L,{extend:ee,getNestedProperty:ei,isArray:es,isNumber:eo,isObject:er,isString:ea,pick:en,ucfirst:eh}=ti,el={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!es(t)&&t.map((i,s)=>ep(e.body,ee(er(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:eh,unless:t=>!t},ed={},ec=t=>/^["'].+["']$/.test(t);function ep(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||t8.lang,l=i&&i.time||t7,d=i&&i.numberFormatter||eu,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ec(t)?t.slice(1,-1):ei(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u&&u.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");el[a]&&(u.isBlock&&a===u.fn&&g++,u.fn||(u.fn=a));let n="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||n)){if(g)!n&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],n||(r.push(u),u=void 0)}}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p;let{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=el[m].length;p--;)t.unshift(c(o[p+1]));r=el[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ep(r?u:g,e,i))}else{let t=ec(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&ea(r)&&(r=`"${r}"`)}t=t.replace(s.find,en(r,""))}),f?ep(t,e,i):t}function eu(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||t8.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):eo(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),eo(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||h.locale||et,g=JSON.stringify(c)+u;return o=(ed[g]??(ed[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let eg={dateFormat:function(t,e,i){return t7.dateFormat(t,e,i)},format:ep,helpers:el,numberFormat:eu};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,L.Renderer=s)}}(n||(n={}));let ef=n,{clamp:em,pick:ex,pushUnique:ey,stableSort:eb}=ti;(h||(h={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,u,g=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(eb(e,(t,e)=>(e.rank||0)-(t.rank||0)),u=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?u:h-1;u&&x>r;)f=e[c=Math.floor(p)],ey(l,c)&&(x-=f.size),p+=u,y&&p>=e.length&&(u/=2,p=u);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(eb(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:ex(t.align,.5)}));g;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=em(m-f.size*f.align,0,i-f.size);for(c=e.length,g=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),g=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),eb(o,a),o};let ev=h,{animate:ek,animObject:eM,stop:ew}=t_,{deg2rad:eS,doc:eA,svg:eT,SVG_NS:eC,win:eP,isFirefox:eO}=L,{addEvent:eE,attr:eL,createElement:eD,crisp:eB,css:eI,defined:ez,erase:eR,extend:eN,fireEvent:eW,getAlignFactor:eG,isArray:eX,isFunction:eH,isNumber:eF,isObject:eY,isString:ej,merge:eU,objectEach:eV,pick:e_,pInt:e$,pushUnique:eZ,replaceNested:eq,syncTimeout:eK,uniqueKey:eJ}=ti;class eQ{_defaultGetter(t){let e=e_(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||ej(i)?i||"renderer":void 0;n&&(a&&eZ(r,this),i=void 0);let h=e_(i,o[n],o),l=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*eG(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*eG(t.verticalAlign),c={"text-align":t?.align};return c[e?"translateX":"x"]=Math.round(l),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=eM(e_(e,this.renderer.globalAnimation,!0)),o=s.defer;return eA.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eK(()=>{this.element&&ek(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eV(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&L.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=eA.createElementNS(eC,"tspan");eL(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=eA.createElementNS(eC,"tspan");a.textContent="​",eL(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eQ.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eV(t,function(e,i){l=!1,s||ew(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eJ()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eN(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eB(i,e),n=eB(s,e);return eN(t,{x:a,y:n,width:eB(o,e)-a,height:eB(r,e)-n}),ez(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,u,g=[],f;eW(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eX(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!ez(a.gradientUnits)&&(n=a,a=eU(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eV(a,function(t,e){"id"!==e&&g.push(e,t)}),eV(l,function(t){g.push(t)}),h[g=g.join(",")])u=h[g].attr("id");else{a.id=u=eJ();let t=h[g]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tL.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eV(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eN(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=e$(t.width)),eN(this.styles,t),o&&!eT&&this.renderer.forExport&&delete t.width;let r=eO&&t.fontSize||null;r&&(eF(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eU(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eI(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+e$(s[e])*e_(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ew(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=e_(e,this.rotation,0),f=h.styledMode?n&&eQ.prototype.getStyle.call(n,"font-size"):l.fontSize;if(ez(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,g,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eI(e,{display:t})},eH(o)&&o("none"),i=n.getBBox?eN({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eH(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};eW(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eG(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*eS,u=(e-90)*eS,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,k],[M,w]]=[h,l].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,C=T-m,P=s+c-d*x-k+M+c*b,O=P+x,E=O-r*b,L=E-x,D=Math.min(S,A,T,C),B=Math.min(P,O,E,L),I=Math.max(S,A,T,C)-D,z=Math.max(P,O,E,L)-B;return{x:D,y:B,width:I,height:z,polygon:[[S,P],[A,O],[T,E],[C,L]]}}getStyle(t){return eP.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eC,this.element="span"===e||"body"===e?eD(e):eA.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eW(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eE(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(ej(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eU(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eY(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=e$(t):""!==t&&(eL(i=eA.createElementNS(eC,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eQ.symbolCustomAttribs.forEach(function(i){e[i]=e_(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||eA.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eq(e_(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];ez(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+e_(o,e.getAttribute("x"),0)+" "+e_(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(ez(a)||ez(n))&&d.push("scale("+e_(a,1)+" "+e_(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,u;if(ez(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):ez(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!ez(l=(h=n[u]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(e$(l)<=t||c&&(!ez(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}eQ.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eQ.prototype.strokeSetter=eQ.prototype.fillSetter,eQ.prototype.yGetter=eQ.prototype.xGetter,eQ.prototype.matrixSetter=eQ.prototype.rotationOriginXSetter=eQ.prototype.rotationOriginYSetter=eQ.prototype.rotationSetter=eQ.prototype.scaleXSetter=eQ.prototype.scaleYSetter=eQ.prototype.translateXSetter=eQ.prototype.translateYSetter=eQ.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let e0=eQ,{defined:e1,extend:e2,getAlignFactor:e3,isNumber:e5,merge:e6,pick:e9,removeEvent:e4}=ti;class e8 extends e0{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e8.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=e3(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&e5(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e6(t),e8.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return e0.prototype.css.call(this,t)}destroy(){e4(this.element,"mouseenter"),e4(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),e0.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=e9(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:e9(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&e1(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){e5(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!e5(this.widthSetting)||!e5(this.heightSetting)||this.textAlign)&&e1(e.textStr)?e.getBBox(void 0,0):e8.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e2(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+e3(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=e5(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=e9(this.paddingLeft,t),i=e9(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e8.emptyBBox={width:0,height:0,x:0,y:0},e8.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e7,isNumber:it,pick:ie}=ti;function ii(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=ie(o.r,i),h=ie(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return ii(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:is,roundedRect:io,square:is,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:ia,SVG_NS:ih,win:il}=L,{attr:id,extend:ic,fireEvent:ip,isString:iu,objectEach:ig,pick:im}=ti,ix=(t,e)=>t.substring(0,e)+"…",iy=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=im(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new t4(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(ia.createTextNode(this.unescapeEntities(s)));iu(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=id(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),id(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ix),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(ia.createTextNode(e),t);let s=ia.createElementNS(ih,"tspan");s.textContent="​",id(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ix)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===il.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===il.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),ic(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),ip(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(n=a(i,g)),h=f(g,n&&n.length-1),p===u?p=u+1:h>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=n||a(e||i,g)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ix)}i&&i.splice(0,g),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ig(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:ib}=tT,{charts:iv,deg2rad:ik,doc:iM,isFirefox:iw,isMS:iS,isWebKit:iA,noop:iT,SVG_NS:iC,symbolSizes:iP,win:iO}=L,{addEvent:iE,attr:iL,createElement:iD,crisp:iB,css:iI,defined:iz,destroyObjectProperties:iR,extend:iN,isArray:iW,isNumber:iG,isObject:iX,isString:iH,merge:iF,pick:iY,pInt:ij,replaceNested:iU,uniqueKey:iV}=ti;class i_{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),iL(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iL(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(iM.createTextNode("Created with Highcharts 12.1.1")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),iw&&t.getBoundingClientRect&&((n=function(){iI(t,{left:0,top:0}),h=t.getBoundingClientRect(),iI(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iE(iO,"resize",n))}definition(t){return new t4([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iw||iA)&&iM.getElementsByTagName("base").length){if(!iz(e)){let t=iV(),i=new t4([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(iM.body);iI(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=iM.elementFromPoint(6,6);e="hitme"===(s&&s.id),iM.body.removeChild(i)}if(e)return iU(iO.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iN({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iR(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iF({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new iy(t).buildSVG()}getContrast(t){let e=tL.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=iF(ib.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t4.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iF(m[0],t4.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iE(d.element,iS?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),iE(d.element,iS?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iX(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iN({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iz(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iB(i[1],e)),iz(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iB(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iW(t)?e.d=t:iX(t)&&iN(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iX(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iX(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iX(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iN(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iL(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iY(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iG(e)&&(a.x=e),iG(i)&&(a.y=i),iG(s)&&(a.width=s),iG(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iO.Image;iE(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(n=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iN(a,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&iN(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iY(r&&r.width,iP[h]&&iP[h].width),s.imgheight=iY(r&&r.height,iP[h]&&iP[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),iL(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iz(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iz(s.imgwidth)&&iz(s.imgheight)?l(s):(s.attr({width:0,height:0}),iD("img",{onload:function(){let t=iv[d.chartIndex];0===this.width&&(iI(this,{position:"absolute",top:"-999em"}),iM.body.appendChild(this)),iP[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iz(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iN(i_.prototype,{Element:e0,SVG_NS:iC,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:ir,draw:iT}),ef.registerRendererType("svg",i_,!0);let{composed:i$}=L,{attr:iZ,css:iq,createElement:iK,defined:iJ,extend:iQ,getAlignFactor:i0,isNumber:i1,pInt:i2,pushUnique:i3}=ti;function i5(t,e,i){let s=this.div?.style||i.style;e0.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i6=(t,e)=>{if(!t.div){let i=iZ(t.element,"class"),s=t.css,o=iK("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=i5,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return e0.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class i9 extends e0{static compose(t){i3(i$,this.compose)&&(t.prototype.html=function(t,e,i){return new i9(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i2(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),i1(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iQ(this.styles,t),iq(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:f}=n;if(iq(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iq(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iq(t,{width:e>s||i||r?l+"px":"auto",display:g,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,iJ(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iJ(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,i0(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${u+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??u)-x-u-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iq(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iq(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i6(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t4.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let i4=i9.prototype;i4.visibilitySetter=i4.opacitySetter=i5,i4.ySetter=i4.rotationSetter=i4.rotationOriginXSetter=i4.rotationOriginYSetter=i4.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(l||(l={}));let i8=l,{addEvent:i7,isFunction:st,objectEach:se,removeEvent:si}=ti;(d||(d={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},se(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(si(t,i,t.eventOptions[i]),delete t.eventOptions[i]),st(e)&&(t.eventOptions[i]=e,i7(t,i,e,{order:0})))})};let ss=d,{deg2rad:so}=L,{clamp:sr,correctFloat:sa,defined:sn,destroyObjectProperties:sh,extend:sl,fireEvent:sd,getAlignFactor:sc,isNumber:sp,merge:su,objectEach:sg,pick:sf}=ti,sm=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,sd(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=sf(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,u=l.info,g=t.label,f,m,x,y=this.parameters.category||(o?sf(o[n],a[n],n):n);r&&sp(y)&&(y=sa(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&u.higherRanks[n]||u.unitName])).main:sp(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:u,value:y};sd(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),eg.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),M=m&&m.list;M?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*so))):(f=s-d*c,m=s+(1-d)*c,fn&&(u=n-t.x+u*d,g=-1),(u=Math.min(p,u))u||e.autoRotation&&(h.styles||{}).width)&&(x=u)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(sl({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sg(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sf(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(sa(p)c)&&(i=0);let u=sf(i,this.label&&this.label.newOpacity,1);i=sf(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,u,t),this.isNew=!1,sd(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sf(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=sf(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=sf(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;n&&sp(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):u=!1,l&&s%l&&(u=!1),u&&sp(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sx}=t_,{xAxis:sy,yAxis:sb}=i8,{defaultOptions:sv}=tT,{registerEventOptions:sk}=ss,{deg2rad:sM}=L,{arrayMax:sw,arrayMin:sS,clamp:sA,correctFloat:sT,defined:sC,destroyObjectProperties:sP,erase:sO,error:sE,extend:sL,fireEvent:sD,getClosestDistance:sB,insertItem:sI,isArray:sz,isNumber:sR,isString:sN,merge:sW,normalizeTickInterval:sG,objectEach:sX,pick:sH,relativeLength:sF,removeEvent:sY,splat:sj,syncTimeout:sU}=ti,sV=(t,e)=>sG(e,void 0,void 0,sH(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sL(sv,{xAxis:sy,yAxis:sW(sy,sb)});class s_{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sD(this,"init",{userOptions:e}),this.opposite=sH(e.opposite,this.opposite),this.side=sH(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sD(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sH(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sz(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sC(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sH(r.crosshair,sj(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sI(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sC(this.reversed)&&(this.reversed=!0),this.labelRotation=sR(a.rotation)?a.rotation:void 0,sk(this,r),sD(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sW(e,sv[this.coll],t),sD(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sR(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sv.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sD(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sR(a)||a instanceof Date||(o=o.filter(sR),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sH(e.dataMin,a),a),e.dataMax=Math.max(sH(e.dataMax,n),n)));else{let t=i.applyExtremes();sR(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sH(e.dataMin,a),a)),sR(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sH(e.dataMax,n),n)),sC(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sD(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sR(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-h)/p+n,l&&(u=a.lin2val(u))):(l&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*h+(sR(r)?p*r:0),a.isRadial||(u=sT(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sA(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sD(this,"getPlotLinePath",b,function(t){u=f=(c=sA(c=sH(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,g=m=h-c-d,sR(c)?e.horiz?(g=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=l-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sT(Math.floor(e/t)*t),n=sT(Math.ceil(i/t)*t),h=[];if(sT(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sT(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sH(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sR(s)&&sR(o)&&sR(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sw(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sS(l))-ot-e),t=sB([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sz(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sC(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sH(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sR(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sH(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sN(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sD(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sR(t)&&sR(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sR(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=h,y=sR(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,M=0,w,S=sR(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,C,P;if(r||e||y||this.getTickAmount(),C=sH(this.userMin,d.parse(h.min)),P=sH(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sH(w.min,w.dataMin),this.max=sH(w.max,w.dataMax),this.type!==y.type&&sE(11,!0,i)):(l&&sC(c)&&sR(s)&&sR(o)&&(o>=c?(A=c,k=0):s<=c&&(T=c,v=0)),this.min=sH(C,A,o),this.max=sH(P,T,s)),sR(this.max)&&sR(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sH(o,this.min))&&sE(10,!0,i),this.min=sT(n.log2lin(this.min),16),this.max=sT(n.log2lin(this.max),16)),this.range&&sR(o)&&(this.userMin=this.min=C=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),sD(this,"foundExtremes"),this.adjustForMinRange(),sR(this.min)&&sR(this.max)){if(!sR(this.userMin)&&sR(x)&&xthis.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(M=this.max-this.min)||(!sC(C)&&k&&(this.min-=M*k),sC(P)||!v||(this.max+=M*v)),!sR(this.userMin)&&sR(g)&&(this.min=Math.max(this.min,g)),!sR(this.userMax)&&sR(u)&&(this.max=Math.min(this.max,u)),l&&sR(o)&&sR(s)){let t=c||0;!sC(C)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sC(P)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sC(h.min)?this.max=this.min:sC(h.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&sR(this.min)&&sR(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sH(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sD(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sD(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=sH(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sE(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sV(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sR(this.min)&&sR(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sD(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sD(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sR(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sR(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sR(this.threshold)){let t=sA((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sC(t.tickInterval)||i||!(this.lenr.push(sT(r[r.length-1]+p)),f=()=>r.unshift(sT(r[0]-p));if(sR(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&sR(s)&&sR(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sR(u)&&sR(t.threshold)){for(;r[u]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sD(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sD(this,"setExtremes",o=sL(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sF(sH(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sF(sH(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sF(sH(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sF(sH(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sT(t.lin2log(this.min)):this.min,max:t?sT(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sH(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sD(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sT(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sT(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sR(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(sM*i))))+Math.abs(i/360))g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sL(a,{width:`${p}px`,lineClamp:u})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sC(this.min)&&sC(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sW(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sm(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sR(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,M;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sH(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sX(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sC(y=d.offset)?0:sH(d.margin,i?5:10))),t.renderLine(),t.offset=f*sH(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=M,k+=f*(i?sH(c.y,t.tickRotCorr.y+f*c.distance):sH(c.x,f*c.distance))),t.axisTitleMargin=sH(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[h]=Math.max(g[h],i)}sD(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+l:g+(n?this.width:0)+h+l,y:e?g+d-(n?this.height:0)+h:u+d};return sD(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sm(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sm(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=a.stackLabels,g=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sx(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sX(t,function(t){t.isActive=!1})}),sR(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sR(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sm(i,-1,null,!0)),d[-1].render(-1))),g&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=s0(t=s1("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(p||(p={}));let s2=p,{erase:s3,extend:s5,isNumber:s6}=ti;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!s6(this.min)||!s6(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),s9.compose(on,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){os(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=ot(c)&&ot(d),v=ot(p),k=!m,M={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(M.stroke=o||"#999999",M["stroke-width"]=oa(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):b&&(M.fill=o||"#e6e9ff",u&&(M.stroke=e.borderColor,M["stroke-width"]=u))),l.zIndex=a,w+="-"+a,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=n.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=n.path().attr(M).add(y)),ot(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(ot(c)&&ot(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(or(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(ot(g.text)||ot(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=oo({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(oo({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s7(h),c=s7(l),p=s8(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:s8(l)-c}),(!n.alignValue||"left"===n.alignValue||ot(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return ot(t.formatter)?t.formatter.call(this):t.text}destroy(){oi(this.axis.plotLinesAndBands,this),delete this.axis,oe(this)}}let{animObject:oh}=t_,{format:ol}=eg,{composed:od,dateFormats:oc,doc:op,isSafari:ou}=L,{distribute:og}=ev,{addEvent:of,clamp:om,css:ox,discardElement:oy,extend:ob,fireEvent:ov,isArray:ok,isNumber:oM,isObject:ow,isString:oS,merge:oA,pick:oT,pushUnique:oC,splat:oP,syncTimeout:oO}=ti;class oE{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||oP(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),oy(this.container)),ti.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=oP(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+oT(t.colorIndex,o.colorIndex),r&&r.className].filter(oS).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ef.getRendererType();this.container=a=L.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),ox(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&L.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=op,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),M=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&oT(i.ttBelow,!d&&!n===S),T=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+g)}},C=function(t,e,i,o,r){if(re-s)return!1;re-o/2?u[t]=e-o-2:u[t]=r-i/2},P=function(t){[k,M]=[M,k],w=t},O=()=>{!1!==T.apply(0,k)?!1!==C.apply(0,M)||w||(P(!0),O()):w?u.x=u.y=0:(P(!0),O())};return(n&&!d||this.len>1)&&P(),O(),u}hide(t){let e=this;ti.clearTimeout(this.hideTimer),t=oT(t,this.options.hideDelay),this.isHidden||(this.hideTimer=oO(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=oT(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=oh(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=oP(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;ti.clearTimeout(this.hideTimer),this.allowShared=!(!ok(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=oS(h)?ol(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=oT(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:om(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}ov(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{positioner:g},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?op.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:M,top:w}=f.getChartPosition(),S=h+x,A=0,T=a-l;function C(t,e,s,o,r=!0){let a,n;return s?(a=k?0:T,n=om(t-o/2,y.left,y.right-o-(i.outside?M:0))):(a=e-S,n=om(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}oS(t)&&(t=[!1,t]);let P=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};c||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(u.style).attr({stroke:u.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,k&&(S-=A));let{anchorX:M,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+om(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=om(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=g?g.call(i,x,e,r):C(M,w,l,x);t.push({align:g?0:void 0,anchorX:M,anchorY:w,boxWidth:x,point:r,rank:oT(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!g&&P.some(t=>{let{outside:e}=i,s=(e?M:0)+t.anchorX;return ss})&&(P=P.map(t=>{let{x:e,y:i}=C(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return ob(t,{target:i,x:e})})),i.cleanSplit(),og(P,T);let O={left:M,right:M};P.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&M+eO.right&&(O.right=M+e))}),P.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(O.right-O.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:E,outside:L,renderer:D}=i;if(L&&E&&D){let{width:t,height:e,x:i,y:s}=b.getBBox();D.setSize(t+i,e+s,!1),E.style.left=O.left+"px",E.style.top=w+"px"}ou&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return ov(this,"headerFormatter",a,function(e){if(r&&!n&&oM(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(ow(n)){let t=n;oc[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=ol(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,oA(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,h,n,t),g=L.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(u.x+=l-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(om(h+x,0,g.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(ox(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-u.x,m+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),f,m)}}!function(t){t.compose=function(e){oC(od,"Core.Tooltip")&&of(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oE||(oE={}));let oL=oE,{animObject:oD}=t_,{defaultOptions:oB}=tT,{format:oI}=eg,{addEvent:oz,crisp:oR,erase:oN,extend:oW,fireEvent:oG,getNestedProperty:oX,isArray:oH,isFunction:oF,isNumber:oY,isObject:oj,merge:oU,pick:oV,syncTimeout:o_,removeEvent:o$,uniqueKey:oZ}=ti;class oq{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oW({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oW(this,t=oq.prototype.optionsToObject.call(this,t)),this.options=this.options?oW(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oq.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oY(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oY(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oD(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(o$(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oN(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),o_(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oG(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oX(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oZ()),this.resolveColor(),t.chart.pointCount++,oG(this,"afterInit")}isValid(){return(oY(this.x)||this.x instanceof Date)&&oY(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oY(t)||null===t)r[s[0]]=t;else if(oH(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oq.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oY(i)&&oY(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oV(this.options.colorIndex,a),this.color=oV(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oj(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oI(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oj(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oj(l.data[o],!0)||oj(t,!0)?r.options:oV(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oV(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oV(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oU(this.series.options.point,this.options),i=e.events?.[t];oF(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oz(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(o$(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oB.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=oV(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&oY(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,oV(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,oU(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oV(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oW({fill:this.color||i.color,"fill-opacity":y.opacity},t4.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oG(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oR(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oK=oq,{parse:oJ}=tL,{charts:oQ,composed:o0,isTouchDevice:o1}=L,{addEvent:o2,attr:o3,css:o5,extend:o6,find:o9,fireEvent:o4,isNumber:o8,isObject:o7,objectEach:rt,offset:re,pick:ri,pushUnique:rs,splat:ro}=ti;class rr{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!L.chartCount&&(rr.unbindDocumentMouseUp.forEach(t=>t.unbind()),rr.unbindDocumentMouseUp.length=0,rr.unbindDocumentTouchEnd&&(rr.unbindDocumentTouchEnd=rr.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),rt(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return o4(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o7(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(un+l&&(u=n+l),gh+d&&(g=h+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(u,g);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oJ("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return o4(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o8(i.index)&&(this.selectionMarker=s.destroy())}i&&o8(i.index)&&(o5(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o7(r,!0)&&r.series&&(!o7(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&o8(o.x)&&o8(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=re(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&ri(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};o4(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=o9(t.points,function(t){return t.x===c.x&&!t.isNull});o7(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),o4(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=o3(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),o4(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):ri(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o6(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(o4(i.series,"click",o6(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o6(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&o4(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),L.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oQ[ri(rr.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oQ[ri(rr.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&ri(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(o4(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&ro(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&ro(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,u=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(u?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o2(s.container.ownerDocument,"mousemove",t=>oQ[rr.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=ri((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=o9(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o2(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o2(t,"mouseleave",this.onContainerMouseLeave.bind(this))),rr.unbindDocumentMouseUp.some(t=>t.doc===e)||rr.unbindDocumentMouseUp.push({doc:e,unbind:o2(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o2(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o2(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o2(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),rr.unbindDocumentTouchEnd||(rr.unbindDocumentTouchEnd=o2(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o2(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!o1)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=ri(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o2(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o2(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||o5(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||o5(i,{"touch-action":ri(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=L.charts[ri(rr.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(rr.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),ri(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=ri(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}rr.unbindDocumentMouseUp=[],function(t){t.compose=function(e){rs(o0,"Core.Pointer")&&o2(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(rr||(rr={}));let ra=rr,{fireEvent:rn,isArray:rh,objectEach:rl,uniqueKey:rd}=ti,rc=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||rd(),this.modified=this,this.rowCount=0,this.versionTag=rd();let e=0;rl(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,rl(this.columns,e=>{rh(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;rl(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(rn(this,"afterSetColumns"),this.versionTag=rd())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;rl(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(rn(this,"afterSetRows"),this.versionTag=rd())}},{extend:rp,merge:ru,pick:rg}=ti;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,u=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"===r.linecap||(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,u],["L",n-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(rg(m.radius,d),d);0===l.indexOf("url")&&(m=ru(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,u-t,2*t,2*t,rp({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,rg(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(g||(g={}));let rf=g,{defaultOptions:rm}=tT,{extend:rx,extendClass:ry,merge:rb}=ti;!function(t){function e(e,i){let s=rm.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oK),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=L.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rm.plotOptions||{};if(s=s||"",n[i]=rb(n[s],o),delete t.seriesTypes[i],e(i,ry(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oK{}rx(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(f||(f={}));let rv=f,{animObject:rk,setAnimation:rM}=t_,{defaultOptions:rw}=tT,{registerEventOptions:rS}=ss,{svg:rA,win:rT}=L,{seriesTypes:rC}=rv,{arrayMax:rP,arrayMin:rO,clamp:rE,correctFloat:rL,crisp:rD,defined:rB,destroyObjectProperties:rI,diffObjects:rz,erase:rR,error:rN,extend:rW,find:rG,fireEvent:rX,getClosestDistance:rH,getNestedProperty:rF,insertItem:rY,isArray:rj,isNumber:rU,isString:rV,merge:r_,objectEach:r$,pick:rZ,removeEvent:rq,syncTimeout:rK}=ti;class rJ{constructor(){this.zoneAxis="y"}init(t,e){let i;rX(this,"init",{options:e}),this.dataTable??(this.dataTable=new rc);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rW(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rS(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rZ(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rY(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rX(this,"afterInit")}is(t){return rC[t]&&this instanceof rC[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rX(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rZ(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rY(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rN(18,!0,s)})}),rX(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rZ(this.pointInterval,i.pointInterval,1),o&&rU(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rU(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rW(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rB(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=r_(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rX(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rw.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let u=r_(h,s.series,p,r);this.tooltipOptions=r_(rw.tooltip,rw.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rZ(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===h.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},a||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&rB(g[g.length-1].value)&&g.push(a?{}:{color:this.color,fillColor:this.fillColor}),rX(this,"afterSetOptions",{options:u}),u}getName(){return rZ(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rB(o=rZ("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rw.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oK&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rG(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rU(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rU(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rB(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rU(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=rP(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=r_(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rj(t)&&(f||rU(t[0])));if(rU(i)&&rU(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s)){if(g){let e=i.length===g?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[u]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rF(i,t),o=rF(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new rc:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rH([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rN(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rX(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rc({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rU(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rO(d),dataMax:rP(d)};return rX(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),r$(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rX(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=rZ(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=rZ(o.radius,s&&s.radius);e&&(n=s.states[e],l=rZ((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rU(l)&&d&&(i.crisp&&(d[0]=rD(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,u=rZ(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=rZ((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,u+rZ(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":u,fill:c,opacity:g=rZ(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rT.navigator.userAgent),n=o.data||[];for(rX(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rR(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rI(t,void 0,!0);ti.clearTimeout(o.animationTimeout),r$(o,function(t,e){t instanceof e0&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rR(r.series,o),r.orderItems("series"),r$(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rE(d.toPixels(rZ(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,u=0,f=r.len,y=a.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(g(v),t&&g(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rB(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rB(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rq(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rk(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rX(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rK(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rX(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rK(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rA?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rX(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,u=n.data,g=this.getColumn("x");e=rZ(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=g.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,u,...Object.values(d.getColumns())].filter(rB).forEach(t=>{t.shift()}),d.rowCount-=1,rX(d,"afterDeleteRows"))),!1!==o&&rX(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rB).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rX(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rM(i,o),e=rZ(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rZ(t,!0)&&r.redraw(e)}!1!==i?rX(o,"remove",null,a):a()}update(t,e){rX(this,"update",{options:t=rz(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rC[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rW(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=r_(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rC[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rC[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rW(i,rC[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rN(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rX(this,"afterUpdate"),rZ(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rZ(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rB(r)?i!==o:i!==rZ(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rX(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rX(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rZ(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=rZ(a[t].opacity,l)),o&&!o.dashstyle&&rU(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rX(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rX(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rf[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rJ.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rJ.types=rv.seriesTypes,rJ.registerType=rv.registerSeriesType,rW(rJ.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oK,requireSorting:!0,sorted:!0}),rv.series=rJ;let rQ=rJ,{animObject:r0,setAnimation:r1}=t_,{registerEventOptions:r2}=ss,{composed:r3,marginNames:r5}=L,{distribute:r6}=ev,{format:r9}=eg,{addEvent:r4,createElement:r8,css:r7,defined:at,discardElement:ae,find:ai,fireEvent:as,isNumber:ao,merge:ar,pick:aa,pushUnique:an,relativeLength:ah,stableSort:al,syncTimeout:ad}=ti;class ac{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r2(this,e),r4(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),r4(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=aa(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ar(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=aa(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ar(!0,this.options,t)),"events"in this.options&&r2(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,aa(e,!0)&&i.redraw(),as(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rQ||t instanceof oK)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ar(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,as(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[at(e.translateY)?"animate":"attr"](o,void 0,()=>{as(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&ae(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r7(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?aa(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&aa(i.showInLegend,!at(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),as(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!at(t[a])&&(i[r5[a]]=Math.max(i[r5[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+aa(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=ai(a?t.points:t.points.slice(0).reverse(),function(t){return ao(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),r6(i,e.plotHeight)))t=o.item.legendItem||{},ao(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=ah(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),al(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),as(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ar(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ar(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=aa(l.animation,!0),c=l.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=aa(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&r1(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),ad(()=>{as(this,"afterScroll",{currentPage:l})},r0(aa(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oK,n=t instanceof rQ,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ar(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),as(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&as(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r8("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),r4(t.checkbox,"click",function(e){let i=e.target;as(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){an(r3,"Core.Legend")&&r4(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(ac||(ac={}));let ap=ac,{animate:au,animObject:ag,setAnimation:af}=t_,{defaultOptions:am}=tT,{numberFormat:ax}=eg,{registerEventOptions:ay}=ss,{charts:ab,doc:av,marginNames:ak,svg:aM,win:aw}=L,{seriesTypes:aS}=rv,{addEvent:aA,attr:aT,createElement:aC,css:aP,defined:aO,diffObjects:aE,discardElement:aL,erase:aD,error:aB,extend:aI,find:az,fireEvent:aR,getAlignFactor:aN,getStyle:aW,isArray:aG,isNumber:aX,isObject:aH,isString:aF,merge:aY,objectEach:aj,pick:aU,pInt:aV,relativeLength:a_,removeEvent:a$,splat:aZ,syncTimeout:aq,uniqueKey:aK}=ti;class aJ{static chart(t,e,i){return new aJ(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aF(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aU(t.zoomType,e.type),key:aU(t.zoomKey,e.key),pinchType:aU(t.pinchType,e.pinchType),singleTouch:aU(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aY(e.resetButton,t.resetZoomButton)}}init(t,e){aR(this,"init",{args:arguments},function(){let i=aY(am,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aI({},t),(this.renderTo=aF(o)?av.getElementById(o):o)||aB(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tv(aI(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ax).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ab.length,ab.push(this),L.chartCount++,ay(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aR(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=aS[i];s||aB(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aZ(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aZ(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return aR(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){aR(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),af(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&aR(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){aR(t,"afterSetExtremes",aI(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aR(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aR(this,"redraw"),aR(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=az(this.axes,i)||az(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aU(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aY(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aI("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aY(o),n=i?.textPxLength||0;if(i&&r){aR(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(a.width/n,1),f=Math.max(p,g),m=aY({y:"bottom"===d?h:u+h},{align:"title"===t?gp?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aN(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aR(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aW(this.renderTo,"width",!0)||0,height:aW(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,a_(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(aP(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(av.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(av.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,av.body.appendChild(e)),("none"===aW(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),aP(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==av.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aK(),r=this.renderTo,a=aV(aT(r,s));aX(a)&&ab[a]&&ab[a].hasRendered&&ab[a].destroy(),aT(r,s,this.index),r.innerHTML=t4.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;aP(r,{overflow:"hidden"}),this.styledMode||(t=aI({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=aC("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||aP(l,{width:aU(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!aM?ef.getRendererType(i.renderer):i_;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),af(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aR(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!aO(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!aO(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aR(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ak.forEach(function(i,o){aO(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return aE(this.userOptions,am)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(ti.clearTimeout(e.reflowTimeout),e.reflowTimeout=aq(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=aA(aw,"resize",e);aA(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,af(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?au:aP)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aR(s,"resize"),setTimeout(()=>{s&&aR(s,"endResize")},ag(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),aR(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aR(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aH(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aU(e[i+s],o[r])})}),ak.forEach(function(e,i){t[e]=aU(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",x||(M="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[M](u),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),M="animate",y||(M="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[M](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aR(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=aS[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=aS[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aF(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aU(t.options.visible,s.options.visible,t.visible))}}),aR(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),aR(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sm(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aU(i.reserveSpace,!aX(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aY(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(aw.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aR(e,"destroy"),e.renderer.forExport?aD(ab,e):ab[e.index]=void 0,L.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),a$(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=t4.emptyHTML,a$(o),r&&aL(o)),aj(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aG(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aR(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aR(this,"load"),aR(this,"render"),aO(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aR(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),aP(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:u,minPointOffset:g=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aU(a[x],t.len),v=aU(s[x],t.len),k=10>Math.abs(b)?1:b/v,M=(s[y]||0)+v/2-t.pos,w=M-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:g*S),T=t.toValue(w+u/k,!0)-(r||t.isOrdinal?0:g*S||0),C=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===k&&!o&&"yAxis"===t.coll&&!C){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);C??(C={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aX(t.dataMin)&&aX(t.dataMax)&&(C.dataMin=Math.min(t.dataMin,C.dataMin),C.dataMax=Math.max(t.dataMax,C.dataMax))}t.allExtremes=C}let{dataMin:P,dataMax:O,min:E,max:L}=aI(t.getExtremes(),C||{}),D=l.parse(f.min),B=l.parse(f.max),I=P??D,z=O??B,R=T-A,N=t.categories?0:Math.min(R,z-I),W=I-N*(aO(D)?0:f.minPadding),G=z+N*(aO(B)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,H=Math.min(D??W,W,X?E:W),F=Math.max(B??G,G,X?L:G);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(A=1&&(T=A+R)),T>F&&(T=F,k>=1&&(A=T-R)),(o||t.series.length&&(A!==E||T!==L)&&A>=H&&T<=F)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:n,scale:k}),!o&&(A>H||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aI(aJ.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aJ.prototype.addAxis,[!0]],yAxis:[aJ.prototype.addAxis,[!1]],series:[aJ.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let aQ=aJ,{stop:a0}=t_,{composed:a1}=L,{addEvent:a2,createElement:a3,css:a5,defined:a6,erase:a9,merge:a4,pushUnique:a8}=ti;function a7(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new ne(this)),t?.applyFixed()}function nt(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class ne{static compose(t,e,i){a8(a1,this.compose)&&(a2(t,"afterInit",nt),a2(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a2(e,"render",a7),a2(i,"show",nt))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=a4(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),a6(s)&&(t.scrollablePlotBox=a4(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),a6(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=ef.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a3("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=a3("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=a3("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=a3("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),a5(t.renderTo,{overflow:"visible"}),a2(t,"afterShowResetZoom",r),a2(t,"afterApplyDrilldown",r),a2(t,"afterLayOutTitles",r),a2(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+u;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),a0(t.container),a5(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),a5(s,{width:`${r}px`,height:`${a}px`}),a6(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,M=l+c-p,w=d+h-u,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",M,y],["L",r,y],["L",r,v],["L",M,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,w],["L",b,a],["L",k,a],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=ne.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a8(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a9(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}ne.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:ni}=eg,{series:ns}=rv,{destroyObjectProperties:no,fireEvent:nr,getAlignFactor:na,isNumber:nn,pick:nh}=ti,nl=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){no(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?ni(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:nh(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,nr(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===nh(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&ns.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*na(l.textAlign||"center"),rotationOriginY:t.height/2}),nh(!i&&l.crop,!0)&&(s=nn(h.x)&&nn(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}nr(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*na(i)-1),y:t.height/2*2*(1-na(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:nh(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=nh(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||nn(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(g?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:nd}=t_,{series:{prototype:nc}}=rv,{addEvent:np,correctFloat:nu,defined:ng,destroyObjectProperties:nf,fireEvent:nm,isNumber:nx,objectEach:ny,pick:nb}=ti;function nv(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nb(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nk(){let t=this.stacking;if(t){let e=t.stacks;ny(e,(t,i)=>{nf(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function nM(){this.stacking||(this.stacking=new nP(this))}function nw(t,e,i,s){return!ng(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nS(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function nA(t,e,i){let s=e.total?100/e.total:0;t[0]=nu(t[0]*s),t[1]=nu(t[1]*s),this.stackedYData[i]=t[1]}function nT(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?nc.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nC(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,M=k.stacks,w=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&M[r]?.[e]?(r=M[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):nu(S+Math.abs(g))):"group"===l?nx(u)&&S++:S=nu(S+g),"group"===l?o.cumulative=(S||1)-1:o.cumulative=nu(nb(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class nP{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{ny(t,t=>{t.cumulative=t.total})}))}resetStacks(){ny(this.stacks,t=>{ny(t,(e,i)=>{nx(e.touched)&&e.touched{ny(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(m||(m={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(np(t,"init",nM),np(t,"destroy",nk),s.getStacks=nv,o.getStackIndicator=nw,o.modifyStacks=nS,o.percentStacker=nA,o.setGroupedPoints=nT,o.setStackedPoints=nC)};let nO=m,{defined:nE,merge:nL,isObject:nD}=ti;class nB extends rQ{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nL({filterUnits:"userSpaceOnUse"},nD(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,u=l.plotY,g=t[d-1],f=l.isNull||"number"!=typeof u;(l.leftCliff||g&&g.rightCliff)&&!i&&(n=!0),f&&!nE(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",g.plotX,u]]:2===h?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nB.defaultOptions=nL(rQ.defaultOptions,{legendSymbol:"lineMarker"}),rv.registerSeriesType("line",nB);let{seriesTypes:{line:nI}}=rv,{extend:nz,merge:nR,objectEach:nN,pick:nW}=ti;class nG extends nI{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nI.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(n.getThreshold(r.threshold)),g=nW(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],g=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?g[0]:g[1])+m,y=g[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?u:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?u:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,u){let g=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[u+i]],g=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;n8(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&n5(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(n1(s)){if(n6(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=n4(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=n4(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rQ.prototype.translate.apply(t),t.points.forEach(function(s){let o=n4(s.yBottom,g),m=999+Math.abs(o),x=s.plotX||0,y=nQ(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,M=d,w=x+c,S=f;h&&Math.abs(k)h?o-h:g-(b?h:0)),n1(s.options.pointWidth)&&(w-=Math.round(((M=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,M,s,l)),s.barX=w,s.pointWidth=M,s.tooltipPos=e.inverted?[nQ(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,k]:[r.left-e.plotLeft+w+S/2,nQ(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?g:v,S,s.isNull?0:k)}),n3(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=n4(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=n9(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nK(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,u=n4(a.opacity,u));let g={fill:l,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=hs(h)&&hs(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===hc(i.overflow,a?"none":"justify"),u=this.visible&&!1!==t.visible&&hs(h)&&(t.series.forceDL||a&&!p||c||hc(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=ho({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),ho(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(hl(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=ha(i.align)*(l.width-h.width),e.alignAttr.y+=ha(i.verticalAlign)*(l.height-h.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(hc(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&a&&(e.placed=!1),u||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(hh(l)&&l||hh(a)&&a||"#000000"),c=h(i),{animation:p,defer:u}=c[0],g=u?he(s,p,i):{defer:0,duration:0};hr(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let a=t.dataLabels||[];hu(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:u,style:g={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=hs(f=hc(n[t.formatPrefix+"Format"],n.format))?hi(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(g.color=hc(n.color,g.color,hh(i.color)?i.color:void 0,"#000000"),"contrast"===g.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),g.color=k||!hs(u)&&n.inside||0>hp(u||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(g.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),hd(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&hs(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&hs(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?g.width&&b.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):b.css(g).shadow(n.shadow),hr(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),hr(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-m,x=!0),(m=i.y+l+u)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+u)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(hn(t)&&!hn(e))i=t.map(function(t){return hl(t,e)});else if(hn(e)&&!hn(t))i=e.map(function(e){return hl(t,e)});else if(hn(t)||hn(e)){if(hn(t)&&hn(e))for(s=Math.max(t.length,e.length);s--;)i[s]=hl(t[s],e[s])}else i=hl(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hu(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(x||(x={}));let hg=x,{composed:hf}=L,{series:hm}=rv,{merge:hx,pick:hy,pushUnique:hb}=ti;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hy(t.below,t.plotY>hy(this.translatedThreshold,h)),c=hy(i.inside,!!this.options.stacking);if(l){if(s=hx(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hC(hO.prototype,{drawTracker:hS.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hT(hO,"afterTranslate",function(){this.applyJitter()}),rv.registerSeriesType("scatter",hO);let{deg2rad:hE}=L,{fireEvent:hL,isNumber:hD,pick:hB,relativeLength:hI}=ti;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let u=[hB(r?.[0],"50%"),hB(r?.[1],"50%"),hB(l&&l<0?void 0:t.size,"100%"),hB(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rQ||(u[3]=0),c=0;c<4;++c)p=u[c],h=c<2||2===c&&/%$/.test(p),u[c]=hI(p,[s,o,a,u[2]][c])+(h?i:0);return u[3]>u[2]&&(u[3]=u[2]),hD(n)&&2*n0&&(u[3]=u[2]-2*n),hL(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=hD(t)?t:0,s=hD(e)&&e>i&&e-i<360?e:i+360;return{start:hE*(i+-90),end:hE*(s+-90)}}}(b||(b={}));let hz=b,{setAnimation:hR}=t_,{addEvent:hN,defined:hW,extend:hG,isNumber:hX,pick:hH,relativeLength:hF}=ti;class hY extends oK{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hN(this,"select",s),hN(this,"unselect",s)}isValid(){return hX(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hR(i,s.chart),e=hH(e,!0),this.sliced=this.options.sliced=t=hW(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hG(hY.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=hF(i.crookDistance,1);m=u?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hj}=hz,{noop:hU}=L,{clamp:hV,extend:h_,fireEvent:h$,merge:hZ,pick:hq}=ti;class hK extends rQ{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hq(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:ir.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hV((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hZ(!0,n,i),hZ(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){h$(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hj(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}h$(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hK.defaultOptions=hZ(rQ.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),h_(hK.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ht.prototype.drawTracker,getCenter:hz.getCenter,getSymbol:hU,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ht.prototype.pointAttribs,pointClass:hY,requireSorting:!1,searchPoint:hU,trackerGroups:["group","dataLabelsGroup"]}),rv.registerSeriesType("pie",hK);let{composed:hJ,noop:hQ}=L,{distribute:h0}=ev,{series:h1}=rv,{arrayMax:h2,clamp:h3,defined:h5,pick:h6,pushUnique:h9,relativeLength:h4}=ti;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,u=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h1.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=h4(o?.distance||0,s);0===i&&d[t.half].push(t),!h5(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),h0(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,M=0,w=y,S="inherit";if(x){if(u&&h5(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)M=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":M=p.alignToConnectors(e,a,s,r);break;case"plotEdges":M=p.alignToPlotEdges(l,a,s,r);break;default:M=p.radialDistributionX(t,i,w-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:M+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=M,x.computed.y=w-k,h6(d.crop,!0)){let t;M-(g=l.getBBox().width)s-b&&0===a&&(t=Math.round(M+g-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===h2(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;u=s.connector,a&&a.distance>0?(n=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||u.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),u[n?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h3(r,o,e[2]-Math.max(t[0],t[2])):(r=h3(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(k||(k={}));let{pointInPolygon:h7}=k,{addEvent:lt,fireEvent:le,objectEach:li,pick:ls}=ti;function lo(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(h7({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{li(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=ls(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,lr(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let ln={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=lo,lt(t,"render",la))}},{defaultOptions:lh}=tT,{noop:ll}=L,{addEvent:ld,extend:lc,isObject:lp,merge:lu,relativeLength:lg}=ti,lf={radius:0,scope:"stack",where:void 0},lm=ll,lx=ll;function ly(t,e,i,s,o={}){let r=lm(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lg(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),u=Math.min(p,d/Math.PI*2*a),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,u=n?a-i:a+i,g=u?Math.asin(i/u):0,f=n?g:-g,m=Math.cos(g)*u;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?u:p);return r}function lb(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=lh.plotOptions?.[this.type]?.borderRadius,o=lv(t.borderRadius,lp(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(lg(o.radius,n),n/2,"all"===u?h/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),lc(a,{brBoxHeight:c,brBoxY:d,r:g})}}}}function lv(t,e){return lp(t)||(t={radius:t||0}),lu(lf,e,t)}function lk(){let t=lv(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lg(t.radius,(i.r||0)-(i.innerR||0)))}}function lM(t,e,i,s,o={}){let r=lx(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,u=Math.max(c&&l,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],M=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=w(c,c-u);f[0]-=t,m[0]+=t,x[1]=M[1]=e+c-u}if(s=lC(i.minWidth,0)&&this.chartHeight>=lC(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lP()),this.matchResponsiveRule(t,o)},this);let a=lT(...o.map(t=>lA((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lw(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lS(s,{matchResponsiveRule:e,setResponsive:i}),t}}(M||(M={}));let lO=M;L.AST=t4,L.Axis=s_,L.Chart=aQ,L.Color=tL,L.DataLabel=hg,L.DataTableCore=rc,L.Fx=tR,L.HTMLElement=i9,L.Legend=ap,L.LegendSymbol=rf,L.OverlappingDataLabels=L.OverlappingDataLabels||ln,L.PlotLineOrBand=on,L.Point=oK,L.Pointer=ra,L.RendererRegistry=ef,L.Series=rQ,L.SeriesRegistry=rv,L.StackItem=nl,L.SVGElement=e0,L.SVGRenderer=i_,L.Templating=eg,L.Tick=sm,L.Time=tv,L.Tooltip=oL,L.animate=t_.animate,L.animObject=t_.animObject,L.chart=aQ.chart,L.color=tL.parse,L.dateFormat=eg.dateFormat,L.defaultOptions=tT.defaultOptions,L.distribute=ev.distribute,L.format=eg.format,L.getDeferredAnimation=t_.getDeferredAnimation,L.getOptions=tT.getOptions,L.numberFormat=eg.numberFormat,L.seriesType=rv.seriesType,L.setAnimation=t_.setAnimation,L.setOptions=tT.setOptions,L.stop=t_.stop,L.time=tT.defaultTime,L.timers=tR.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;ld(t,"afterColumnTranslate",lb,{order:9}),ld(s,"afterTranslate",lk),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),lm=o.arc,lx=o.roundedRect,o.arc=ly,o.roundedRect=lM}},optionsToObject:lv}).compose(L.Series,L.SVGElement,L.SVGRenderer),hv.compose(L.Series.types.column),hg.compose(L.Series),sJ.compose(L.Axis),i9.compose(L.SVGRenderer),ap.compose(L.Chart),s2.compose(L.Axis),ln.compose(L.Chart),h8.compose(L.Series.types.pie),on.compose(L.Chart,L.Axis),ra.compose(L.Chart),lO.compose(L.Chart),ne.compose(L.Axis,L.Chart,L.Series),nO.compose(L.Axis,L.Chart,L.Series),oL.compose(L.Pointer),ti.extend(L,ti);let{tooltipFormatter:lE}=oK.prototype,{addEvent:lL,arrayMax:lD,arrayMin:lB,correctFloat:lI,defined:lz,isArray:lR,isNumber:lN,isString:lW,pick:lG}=ti;!function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach(function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||lW(e)||i.setCumulative(e,!1)}),lG(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],lG(e.series.tooltipOptions.changeDecimals,2)))};return lz(e.change)&&s("change"),lz(e.cumulativeSum)&&s("cumulativeSum"),lE.apply(this,[t])}function s(){let t;let e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new d(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function o(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&lR(i)&&i.length>=2&&(t=d.getCumulativeExtremes(i)),t&&(e.dataMin=lB(t),e.dataMax=lD(t))}}function r(t,e){this.options.compare=this.userOptions.compare=t,this.update({},lG(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(t=>{delete t.change})}function a(){let t=this.getColumn(this.pointArrayMap&&(this.options.pointValKey||this.pointValKey)||"y",!0);if(this.xAxis&&t.length&&this.dataModify){let e=this.getColumn("x",!0),i=this.dataTable.rowCount,s=!0===this.options.compareStart?0:1;for(let o=0;o=(this.xAxis.min||0)){this.dataModify.compareValue=i;break}}}}function n(t,e){this.setModifier("compare",t,e)}function h(t,e){t=lG(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},lG(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function l(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,d,c){let p=d.prototype,u=c.prototype,g=t.prototype;return g.setCompare||(g.setCompare=r,g.setCumulative=h,lL(t,"afterInit",s),lL(t,"afterGetExtremes",o),lL(t,"afterProcessData",a)),p.setCompare||(p.setCompare=n,p.setModifier=e,p.setCumulative=l,u.tooltipFormatter=i),t};class d{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce((t,s)=>{let o=t+s;return e=Math.min(e,o,t),i=Math.max(i,o,t),o}),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=lI(i.cumulativeSum+t));let s=this.series.points[e],o=s.series.options.cumulativeStart,r=s.x<=this.series.xAxis.max&&s.x>=this.series.xAxis.min;return s&&(!o||r?s.cumulativeSum=t:s.cumulativeSum=void 0),t}return 0}}}t.Additions=d}(w||(w={}));let lX=w,{isTouchDevice:lH}=L,{addEvent:lF,merge:lY,pick:lj}=ti,lU=[];function lV(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function l_(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=lj(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+lj(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function l$(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),lj(t.redraw,!0)&&this.redraw(t.animation))}function lZ(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function lq(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!lH&&"x"===this.zooming.type||lH&&"x"===this.zooming.pinchType))return!1}function lK(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function lJ(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(lY(!0,this.options.navigator,e),lY(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let lQ={compose:function(t,e){if(ti.pushUnique(lU,t)){let s=t.prototype;i=e,s.callbacks.push(lK),lF(t,"afterAddSeries",lV),lF(t,"afterSetChartSize",l_),lF(t,"afterUpdate",l$),lF(t,"beforeRender",lZ),lF(t,"beforeShowResetZoom",lq),lF(t,"update",lJ)}}},{isTouchDevice:l0}=L,{addEvent:l1,correctFloat:l2,defined:l3,isNumber:l5,pick:l6}=ti;function l9(){this.navigatorAxis||(this.navigatorAxis=new l8(this))}function l4(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||l0&&"xy"===a)&&this.options.range){let e=r.previousZoom;l3(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class l8{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),l1(t,"init",l9),l1(t,"setExtremes",l4))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=l6(i,o.translate(t,!0,!o.horiz)),n=l6(s,o.translate(e,!0,!o.horiz));return l3(i)||(a=l2(a+r)),l3(s)||(n=l2(n-r)),l5(a)&&l5(n)||(a=n=void 0),{min:a,max:n}}}let{parse:l7}=tL,{seriesTypes:dt}=rv,de={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:l7("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===dt.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:di}=ti,ds={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,a=di(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...ir.rect(-r-1,.5,2*r+1,s,{r:a})]}},{defined:dr}=ti,da={setFixedRange:function(t){let e=this.xAxis[0];dr(e.dataMax)&&dr(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{setOptions:dn}=tT,{composed:dh}=L,{getRendererType:dl}=ef,{setFixedRange:dd}=da,{addEvent:dc,extend:dp,pushUnique:du}=ti;function dg(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let df={compose:function(t,e,i){l8.compose(e),du(dh,"Navigator")&&(t.prototype.setFixedRange=dd,dp(dl().prototype.symbols,ds),dc(i,"afterUpdate",dg),dn({navigator:de}))}},{composed:dm}=L,{addEvent:dx,defined:dy,pick:db,pushUnique:dv}=ti;!function(t){let e;function i(t){let e=db(t.options&&t.options.min,t.min),i=db(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:dy(t.dataMin)?Math.min(e,t.min,t.dataMin,db(t.threshold,1/0)):e,scrollMax:dy(t.dataMax)?Math.max(i,t.max,t.dataMax,db(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),dx(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:a,scrollMin:n,scrollMax:h}=i(t),l=h-n;if(dy(r)&&dy(a)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=n+l*this.to,o=n+l*this.from):(s=n+l*(1-this.from),o=n+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),a=this.scrollbar,n=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=n),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=n),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(r)||!dy(this.min)||!dy(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){dv(dm,"Axis.Scrollbar")&&(e=i,dx(t,"afterGetOffset",s),dx(t,"afterInit",o),dx(t,"afterRender",r))}}(S||(S={}));let dk=S,dM={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:dw}=tT,{addEvent:dS,correctFloat:dA,crisp:dT,defined:dC,destroyObjectProperties:dP,fireEvent:dO,merge:dE,pick:dL,removeEvent:dD}=ti;class dB{static compose(t){dk.compose(t,dB)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,dP(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let a=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),a.attr(a.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},a.strokeWidth()));let n=e.path(dB.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dE(dM,dw.scrollbar,e),this.options.margin=dL(this.options.margin,10),this.chart=i,this.size=dL(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dO(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dO(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){dD.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-dT(0,r),y:-dT(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(dB.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-dT(0,this.scrollbarStrokeWidth),-dT(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,a=o.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!dC(n))return;let l=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=dA(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dL(this.options.liveRedraw,L.svg&&!L.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!dC(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dO(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dE(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=dA(1-dA(e-t)),e=1),t<0&&(e=dA(e-t),t=0),this.from=t,this.to=e}}dB.defaultOptions=dM,dw.scrollbar=dE(!0,dB.defaultOptions,dw.scrollbar);let{defaultOptions:dI}=tT,{isTouchDevice:dz}=L,{prototype:{symbols:dR}}=i_,{addEvent:dN,clamp:dW,correctFloat:dG,defined:dX,destroyObjectProperties:dH,erase:dF,extend:dY,find:dj,fireEvent:dU,isArray:dV,isNumber:d_,merge:d$,pick:dZ,removeEvent:dq,splat:dK}=ti;function dJ(t,...e){let i=[].filter.call(e,d_);if(i.length)return Math[t].apply(0,i)}class dQ{static compose(t,e,i){lQ.compose(t,dQ),df.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-a,u=d+c,g=this.left,f,m;i?(f=d+e+n,e=d+t+n,m=[["M",g+c,d-h-n],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+l+h]],o&&m.push(["M",g+c,f-a],["L",g+c,e+a])):(g-=h,t+=g+h-n,e+=g+h-n,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+l+2*h,p]],o&&m.push(["M",t-a,p],["L",e+a,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,a,n;let h=this.left,l=this.top,d=this.height;i?(a=[h,h,h],n=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(a=[h,h+t,h+e],n=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(a))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=dR[l].call(dR,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(a)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(d$(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),dX(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{dq(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(dN(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!dX(i))return;if(this.isDirty&&this.renderElements(),t=dG(t-a/2),e=dG(e+a/2),!d_(t)||!d_(e)){if(!l)return;i=0,s=dZ(r.width,n.width)}this.left=dZ(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=y=dZ(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:y+2*u,i=dZ(i,r.toPixels(t,!0)),s=dZ(s,r.toPixels(e,!0)),d_(i)&&Math.abs(i)!==1/0||(i=0,s=g);let k=r.toValue(i,!0),M=r.toValue(s,!0),w=Math.abs(dG(M-k));wp&&(this.grabbedLeft?i=r.toPixels(M-p-a,!0):this.grabbedRight&&(s=r.toPixels(k+p+a,!0))),this.zoomedMax=dW(Math.max(i,s),0,v),this.zoomedMin=dW(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-u,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*u):(m=this.top+(h?this.height:-x),f=this.left-u),this.scrollbar.position(f,m,g,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,dU(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(dN(e.renderTo,"mousemove",o),dN(i.ownerDocument,"mouseup",r),dN(e.renderTo,"touchmove",o),dN(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(dN(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(dN(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,dX((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&dU(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&dZ(e.scrollbar.options.liveRedraw,!dz&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a;let n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),dX((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&dU(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&d_(this.zoomedMin)&&d_(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){dq(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&dq(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,a=s&&i.height||0,n=r&&o.height||0,h=o.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=a,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new s_(t,d$({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:a}:{offsets:e,height:a}),"xAxis"),l.yAxis=new s_(t,d$(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:dZ(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:a}:{height:a}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=dN(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,a=dJ("min",s.options.min,o.dataMin),n=dJ("max",s.options.max,o.dataMax)-a;return i?e*n/r+a:r*(e-a)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=l8.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=d$(t.options.scrollbar,{vertical:t.inverted});!d_(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new dB(t.renderer,e,t),dN(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=dZ(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,a=i.options;return t&&null===i.dataMin||(e={dataMin:dZ(s.parse(r?.min),dJ("min",s.parse(a.min),i.dataMin,o.dataMin,o.min)),dataMax:dZ(s.parse(r?.max),dJ("max",s.parse(a.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?dj(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(dq(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=dY({color:t.color,visible:t.visible},dV(l)?dI.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(n=t.options||{}).navigatorOptions||{},p.dataLabels=dK(p.dataLabels),(h=d$(n,r,p,d)).pointRange=dZ(p.pointRange,d.pointRange,dI.plotOptions[h.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,h.data=u||n.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,a.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||dV(l))&&(i.hasNavigatorData=!1,(l=dK(l)).forEach((t,e)=>{r.name="Navigator "+(a.length+1),(h=d$(dI.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(dN(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(dN(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(dN(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(dN(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(dN(i,"remove",function(){e&&dF(e,i),this.navigatorSeries&&t.series&&(dF(t.series,this.navigatorSeries),dX(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=dZ(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(l||d)&&d_(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=dZ(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(d_(o)&&d_(r))&&(a&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{dH(t)}),this.navigatorEnabled=!1}}let{addEvent:d0,correctFloat:d1,css:d2,defined:d3,error:d5,isNumber:d6,pick:d9,timeUnits:d4,isString:d8}=ti;!function(t){function e(t,i,s,o,r=[],a=0,n){let h={},l=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,f,m,x=0,y=[],b=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*a||m){if(r[p]>b){for(u=d.getTimeTicks(t,r[x],r[p],o);u.length&&u[0]<=b;)u.shift();u.length&&(b=u[u.length-1]),c.push(y.length),y=y.concat(u)}x=p+1}if(m)break}if(u){if(f=u.info,n&&f.unitRange<=d4.hour){for(x=1,p=y.length-1;xt-e),(n=i[Math.floor(i.length/2)])<.6*l&&(n=null),c=y[t-1]>s?t-1:t,a=void 0;c--;)d=Math.abs(a-(r=e[c])),a&&d<.8*l&&(null===n||d<.8*n)?(h[y[c]]&&!h[y[c+1]]?(o=c+1,a=r):o=c,y.splice(o,1)):a=r}return y}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=d1((t-i)*s+this.minPixelPadding),a=d1(e.getIndexOfPoint(r,o)),n=d1(a%1);if(a>=0&&a<=o.length-1){let t=o[Math.floor(a)],e=o[Math.ceil(a)];return o[Math.floor(a)]+n*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function a(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&d3(e.overscroll)&&0!==e.overscroll&&d6(this.max)&&d6(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&d3(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function n(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function h(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function l(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let a=this.mouseDownX,n=e.getExtremes(),h=n.dataMin,l=n.dataMax,d=n.min,c=n.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((a-s)/(e.translationSlope*(e.ordinal.slope||u))),f=e.ordinal.getExtendedPositions(),m={ordinal:{positions:f,extendedOrdinalPositions:f}},x=e.index2val,y=e.val2lin;if(d<=h&&g<0||c+i>=l&&g>0)return;m.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),l>(o=m.ordinal.positions)[o.length-1]&&o.push(l),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(m,[y.apply(m,[d,!0])+g]),x.apply(m,[y.apply(m,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,d2(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,a=s.slope,n;if(!r)return t;let h=r.length;if(r[0]<=t&&r[h-1]>=t)i=o(r,t);else{if(!((n=s.getExtendedPositions&&s.getExtendedPositions())&&n.length))return t;let h=n.length;a||(a=(n[h-1]-n[0])/h);let l=o(n,r[0]);if(t>=n[0]&&t<=n[h-1])i=o(n,t)-l;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(y=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(n=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),f=Math.min(f,d9(t.closestPointRange,f)),n)){for(e=0;e2){for(l=g[1]-g[0],u=n-1;u--&&!m;)g[u+1]-g[u]!==l&&(m=!0);!t.options.keepOrdinalPadding&&(g[0]-s>l||o-g[g.length-1]>l)&&(m=!0)}else t.options.overscroll&&(2===n?f=g[1]-g[0]:1===n?(f=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=d9(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=a&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),a=t?i.ordinal.convertOverscroll(i.options.overscroll):0,n=i.getExtremes(),h,l,d=e.index;return d||(d=e.index={}),!d[r]&&((h={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:n.dataMin,max:n.dataMax+a}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=h,i.series.forEach(i=>{l={xAxis:h,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:L.noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);l.dataTable=new rc({columns:{x:s}}),l.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},h.series.push(l),i.processData.apply(l)}),h.applyGrouping({hasExtremesChanged:!0}),l?.closestPointRange!==l?.basePointRange&&l.currentDataGrouping&&(h.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:h}),!i.ordinal.originalOrdinalRange&&h.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=h.ordinal.originalOrdinalRange),h.ordinal.positions&&(d[r]=h.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],a,n,h=this.groupIntervalFactor;if(!h){for(n=0;nt()),cd.splice(t,1);return}}}function cx(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function cy(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,o=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!co(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new s(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==o)&&(this.isDirtyBox=!0)}}let cb={compose:function(t,e,i){if(s=i,cl(ci,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=cc,cs(e,"afterGetContainer",cu),cs(e,"beforeRender",cg),cs(e,"destroy",cm),cs(e,"getMargins",cx),cs(e,"redraw",cf),cs(e,"update",cy),cs(e,"beforeRedraw",cp),i.callbacks.push(cf),cr(ce,{rangeSelector:ct.rangeSelector}),cr(ce.lang,ct.lang)}}},{defaultOptions:cv}=tT,{addEvent:ck,createElement:cM,css:cw,defined:cS,destroyObjectProperties:cA,diffObjects:cT,discardElement:cC,extend:cP,fireEvent:cO,isNumber:cE,isString:cL,merge:cD,objectEach:cB,pick:cI,splat:cz}=ti;function cR(t){let e=e=>RegExp(`%[[a-zA-Z]*${e}`).test(t);if(cL(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=cL(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=cL(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class cN{static compose(t,e){cb.compose(t,e,cN)}constructor(t){this.isDirty=!1,this.buttonOptions=cN.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,h=r.dataMin,l=r.dataMax,d,c=cE(o?.max)?Math.round(Math.min(o.max,l??o.max)):void 0,p,u=s._range,g,f,m,x=!0;if(null!==h&&null!==l){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,s_.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),"month"===a||"year"===a)o?(f={range:s,max:c,chart:i,dataMin:h,dataMax:l},d=o.minFromRange.call(f),cE(f.newMax)&&(c=f.newMax),x=!1):u=s;else if(u)cE(c)&&(c=Math.min((d=Math.max(c-u,h))+u,l),x=!1);else if("ytd"===a){if(o)!o.hasData()||cE(l)&&cE(h)||(h=Number.MAX_VALUE,l=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(h=Math.min(e[0],h),l=Math.max(e[e.length-1],l))}),e=!1),cE(l)&&cE(h)&&(d=g=(m=this.getYTDExtremes(l,h)).min,c=m.max);else{this.deferredYTDClick=t;return}}else"all"===a&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=h,c=l);if(x&&s._offsetMin&&cS(d)&&(d+=s._offsetMin),s._offsetMax&&cS(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)cE(d)&&cE(c)&&(o.setExtremes(d,c,cI(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=cz(i.options.xAxis||{})[0];let t=ck(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});ck(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}cO(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&cO(t,"blur"),i&&i.blur&&cO(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(ck(t.container,"mousedown",r)),this.eventsToUnbind.push(ck(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(ck(t,"load",function(){t.xAxis&&t.xAxis[0]&&ck(t.xAxis[0],"setExtremes",function(i){cE(this.max)&&cE(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),a=!o.hasVisibleSeries,n=24*36e5,h=e.scroller&&e.scroller.getUnionExtremes()||o,l=h.dataMin,d=h.dataMax,c=t.getYTDExtremes(d,l),p=c.min,u=c.max,g=t.selected,f=t.options.allButtonsEnabled,m=Array(t.buttonOptions.length).fill(0),x=cE(g),y=t.buttons,b=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,h=e.type,c=e.count||1,y=e._offsetMax-e._offsetMin,k=i===g,M=s>d-l,w=ss&&(A=!0)}else("month"===h||"year"===h)&&r+36e5>=({month:28,year:365})[h]*n*c-y&&r-36e5<=({month:31,year:366})[h]*n*c+y?A=!0:"ytd"===h?(A=u-p+y===r,S=!k):"all"===h&&(A=o.max-o.min>=d-l);let T=!f&&!(b&&"all"===h)&&(M||w||a),C=b&&"all"===h||!S&&A||k&&t.frozenStates;T?m[i]=3:C&&(!x||i===g)&&(v=i)}),null!==v?(m[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(cv.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:ch&&(c=h)),void 0!==c&&r.setExtremes(l?c:r.min,l?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=h[l?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=a.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?n.inputBoxHeight:0}).add(s),u=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:n.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=cM("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",cR(n.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(cD(r,n.labelStyle)),u.css(cD({color:"#333333"},r,n.inputStyle)),cw(g,cP({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},n.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===L.doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let f=!1;return g.onchange=()=>{f||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{f=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{f=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=cI(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=cM("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(cS(o.dataMin)&&cS(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=cv.lang,o=e.renderer,r=cD(i.buttonTheme),a=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let n=this.dropdown=cM("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),h=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},cD(r,{"stroke-width":cI(r["stroke-width"],0),width:"auto",paddingLeft:cI(i.buttonTheme.paddingLeft,h?.padding,8),paddingRight:cI(i.buttonTheme.paddingRight,h?.padding,8)}),a&&a.hover,a&&a.select,a&&a.disabled).hide().add(this.group),ck(n,"touchstart",()=>{n.style.fontSize="16px"});let l=L.isMS?"mouseover":"mouseenter",d=L.isMS?"mouseout":"mouseleave";ck(n,l,()=>{cO(this.dropdownLabel.element,l)}),ck(n,d,()=>{cO(this.dropdownLabel.element,d)}),ck(n,"change",()=>{cO(this.buttons[n.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),cM("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n),this.createButtons()}createButtons(){let{options:t}=this,e=cD(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:a,options:n}=this,h=a.renderer,l=cD(n.buttonTheme);o?.add(cM("option",{textContent:t.title||t.text}),e+2),r[e]=h.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},l,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:a}=this,n=i.options,h=n.exporting&&!1!==n.exporting.enabled&&n.navigation&&n.navigation.buttonOptions,{buttonPosition:l,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>h&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(h.y||0)+(h.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&l&&d){let n=l.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;a&&(t+=a.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,l,"right"===l.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let h=0;r.inputEnabled&&o&&(h=p(o,d,"right"===l.align||"right"===d.align),"left"===d.align?n=u:"right"===d.align&&(n=-Math.max(i.axisOffset[1],-h)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+n-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(h),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,f=s.getBBox().height+20,m=0;if("bottom"===c){let t=i.legend&&i.legend.options;m=g-(f=f+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+cI(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===l.y?m=g:(d.y||l.y)&&(d.y<0||l.y<0?m-=Math.min(d.y,l.y):m=g-f)),s.translate(r.x,r.y+Math.floor(m));let{minInput:x,maxInput:y,dropdown:b}=this;r.inputEnabled&&x&&y&&(x.style.marginTop=s.translateY+"px",y.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=cD(s.buttonTheme),r=o&&o.states,a=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(cT(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,a,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i?n.align===r.align?(h(),o>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):o-t+s.getBBox().width>e.plotWidth?"responsive"===a?this.collapseButtons():h():this.expandButtons():i&&"responsive"===a&&(o>e.plotWidth?this.collapseButtons():this.expandButtons()),i&&("always"===a&&this.collapseButtons(),"never"===a&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),cw(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),cw(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;let h=Math.min(a,r);return(a<0&&r<0||a>0&&r>0)&&(n+=Math.abs(h)),n}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(cD(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),cS(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),cA(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),cB(t,function(e,i){e&&"chart"!==i&&(e instanceof e0?e.destroy():e instanceof window.HTMLElement&&cC(e),delete t[i]),e!==cN.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}cP(cN.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let{format:cW}=eg,{getOptions:cG}=tT,{setFixedRange:cX}=da,{addEvent:cH,clamp:cF,crisp:cY,defined:cj,extend:cU,find:cV,isNumber:c_,isString:c$,merge:cZ,pick:cq,splat:cK}=ti;function cJ(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!!(e.categories||"category"===e.type),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function cQ(t,e){if("xAxis"===t){let t=cq(e.navigator&&e.navigator.enabled,de.enabled,!0),i={type:"datetime",categories:void 0};return t&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class c0 extends aQ{init(t,e){let i=cG(),s=t.xAxis,o=t.yAxis,r=cq(t.navigator&&t.navigator.enabled,de.enabled,!0);t.xAxis=t.yAxis=void 0;let a=cZ({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:cq(dM.enabled,!0)},rangeSelector:{enabled:cq(ct.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:cq(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=s,t.yAxis=o,a.xAxis=cK(t.xAxis||{}).map(e=>cZ(cJ("xAxis",e,i.xAxis),e,cQ("xAxis",t))),a.yAxis=cK(t.yAxis||{}).map(t=>cZ(cJ("yAxis",t,i.yAxis),t)),super.init(a,e)}createAxis(t,e){return e.axis=cZ(cJ(t,e.axis,cG()[t]),e.axis,cQ(t,this.userOptions)),super.createAxis(t,e)}}cH(aQ,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(cZ(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),function(t){function e(t){if(!(this.crosshair?.label?.enabled&&this.cross&&c_(this.min)&&c_(this.max)))return;let e=this.chart,i=this.logarithmic,s=this.crosshair.label,o=this.horiz,r=this.opposite,a=this.left,n=this.top,h=this.width,l="inside"===this.options.tickPosition,d=!1!==this.crosshair.snap,c=t.e||this.cross?.e,p=t.point,u=this.crossLabel,g,f,m=s.format,x="",y,b=0,v=this.min,k=this.max;i&&(v=i.lin2log(this.min),k=i.lin2log(this.max));let M=o?"center":r?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";u||(u=this.crossLabel=e.renderer.label("",0,void 0,s.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(p&&p.series?p.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:s.align||M,padding:cq(s.padding,8),r:cq(s.borderRadius,3),zIndex:2}).add(this.labelGroup),e.styledMode||u.attr({fill:s.backgroundColor||p&&p.series&&p.series.color||"#666666",stroke:s.borderColor||"","stroke-width":s.borderWidth||0}).css(cU({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},s.style||{}))),o?(g=d?(p.plotX||0)+a:c.chartX,f=n+(r?0:this.height)):(g=a+this.offset+(r?h:0),f=d?(p.plotY||0)+n:c.chartY),m||s.formatter||(this.dateTime&&(x="%b %d, %Y"),m="{value"+(x?":"+x:"")+"}");let w=d?this.isXAxis?p.x:p.y:this.toValue(o?c.chartX:c.chartY),S=p&&p.series?p.series.isPointInside(p):c_(w)&&w>v&&w=y.right&&(b=-(C+T.width-y.right)),u.attr({x:Math.max(0,g+b),y:Math.max(0,f),anchorX:o?g:this.opposite?0:e.chartWidth,anchorY:o?this.opposite?e.chartHeight:0:f+T.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function o(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function r(t){let e=this,i=e.isLinked&&!e.series&&e.linkedParent?e.linkedParent.series:e.series,s=e.chart,o=s.renderer,r=e.left,a=e.top,n=[],h=t.translatedValue,l=t.value,d=t.force,c,p,u,g,f=[],m,x;if(s.options.isStock&&!1!==t.acrossPanes&&"xAxis"===e.coll||"yAxis"===e.coll){for(let o of(t.preventDefault(),f=(t=>{let o="xAxis"===t?"yAxis":"xAxis",r=e.options[o];return c_(r)?[s[o][r]]:c$(r)?[s.get(r)]:i.map(t=>t[o])})(e.coll),e.isXAxis?s.yAxis:s.xAxis))if(!o.options.isInternal){let t=o.isXAxis?"yAxis":"xAxis";e===(cj(o.options[t])?s[t][o.options[t]]:s[t][0])&&f.push(o)}for(let t of(m=f.length?[]:[e.isXAxis?s.yAxis[0]:s.xAxis[0]],f))-1!==m.indexOf(t)||cV(m,e=>e.pos===t.pos&&e.len===t.len)||m.push(t);if(c_(x=cq(h,e.translate(l||0,void 0,void 0,t.old)))){if(e.horiz)for(let t of m){let i;g=(p=t.pos)+t.len,c=u=Math.round(x+e.transB),"pass"!==d&&(cr+e.width)&&(d?c=u=cF(c,r,r+e.width):i=!0),i||n.push(["M",c,p],["L",u,g])}else for(let t of m){let i;u=(c=t.pos)+t.len,p=g=Math.round(a+e.height-x),"pass"!==d&&(pa+e.height)&&(d?p=g=cF(p,a,a+e.height):i=!0),i||n.push(["M",c,p],["L",u,g])}}t.path=n.length>0?o.crispPolyLine(n,t.lineWidth||1):void 0}}function a(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=cZ(t.plotOptions[this.type],e))}}function n(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&cq(e.enabled,t.options.isStock)}function h(t,e){for(let i=0;i`plot${t.charAt(0).toUpperCase()+t.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(i,r){let a=o[i];null!==a&&(t.dataModify&&(a=t.dataModify.modifyValue(a)),o[s[r]]=e.toPixels(a,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}c4.defaultOptions=c9(c3.defaultOptions,{lineWidth:1,tooltip:{pointFormat:' {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),c6(c4.prototype,{pointClass:class extends c2{},animate:null,directTouch:!1,keysAffectYAxis:["low","high"],pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),rv.registerSeriesType("hlc",c4);let{seriesTypes:{hlc:c8}}=rv;class c7 extends c8.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}),po(pl.prototype,{pointClass:c7,pointArrayMap:["open","high","low","close"]}),rv.registerSeriesType("ohlc",pl);let{column:pd,ohlc:pc}=rv.seriesTypes,{crisp:pp,merge:pu}=ti;class pg extends pc{pointAttribs(t,e){let i=pd.prototype.pointAttribs.call(this,t,e),s=this.options,o=t.openo&&(i-=Math.round((r-o)/2),o=r),n=t[e](i,s,o,r,a),h&&l){let a=h;if("circle"===e)a=i+o/2;else{let t=n[0],e=n[1];"M"===t[0]&&"L"===e[0]&&(a=(t[1]+e[1])/2)}let d=s>l?s:s+r;n.push(["M",a,d],["L",h,l]),n=n.concat(t.circle(h-1,l-1,2,2))}return n}}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let o=t.prototype.symbols;o.flag=i,s(o,"circle"),s(o,"square")}let o=ef.getRendererType();e.indexOf(o)&&e.push(o)}}(T||(T={}));let py=T,{composed:pb}=L,{prototype:pv}=ht,{prototype:pk}=rQ,{defined:pM,pushUnique:pw,stableSort:pS}=ti;!function(t){function e(t){return pk.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){pv.translate.apply(this);let t=this,e=t.options,i=t.chart,s=t.points,o=e.onSeries,r=o&&i.get(o),a=r&&r.options.step,n=r&&r.points,h=i.inverted,l=t.xAxis,d=t.yAxis,c=s.length-1,p,u,g=e.onKey||"y",f=n&&n.length,m=0,x,y,b,v,k;if(r&&r.visible&&f){for(m=(r.pointXOffset||0)+(r.barW||0)/2,v=r.currentDataGrouping,y=n[f-1].x+(v?v.totalRange:0),pS(s,(t,e)=>t.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);f--&&s[c];)if(x=n[f],(p=s[c]).y=x.y,x.x<=p.x&&void 0!==x[g]){if(p.x<=y&&(p.plotY=x[g],x.xMath.pow(1-o,3)*t[r]+3*(1-o)*(1-o)*o*i[r]+3*(1-o)*o*o*s[r]+o*o*o*e[r],r=0,a=1,n;for(let t=0;t<100;t++){let t=(r+a)/2,e=o(t,0);if(null===e)break;if(.25>Math.abs(e-p.plotX)){n=t;break}e{let o;e.plotX+=m,(void 0===e.plotY||h)&&(e.plotX>=0&&e.plotX<=l.len?h?(e.plotY=l.translate(e.x,0,1,0,1),e.plotX=pM(e.y)?d.translate(e.y,0,0,0,1):0):e.plotY=(l.opposite?0:t.yAxis.len)+l.offset:e.shapeArgs={}),(u=s[i-1])&&u.plotX===e.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),o=u.stackIndex+1),e.stackIndex=o}),this.onSeries=r}t.compose=function(t){if(pw(pb,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(C||(C={}));let pA=C,{noop:pT}=L,{distribute:pC}=ev,{series:pP,seriesTypes:{column:pO}}=rv,{addEvent:pE,defined:pL,extend:pD,isNumber:pB,merge:pI,objectEach:pz,wrap:pR}=ti;class pN extends pO{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,h,l,d;let c=this.points,p=this.chart,u=p.renderer,g=p.inverted,f=this.options,m=f.y,x=this.yAxis,y={},b=[],v=pB(f.borderRadius)?f.borderRadius:0;for(s=c.length;s--;)o=c[s],l=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||f.shape,void 0!==(e=o.plotY)&&(e=o.plotY+m-(void 0!==a&&a*f.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,d="flag"!==i,r=o.graphic,void 0!==e&&t>=0&&!l?(r&&o.hasNewShapeType()&&(r=r.destroy()),r||(r=o.graphic=u.label("",0,void 0,i,void 0,void 0,f.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:d?"center":"left",width:f.width,height:f.height,"text-align":f.textAlign,r:v}),p.styledMode||r.attr(this.pointAttribs(o)).css(pI(f.style,o.style)).shadow(f.shadow),t>0&&(t-=r.strokeWidth()%2),h={y:e,anchorY:n},f.allowOverlapX&&(h.x=t,h.anchorX=o.anchorX),r.attr({text:o.options.title??f.title??"A"})[r.isNew?"attr":"animate"](h),f.allowOverlapX||(y[o.plotX]?y[o.plotX].size=Math.max(y[o.plotX].size,r.width||0):y[o.plotX]={align:d?.5:0,size:r.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+x.pos-p.plotTop]):r&&(o.graphic=r.destroy());if(!f.allowOverlapX){let t=100;for(let e of(pz(y,function(e){e.plotX=e.anchorX,b.push(e),t=Math.max(e.size,t)}),pC(b,g?x.len:this.xAxis.len,t),c)){let t=e.plotX,i=e.graphic,s=i&&y[t];s&&i&&(pL(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}f.useHTML&&this.markerGroup&&pR(this.markerGroup,"on",function(t){return e0.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=pE(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,r=t&&t.lineWidth,a=t&&t.fillColor||i.fillColor;return e&&(a=i.states[e].fillColor,o=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:a||s,stroke:o||s,"stroke-width":r||i.lineWidth||0}}setClip(){pP.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}pN.compose=py.compose,pN.defaultOptions=pI(pO.defaultOptions,{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}),pA.compose(pN),pD(pN.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:px,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:pT,init:pP.prototype.init}),rv.registerSeriesType("flags",pN);let{addEvent:pW,find:pG,fireEvent:pX,isArray:pH,isNumber:pF,pick:pY}=ti;!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,a;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(a&&!1!==a.visible||(a=i[r+1]),t=i[r],!1!==a.visible&&!1!==t.visible){if(a.x-t.x>o){let e=(t.x+a.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new nl(s,s.options.stackLabels,!1,e,this.stack)).total=0)}a=t}}return this.getGraphPath(i)}t.compose=function(t,l){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),pW(t,"init",o),pW(t,"afterInit",e),pW(t,"afterSetTickPositions",s),pW(t,"afterSetOptions",i);let d=l.prototype;d.drawBreaks=n,d.gappedPath=h,pW(l,"afterGeneratePoints",r),pW(l,"afterRender",a)}return t};class l{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(l.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return pG(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==l.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=l.lin2Val,s.val2lin=l.val2Lin,s.setExtremes=function(t,e,o,r,a){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=h;for(;pthis.chart.plotSizeX/i||o&&r.forced)&&(s=!0));return s?i:0}function p4(){this.series.forEach(function(t){t.hasProcessed=!1})}function p8(t,e){let i;if(e=p5(e,!0),t||(t={forced:!1,units:null}),this instanceof o)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:p3(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}let p7={compose:function(t){o=t;let e=t.prototype;e.applyGrouping||(p1(t,"afterSetScale",p4),p1(t,"postProcessData",p6),p2(e,{applyGrouping:p6,getGroupPixelWidth:p9,setDataGrouping:p8}))}},{series:{prototype:ut}}=rv,{addEvent:ue,defined:ui,error:us,extend:uo,isNumber:ur,merge:ua,pick:un,splat:uh}=ti,ul=ut.generatePoints;function ud(t){var e;let i,s;let o=this.chart,r=this.options.dataGrouping,a=!1!==this.allowDG&&r&&un(r.enabled,o.options.isStock),n=this.reserveSpace(),h=this.currentDataGrouping,l,d,c=!1;a&&!this.requireSorting&&(this.requireSorting=c=!0);let p=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!a;if(c&&(this.requireSorting=!1),p)return;this.destroyGroupedData();let u=r.groupAll?this.dataTable:this.dataTable.modified||this.dataTable,g=this.getColumn("x",!r.groupAll),f=o.plotSizeX,m=this.xAxis,x=m.getExtremes(),y=m.options.ordinal,b=this.groupPixelWidth;if(b&&g&&u.rowCount&&f&&ur(x.min)){s=!0,this.isDirty=!0,this.points=null;let t=x.min,a=x.max,h=y&&m.ordinal&&m.ordinal.getGroupIntervalFactor(t,a,this)||1,c=b*(a-t)/f*h,p=m.getTimeTicks(sJ.Additions.prototype.normalizeTimeTickInterval(c,r.units||p0.units),Math.min(t,g[0]),Math.max(a,g[g.length-1]),m.options.startOfWeek,g,this.closestPointRange),v=ut.groupData.apply(this,[u,p,r.approximation]),k=v.modified,M=k.getColumn("x",!0),w=0;for(r?.smoothed&&k.rowCount&&(r.firstAnchor="firstPoint",r.anchor="middle",r.lastAnchor="lastPoint",us(32,!1,o,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),i=1;i=e[0]){let i;c++;let s=t.groupMap[0].start,a=t.groupMap[0].length;ur(s)&&ur(a)&&(i=s+(a-1)),e[0]=({start:e[0],middle:e[0]+.5*o,end:e[0]+o,firstPoint:r[0],lastPoint:i&&r[i]})[h]}if(a>0&&l&&o&&e[a]>=i-o){d--;let i=t.groupMap[t.groupMap.length-1].start;e[a]=({start:e[a],middle:e[a]+.5*o,end:e[a]+o,firstPoint:i&&r[i],lastPoint:r[r.length-1]})[l]}if(n&&"start"!==n){let t=o*({middle:.5,end:1})[n];for(;d>=c;)e[d]+=t,d--}}(this,M||[],a),n&&M&&(ui((e=M)[0])&&ur(m.min)&&ur(m.dataMin)&&e[0]m.max&&((!ui(m.options.max)&&ur(m.dataMax)&&m.max>=m.dataMax||m.max===m.dataMax)&&(m.max=Math.max(e[e.length-1],m.max)),m.dataMax=Math.max(e[e.length-1],m.dataMax))),r.groupAll&&(this.allGroupedTable=k,M=(k=(d=this.cropData(k,m.min||0,m.max||0)).modified).getColumn("x"),this.cropStart=d.start),this.dataTable.modified=k}else this.groupMap=void 0,this.currentDataGrouping=void 0;this.hasGroupedData=s,this.preventGraphAnimation=(h&&h.totalRange)!==(l&&l.totalRange)}function uc(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function up(){ul.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function uu(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function ug(t,e,i){let s=t.getColumn("x",!0)||[],o=t.getColumn("y",!0),r=this,a=r.data,n=r.options&&r.options.data,h=[],l=new rc,d=[],c=t.rowCount,p=!!o,u=[],g=r.pointArrayMap,f=g&&g.length,m=["x"].concat(g||["y"]),x=(g||["y"]).map(()=>[]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,b,v,k,M=0,w=0,S="function"==typeof i?i:i&&pU[i]?pU[i]:pU[r.getDGApproximation&&r.getDGApproximation()||"average"];if(f){let t=g.length;for(;t--;)u.push([])}else u.push([]);let A=f||1;for(let t=0;t<=c;t++)if(!(s[t]=e[M+1]||t===c;){if(b=e[M],r.dataGroupInfo={start:y?w:r.cropStart+w,length:u[0].length,groupStart:b},k=S.apply(r,u),r.pointClass&&!ui(r.dataGroupInfo.options)&&(r.dataGroupInfo.options=ua(r.pointClass.prototype.optionsToObject.call({series:r},r.options.data[r.cropStart+w])),m.forEach(function(t){delete r.dataGroupInfo.options[t]})),void 0!==k){h.push(b);let t=uh(k);for(let e=0;e{T[t]=x[e]}),l.setColumns(T),{groupMap:d,modified:l}}function uf(t){let e=t.options,i=this.type,s=this.chart.options.plotOptions,o=this.useCommonDataGrouping&&p0.common,r=p0.seriesSpecific,a=tT.defaultOptions.plotOptions[i].dataGrouping;if(s&&(r[i]||o)){let t=this.chart.rangeSelector;a||(a=ua(p0.common,r[i])),e.dataGrouping=ua(o,a,s.series&&s.series.dataGrouping,s[i].dataGrouping,this.userOptions.dataGrouping,!e.isInternal&&t&&ur(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}let um={compose:function(t){let e=t.prototype;e.applyGrouping||(ue(t.prototype.pointClass,"update",function(){if(this.dataGroup)return us(24,!1,this.series.chart),!1}),ue(t,"afterSetOptions",uf),ue(t,"destroy",uc),uo(e,{applyGrouping:ud,destroyGroupedData:uc,generatePoints:up,getDGApproximation:uu,groupData:ug}))},groupData:ug},{format:ux}=eg,{composed:uy}=L,{addEvent:ub,extend:uv,isNumber:uk,pick:uM,pushUnique:uw}=ti;function uS(t){let e=this.chart,i=e.time,s=t.point,o=s.series,r=o.options,a=o.tooltipOptions,n=r.dataGrouping,h=o.xAxis,l=a.xDateFormat||"",d,c,p,u,g,f=a[t.isFooter?"footerFormat":"headerFormat"];if(h&&"datetime"===h.options.type&&n&&uk(s.key)){c=o.currentDataGrouping,p=n.dateTimeLabelFormats||p0.common.dateTimeLabelFormats,c?(u=p[c.unitName],1===c.count?l=u[0]:(l=u[1],d=u[2])):!l&&p&&h.dateTime&&(l=h.dateTime.getXDateFormat(s.x,a.dateTimeLabelFormats));let r=uM(o.groupMap?.[s.index].groupStart,s.key),m=r+(c?.totalRange||0)-1;g=i.dateFormat(l,r),d&&(g+=i.dateFormat(d,m)),o.chart.styledMode&&(f=this.styledModeFormat(f)),t.text=ux(f,{point:uv(s,{key:g}),series:o},e),t.preventDefault()}}let uA={compose:function(t,e,i){p7.compose(t),um.compose(e),i&&uw(uy,"DataGrouping")&&ub(i,"headerFormatter",uS)},groupData:um.groupData};L.dataGrouping=L.dataGrouping||{},L.dataGrouping.approximationDefaults=L.dataGrouping.approximationDefaults||pQ,L.dataGrouping.approximations=L.dataGrouping.approximations||pU,uA.compose(L.Axis,L.Series,L.Tooltip);let{defined:uT,isNumber:uC,pick:uP}=ti,uO={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:uE,isObject:uL,pick:uD,defined:uB,merge:uI}=ti,{getAssignedAxis:uz}={annotationsFieldsTypes:uO,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=uP(t.axis.minPointOffset,0);return uC(i)&&uC(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=uO[t],s=typeof e;return uT(i)&&(s=i),({string:"text",number:"number",boolean:"checkbox"})[s]}},uR=[],uN={enabled:!0,sensitivity:1.1},uW=t=>(uL(t)||(t={enabled:t??!0}),uI(uN,t)),uG=function(t,e,i,s,o,a,n){let h=uD(n.type,t.zooming.type,""),l=[];"x"===h?l=i:"y"===h?l=s:"xy"===h&&(l=t.axes);let d=t.transform({axes:l,to:{x:o-5,y:a-5,width:10,height:10},from:{x:o-5*e,y:a-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return d&&(uB(r)&&clearTimeout(r),r=setTimeout(()=>{t.pointer?.drop()},400)),d};function uX(){let t=uW(this.zooming.mouseWheel);t.enabled&&uE(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:i}=this,s=i&&!i.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&s){let s=t.sensitivity||1.1,o=e.detail||(e.deltaY||0)/120,r=uz(i.getCoordinates(e).xAxis),a=uz(i.getCoordinates(e).yAxis);uG(this,Math.pow(s,o),r?[r.axis]:this.xAxis,a?[a.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}L.MouseWheelZoom=L.MouseWheelZoom||{compose:function(t){-1===uR.indexOf(t)&&(uR.push(t),uE(t,"afterGetContainer",uX))}},L.MouseWheelZoom.compose(L.Chart),L.Navigator=L.Navigator||dQ,L.OrdinalAxis=L.OrdinalAxis||d7,L.RangeSelector=L.RangeSelector||cN,L.Scrollbar=L.Scrollbar||dB,L.stockChart=L.stockChart||c1.stockChart,L.StockChart=L.StockChart||L.stockChart,L.extend(L.StockChart,c1),lX.compose(L.Series,L.Axis,L.Point),pN.compose(L.Renderer),pl.compose(L.Series),L.Navigator.compose(L.Chart,L.Axis,L.Series),L.OrdinalAxis.compose(L.Axis,L.Series,L.Chart),L.RangeSelector.compose(L.Axis,L.Chart),L.Scrollbar.compose(L.Axis),L.StockChart.compose(L.Chart,L.Axis,L.Series,L.SVGRenderer),/** + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/highstock * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */L.product="Highstock";let uX=L;return E.default})()); \ No newline at end of file + */L.product="Highstock";let uH=L;return E.default})()); \ No newline at end of file diff --git a/highstock.src.js b/highstock.src.js index 3f4cb36acc..a1234c0312 100644 --- a/highstock.src.js +++ b/highstock.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi @@ -74,12 +74,12 @@ var Globals; * Constants * * */ - Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.0', Globals.win = (typeof window !== 'undefined' ? + Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ? window : {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', @@ -3500,7 +3500,7 @@ const SeriesPalettes = { * */ -const { win: Time_win } = Core_Globals; +const { pageLang, win: Time_win } = Core_Globals; const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities; /* * @@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -3688,7 +3696,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (Time_isString(options)) { options = this.str2dtf(options); @@ -7066,14 +7074,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Core_Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions @@ -8834,7 +8834,7 @@ AST.bypassHTMLFiltering = false; const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults; -const { doc: Templating_doc } = Core_Globals; +const { pageLang: Templating_pageLang } = Core_Globals; const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities; const helpers = { @@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) @@ -9691,9 +9691,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -9725,7 +9723,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - SVGElement_getAlignFactor(alignOptions.verticalAlign); + SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed @@ -11608,7 +11608,9 @@ class SVGLabel extends SVG_SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { @@ -12636,7 +12638,7 @@ class SVGRenderer { this.url = this.getReferenceURL(); // Add description const desc = this.createElement('desc').add(); - desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.0')); + desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1')); this.defs = this.createElement('defs').add(); this.allowHTML = allowHTML; this.forExport = forExport; @@ -27477,7 +27479,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } @@ -42627,9 +42631,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + @@ -54014,7 +54017,7 @@ class RangeSelector { * exporting button */ handleCollision(xOffsetForExportButton) { - const { chart, buttonGroup, inputGroup } = this; + const { chart, buttonGroup, inputGroup, initialButtonGroupWidth } = this; const { buttonPosition, dropdown, inputPosition } = this.options; const moveInputsDown = () => { if (inputGroup && buttonGroup) { @@ -54031,7 +54034,7 @@ class RangeSelector { if (inputGroup && buttonGroup) { if (inputPosition.align === buttonPosition.align) { moveInputsDown(); - if (this.initialButtonGroupWidth > + if (initialButtonGroupWidth > chart.plotWidth + xOffsetForExportButton - 20) { this.collapseButtons(); } @@ -54039,7 +54042,7 @@ class RangeSelector { this.expandButtons(); } } - else if (this.initialButtonGroupWidth - + else if (initialButtonGroupWidth - xOffsetForExportButton + inputGroup.getBBox().width > chart.plotWidth) { @@ -54054,6 +54057,14 @@ class RangeSelector { this.expandButtons(); } } + else if (buttonGroup && dropdown === 'responsive') { + if (initialButtonGroupWidth > chart.plotWidth) { + this.collapseButtons(); + } + else { + this.expandButtons(); + } + } // Forced states if (buttonGroup) { if (dropdown === 'always') { @@ -57644,7 +57655,7 @@ var BrokenAxis; ;// ./code/es-modules/masters/modules/broken-axis.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/broken-axis * @requires highcharts * @@ -59136,7 +59147,7 @@ const DataGroupingComposition = { ;// ./code/es-modules/masters/modules/datagrouping.src.js /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/datagrouping * @requires highcharts * @@ -59458,7 +59469,7 @@ const MouseWheelZoomComposition = { ;// ./code/es-modules/masters/modules/mouse-wheel-zoom.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/mouse-wheel-zoom * @requires highcharts * @@ -59478,7 +59489,7 @@ mouse_wheel_zoom_src_G.MouseWheelZoom.compose(mouse_wheel_zoom_src_G.Chart); ;// ./code/es-modules/masters/modules/stock.src.js /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/stock * @requires highcharts * @@ -59526,7 +59537,7 @@ stock_src_G.StockChart.compose(stock_src_G.Chart, stock_src_G.Axis, stock_src_G. ;// ./code/es-modules/masters/highstock.src.js /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/highstock * * (c) 2009-2024 Torstein Honsi diff --git a/indicators/acceleration-bands.js b/indicators/acceleration-bands.js index 8a21713c52..7ca8a0d693 100644 --- a/indicators/acceleration-bands.js +++ b/indicators/acceleration-bands.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/acceleration-bands * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/acceleration-bands.src.js b/indicators/acceleration-bands.src.js index 48c9ac8d5a..4f890975cc 100644 --- a/indicators/acceleration-bands.src.js +++ b/indicators/acceleration-bands.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/acceleration-bands * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/accumulation-distribution.js b/indicators/accumulation-distribution.js index 985c35e8a7..95f9896e46 100644 --- a/indicators/accumulation-distribution.js +++ b/indicators/accumulation-distribution.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/accumulation-distribution * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/accumulation-distribution.src.js b/indicators/accumulation-distribution.src.js index 3a4a78664b..497bf1dbe7 100644 --- a/indicators/accumulation-distribution.src.js +++ b/indicators/accumulation-distribution.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/accumulation-distribution * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ao.js b/indicators/ao.js index 2c6c2f64dd..7ed5360027 100644 --- a/indicators/ao.js +++ b/indicators/ao.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ao * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ao.src.js b/indicators/ao.src.js index 7dff648b9a..248a3a45f2 100644 --- a/indicators/ao.src.js +++ b/indicators/ao.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ao * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/apo.js b/indicators/apo.js index e4b9aef504..1f7840375e 100644 --- a/indicators/apo.js +++ b/indicators/apo.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/apo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/apo.src.js b/indicators/apo.src.js index c9df59df61..b9c07ac47d 100644 --- a/indicators/apo.src.js +++ b/indicators/apo.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/apo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/aroon-oscillator.js b/indicators/aroon-oscillator.js index d82a0aa736..25eba35ab9 100644 --- a/indicators/aroon-oscillator.js +++ b/indicators/aroon-oscillator.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/aroon-oscillator * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/aroon-oscillator.src.js b/indicators/aroon-oscillator.src.js index fb2a982bcb..0c55830f30 100644 --- a/indicators/aroon-oscillator.src.js +++ b/indicators/aroon-oscillator.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/aroon-oscillator * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/aroon.js b/indicators/aroon.js index 403814ba4d..c3fad3489a 100644 --- a/indicators/aroon.js +++ b/indicators/aroon.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/aroon * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/aroon.src.js b/indicators/aroon.src.js index d668532789..bbd069f439 100644 --- a/indicators/aroon.src.js +++ b/indicators/aroon.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/aroon * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/atr.js b/indicators/atr.js index b62b3ce742..1510d1e744 100644 --- a/indicators/atr.js +++ b/indicators/atr.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/atr * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/atr.src.js b/indicators/atr.src.js index 1e69946246..bef958edfb 100644 --- a/indicators/atr.src.js +++ b/indicators/atr.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/atr * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/bollinger-bands.js b/indicators/bollinger-bands.js index 9d6f8f4e23..5392f05cd3 100644 --- a/indicators/bollinger-bands.js +++ b/indicators/bollinger-bands.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/bollinger-bands * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/bollinger-bands.src.js b/indicators/bollinger-bands.src.js index b129099a84..744757e024 100644 --- a/indicators/bollinger-bands.src.js +++ b/indicators/bollinger-bands.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/bollinger-bands * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cci.js b/indicators/cci.js index 2894e49acb..bb963d0329 100644 --- a/indicators/cci.js +++ b/indicators/cci.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cci * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cci.src.js b/indicators/cci.src.js index 45af35a467..515b203623 100644 --- a/indicators/cci.src.js +++ b/indicators/cci.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cci * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/chaikin.js b/indicators/chaikin.js index da48f462ed..21d542b523 100644 --- a/indicators/chaikin.js +++ b/indicators/chaikin.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/chaikin * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/chaikin.src.js b/indicators/chaikin.src.js index fc43bbec9a..5cbc9bca83 100644 --- a/indicators/chaikin.src.js +++ b/indicators/chaikin.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/chaikin * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cmf.js b/indicators/cmf.js index 3c7757aaeb..58bc453649 100644 --- a/indicators/cmf.js +++ b/indicators/cmf.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cmf * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cmf.src.js b/indicators/cmf.src.js index d5d493f9c8..bbb1262a40 100644 --- a/indicators/cmf.src.js +++ b/indicators/cmf.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cmf * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cmo.js b/indicators/cmo.js index 6918a61d3a..75fe6445b5 100644 --- a/indicators/cmo.js +++ b/indicators/cmo.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cmo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/cmo.src.js b/indicators/cmo.src.js index b8b05d9bb2..05456f5b54 100644 --- a/indicators/cmo.src.js +++ b/indicators/cmo.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/cmo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dema.js b/indicators/dema.js index 0905facfc8..7cd3cc961b 100644 --- a/indicators/dema.js +++ b/indicators/dema.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dema * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dema.src.js b/indicators/dema.src.js index a6a1ae130f..43f92f2b6c 100644 --- a/indicators/dema.src.js +++ b/indicators/dema.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dema * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/disparity-index.js b/indicators/disparity-index.js index 3b818d6456..45d6289a7f 100644 --- a/indicators/disparity-index.js +++ b/indicators/disparity-index.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/disparity-index * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/disparity-index.src.js b/indicators/disparity-index.src.js index 58b5420b6f..bc8e727b00 100644 --- a/indicators/disparity-index.src.js +++ b/indicators/disparity-index.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/disparity-index * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dmi.js b/indicators/dmi.js index 0f73e124b8..03ef1bfae4 100644 --- a/indicators/dmi.js +++ b/indicators/dmi.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dmi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dmi.src.js b/indicators/dmi.src.js index 88988ad077..f95a515008 100644 --- a/indicators/dmi.src.js +++ b/indicators/dmi.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dmi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dpo.js b/indicators/dpo.js index bf5d34f5b5..3c7fe01e3f 100644 --- a/indicators/dpo.js +++ b/indicators/dpo.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dpo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/dpo.src.js b/indicators/dpo.src.js index 4e9a56c968..533ba65853 100644 --- a/indicators/dpo.src.js +++ b/indicators/dpo.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/dpo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ichimoku-kinko-hyo.js b/indicators/ichimoku-kinko-hyo.js index 5ce064ac77..f04026fecd 100644 --- a/indicators/ichimoku-kinko-hyo.js +++ b/indicators/ichimoku-kinko-hyo.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ichimoku-kinko-hyo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ichimoku-kinko-hyo.src.js b/indicators/ichimoku-kinko-hyo.src.js index 8a5a5ca513..15587019f2 100644 --- a/indicators/ichimoku-kinko-hyo.src.js +++ b/indicators/ichimoku-kinko-hyo.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ichimoku-kinko-hyo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/indicators-all.js b/indicators/indicators-all.js index e323656685..a7bf2a2039 100644 --- a/indicators/indicators-all.js +++ b/indicators/indicators-all.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators-all * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/indicators-all.src.js b/indicators/indicators-all.src.js index 49f50de8f1..802df05500 100644 --- a/indicators/indicators-all.src.js +++ b/indicators/indicators-all.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators-all * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/indicators.js b/indicators/indicators.js index 52a9d5a32d..c4e0b54fed 100644 --- a/indicators/indicators.js +++ b/indicators/indicators.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/indicators.src.js b/indicators/indicators.src.js index 339c3f5bc3..1fb1ede3fd 100644 --- a/indicators/indicators.src.js +++ b/indicators/indicators.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/keltner-channels.js b/indicators/keltner-channels.js index 3065ba0b5e..96b2c9bd73 100644 --- a/indicators/keltner-channels.js +++ b/indicators/keltner-channels.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/keltner-channels * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/keltner-channels.src.js b/indicators/keltner-channels.src.js index 4756140e6d..08e957ff54 100644 --- a/indicators/keltner-channels.src.js +++ b/indicators/keltner-channels.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/keltner-channels * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/klinger.js b/indicators/klinger.js index 4d80a21325..e3e107cc1c 100644 --- a/indicators/klinger.js +++ b/indicators/klinger.js @@ -1,5 +1,5 @@ !/** - * Highcharts Stock JS v12.1.0 (2024-12-17) + * Highcharts Stock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/klinger * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/klinger.src.js b/indicators/klinger.src.js index b94170a26b..68d8fff2ae 100644 --- a/indicators/klinger.src.js +++ b/indicators/klinger.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Stock JS v12.1.0 (2024-12-17) + * @license Highcharts Stock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/klinger * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/macd.js b/indicators/macd.js index f2316d3865..4f088ae84c 100644 --- a/indicators/macd.js +++ b/indicators/macd.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/macd * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/macd.src.js b/indicators/macd.src.js index 2774e63176..cd7dfc3028 100644 --- a/indicators/macd.src.js +++ b/indicators/macd.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/macd * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/mfi.js b/indicators/mfi.js index bfd4c1baa9..8063101a7b 100644 --- a/indicators/mfi.js +++ b/indicators/mfi.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/mfi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/mfi.src.js b/indicators/mfi.src.js index 3d1ed21956..e20a5beeef 100644 --- a/indicators/mfi.src.js +++ b/indicators/mfi.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/mfi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/momentum.js b/indicators/momentum.js index 93ebbca708..699d4ccda1 100644 --- a/indicators/momentum.js +++ b/indicators/momentum.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/momentum * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/momentum.src.js b/indicators/momentum.src.js index 29b383b488..d87c5e9740 100644 --- a/indicators/momentum.src.js +++ b/indicators/momentum.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/momentum * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/natr.js b/indicators/natr.js index 8da45ed417..14d776dd5c 100644 --- a/indicators/natr.js +++ b/indicators/natr.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/natr * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/natr.src.js b/indicators/natr.src.js index 2e752dc2e0..bd30244f6d 100644 --- a/indicators/natr.src.js +++ b/indicators/natr.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/natr * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/obv.js b/indicators/obv.js index 0517927b2c..2a4d9827bc 100644 --- a/indicators/obv.js +++ b/indicators/obv.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/obv * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/obv.src.js b/indicators/obv.src.js index 3a4b71c4a8..ca3bd5767a 100644 --- a/indicators/obv.src.js +++ b/indicators/obv.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/obv * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/pivot-points.js b/indicators/pivot-points.js index 15a06e57ef..f9be8fcb4a 100644 --- a/indicators/pivot-points.js +++ b/indicators/pivot-points.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/pivot-points * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/pivot-points.src.js b/indicators/pivot-points.src.js index e505a9be43..76ee463767 100644 --- a/indicators/pivot-points.src.js +++ b/indicators/pivot-points.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/pivot-points * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ppo.js b/indicators/ppo.js index 073cb89b9b..1bab8e75c6 100644 --- a/indicators/ppo.js +++ b/indicators/ppo.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ppo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/ppo.src.js b/indicators/ppo.src.js index ac48b64a55..e80767df56 100644 --- a/indicators/ppo.src.js +++ b/indicators/ppo.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/ppo * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/price-channel.js b/indicators/price-channel.js index 80d0e21494..1de79d7c27 100644 --- a/indicators/price-channel.js +++ b/indicators/price-channel.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/price-channel * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/price-channel.src.js b/indicators/price-channel.src.js index f9e8cba309..1d5a5fee25 100644 --- a/indicators/price-channel.src.js +++ b/indicators/price-channel.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/price-channel * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/price-envelopes.js b/indicators/price-envelopes.js index 801f0fc6f7..9b41b7a28c 100644 --- a/indicators/price-envelopes.js +++ b/indicators/price-envelopes.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/price-envelopes * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/price-envelopes.src.js b/indicators/price-envelopes.src.js index 57352fab00..e0c91f9b64 100644 --- a/indicators/price-envelopes.src.js +++ b/indicators/price-envelopes.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/price-envelopes * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/psar.js b/indicators/psar.js index 85d10b6bfa..0166a14854 100644 --- a/indicators/psar.js +++ b/indicators/psar.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/psar * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/psar.src.js b/indicators/psar.src.js index a2ccfa6796..a0514c1ecb 100644 --- a/indicators/psar.src.js +++ b/indicators/psar.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/psar * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/regressions.js b/indicators/regressions.js index 40165982b3..06be936713 100644 --- a/indicators/regressions.js +++ b/indicators/regressions.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/regressions * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/regressions.src.js b/indicators/regressions.src.js index 979daa40ee..48880f7fc1 100644 --- a/indicators/regressions.src.js +++ b/indicators/regressions.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/regressions * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/roc.js b/indicators/roc.js index 8ec8979417..8549016d15 100644 --- a/indicators/roc.js +++ b/indicators/roc.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/roc * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/roc.src.js b/indicators/roc.src.js index e3d45faba1..ee010757d3 100644 --- a/indicators/roc.src.js +++ b/indicators/roc.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/roc * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/rsi.js b/indicators/rsi.js index 7991c3bf4a..6d15db89d4 100644 --- a/indicators/rsi.js +++ b/indicators/rsi.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/rsi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/rsi.src.js b/indicators/rsi.src.js index 70c14382d7..dbde910f7c 100644 --- a/indicators/rsi.src.js +++ b/indicators/rsi.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/rsi * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/slow-stochastic.js b/indicators/slow-stochastic.js index c0fbee7c30..a6063b5c57 100644 --- a/indicators/slow-stochastic.js +++ b/indicators/slow-stochastic.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/slow-stochastic.src.js b/indicators/slow-stochastic.src.js index 22d119afdf..3f47fefaf3 100644 --- a/indicators/slow-stochastic.src.js +++ b/indicators/slow-stochastic.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/indicators * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/stochastic.js b/indicators/stochastic.js index 3905c59d28..9808a1b66a 100644 --- a/indicators/stochastic.js +++ b/indicators/stochastic.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/stochastic * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/stochastic.src.js b/indicators/stochastic.src.js index 1d5983805c..dfa12fa01c 100644 --- a/indicators/stochastic.src.js +++ b/indicators/stochastic.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/stochastic * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/supertrend.js b/indicators/supertrend.js index f02e8198e8..e8fe5f7a73 100644 --- a/indicators/supertrend.js +++ b/indicators/supertrend.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/supertrend * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/supertrend.src.js b/indicators/supertrend.src.js index b565bb140b..1abcc040ea 100644 --- a/indicators/supertrend.src.js +++ b/indicators/supertrend.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/supertrend * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/tema.js b/indicators/tema.js index 187eb0cf57..2b3a538f9c 100644 --- a/indicators/tema.js +++ b/indicators/tema.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/tema * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/tema.src.js b/indicators/tema.src.js index 1b5ef73df9..3798328a80 100644 --- a/indicators/tema.src.js +++ b/indicators/tema.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/tema * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/trendline.js b/indicators/trendline.js index 0fe032db79..21faa89018 100644 --- a/indicators/trendline.js +++ b/indicators/trendline.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/trendline * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/trendline.src.js b/indicators/trendline.src.js index 8a8a5498fa..e403ee2d81 100644 --- a/indicators/trendline.src.js +++ b/indicators/trendline.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/trendline * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/trix.js b/indicators/trix.js index e77462bd78..4e0489af3c 100644 --- a/indicators/trix.js +++ b/indicators/trix.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/trix * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/trix.src.js b/indicators/trix.src.js index 275c9e3698..1c9f5dea87 100644 --- a/indicators/trix.src.js +++ b/indicators/trix.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/trix * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/volume-by-price.js b/indicators/volume-by-price.js index 7c5b868cea..f1c7f0eff8 100644 --- a/indicators/volume-by-price.js +++ b/indicators/volume-by-price.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/volume-by-price * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/volume-by-price.src.js b/indicators/volume-by-price.src.js index 317dc6948b..e4b539e3e9 100644 --- a/indicators/volume-by-price.src.js +++ b/indicators/volume-by-price.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/volume-by-price * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/vwap.js b/indicators/vwap.js index 7787e0b709..1ce440b44a 100644 --- a/indicators/vwap.js +++ b/indicators/vwap.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/vwap * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/vwap.src.js b/indicators/vwap.src.js index c6f0022e2d..2d1e1c61ec 100644 --- a/indicators/vwap.src.js +++ b/indicators/vwap.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/vwap * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/williams-r.js b/indicators/williams-r.js index 8d5a907e4b..24f7be38fd 100644 --- a/indicators/williams-r.js +++ b/indicators/williams-r.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/williams-r * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/williams-r.src.js b/indicators/williams-r.src.js index e7b5f15a36..8fe0260509 100644 --- a/indicators/williams-r.src.js +++ b/indicators/williams-r.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/williams-r * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/wma.js b/indicators/wma.js index c134b14de2..05d47e411c 100644 --- a/indicators/wma.js +++ b/indicators/wma.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/wma * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/wma.src.js b/indicators/wma.src.js index 2321150617..19afb571c0 100644 --- a/indicators/wma.src.js +++ b/indicators/wma.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/wma * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/zigzag.js b/indicators/zigzag.js index 700843d1ef..055abddf0d 100644 --- a/indicators/zigzag.js +++ b/indicators/zigzag.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/zigzag * @requires highcharts * @requires highcharts/modules/stock diff --git a/indicators/zigzag.src.js b/indicators/zigzag.src.js index e7252c7e35..7470f28fcb 100644 --- a/indicators/zigzag.src.js +++ b/indicators/zigzag.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/indicators/zigzag * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/accessibility.js b/modules/accessibility.js index 44bb91a5c4..44a6e75a03 100644 --- a/modules/accessibility.js +++ b/modules/accessibility.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/accessibility * @requires highcharts * diff --git a/modules/accessibility.src.js b/modules/accessibility.src.js index cf0ca6d074..bbb01ac226 100644 --- a/modules/accessibility.src.js +++ b/modules/accessibility.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/accessibility * @requires highcharts * diff --git a/modules/annotations-advanced.js b/modules/annotations-advanced.js index dcd76e29db..838f8b3963 100644 --- a/modules/annotations-advanced.js +++ b/modules/annotations-advanced.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations * @requires highcharts * @@ -8,8 +8,8 @@ * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts/highcharts"],function(t){return i(t,t.SeriesRegistry,t.Templating,t.AST)}):"object"==typeof exports?exports["highcharts/modules/annotations-advanced"]=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.SeriesRegistry,t.Highcharts.Templating,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,s,e)=>(()=>{"use strict";var o,n,a,r,h={660:t=>{t.exports=e},512:t=>{t.exports=i},984:t=>{t.exports=s},944:i=>{i.exports=t}},l={};function p(t){var i=l[t];if(void 0!==i)return i.exports;var s=l[t]={exports:{}};return h[t](s,s.exports,p),s.exports}p.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return p.d(i,{a:i}),i},p.d=(t,i)=>{for(var s in i)p.o(i,s)&&!p.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},p.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var c={};p.d(c,{default:()=>sZ});var d=p(944),u=p.n(d);let{addEvent:x,erase:g,find:y,fireEvent:f,pick:m,wrap:v}=u();function b(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),m(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function A(){let t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach((i,s)=>{if(!t.annotations.some(t=>t.options===i)){let e=t.initAnnotation(i);t.options.annotations[s]=e.options}}),t.drawAnnotations(),x(t,"redraw",t.drawAnnotations),x(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),x(t,"exportData",function(i){let s=t.annotations,e=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,o=!i.dataRows[1].xValues,n=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,a=i.dataRows[0].length,r=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,h=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;s.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let s=t.options.text;t.points.forEach(t=>{let e=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let t=i.dataRows[0].length,a=Array(t);for(let i=0;i{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(h&&t.length>a?t[t.length-1]+=r+s:t.push(s),n=!0)}),!n){let t=i.dataRows[0].length,n=Array(t);for(let i=0;i{l=Math.max(l,t.length)});let p=l-i.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function O(t){let i=this.annotations,s="annotations"===t.coll?t:y(i,function(i){return i.options.id===t});s&&(f(s,"remove"),g(this.options.annotations,s.options),g(i,s),s.destroy())}function M(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function k(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}(o||(o={})).compose=function(t,i,s){let e=i.prototype;if(!e.addAnnotation){let o=s.prototype;x(i,"afterInit",M),e.addAnnotation=b,e.callbacks.push(A),e.collectionsWithInit.annotations=[b],e.collectionsWithUpdate.push("annotations"),e.drawAnnotations=P,e.removeAnnotation=O,e.initAnnotation=function(i){let s=new(t.types[i.type]||t)(this,i);return this.annotations.push(s),s},v(o,"onContainerMouseDown",k)}};let w=o,{defined:E}=u(),{doc:C,isTouchDevice:T}=u(),{addEvent:B,fireEvent:N,objectEach:L,pick:Y,removeEvent:X}=u(),S=class{addEvents(){let t=this,i=function(i){B(i,T?"touchstart":"mousedown",i=>{t.onMouseDown(i)},{passive:!1})};if(i(this.graphic.element),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),L(t.options.events,(i,s)=>{let e=function(e){"click"===s&&t.cancelClick||i.call(t,t.chart.pointer?.normalize(e),t.target)};-1===(t.nonDOMEvents||[]).indexOf(s)?(B(t.graphic.element,s,e,{passive:!1}),t.graphic.div&&B(t.graphic.div,s,e,{passive:!1})):B(t,s,e,{passive:!1})}),t.options.draggable&&(B(t,"drag",t.onDrag),!t.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]};t.graphic.css(i),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}t.isUpdating||N(t,"add")}destroy(){this.removeDocEvents(),X(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let e=t.prevChartY-s,o=t.prevChartX-i,n=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=e,e=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(e,o)}mouseMoveToScale(t,i,s){let e=t.prevChartX-i,o=t.prevChartY-s,n=t.chartX-i,a=t.chartY-s,r=(n||1)/(e||1),h=(a||1)/(o||1);if(this.chart.inverted){let t=h;h=r,r=t}return{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,e;return this.chart.inverted&&(e=s,s=i,i=e),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(t){if(t.preventDefault&&t.preventDefault(),2===t.button)return;let i=this,s=i.chart.pointer,e=t?.sourceCapabilities?.firesTouchEvents||!1,o=(t=s?.normalize(t)||t).chartX,n=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=B(C,T||e?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=o,t.prevChartY=n,N(i,"drag",t),o=t.chartX,n=t.chartY},T||e?{passive:!1}:void 0),i.removeMouseUp=B(C,T||e?"touchend":"mouseup",function(){let t=Y(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&N(Y(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},T||e?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}},{merge:I,pick:D}=u(),R=class extends S{constructor(t,i,s,e){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=D(s.index,e)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){let i=this.chart,s=this.target,e=this.index,o=I(!0,this.options,t);this.destroy(),this.constructor(i,s,o,e),this.render(i.controlPointsGroup),this.redraw()}};var F=p(512),W=p.n(F);let{series:{prototype:z}}=W(),{defined:U,fireEvent:V}=u();class H{static fromPoint(t){return new H(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,e=s.chart,o=t.plotX||0,n=t.plotY||0,a;return e.inverted&&(t.mock?(o=t.plotY,n=t.plotX):(o=e.plotWidth-(t.plotY||0),n=e.plotHeight-(t.plotX||0))),s&&!i&&(o+=(a=s.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.point=this,this.series={visible:!0,chart:t,getPlotBox:z.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,e=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(o.isInsidePlot=U(t)&&t>=0&&t<=s.len),e&&(o.isInsidePlot=o.isInsidePlot&&U(i)&&i>=0&&i<=e.len),V(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,e=this.getOptions();i?(this.x=e.x,this.plotX=i.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x),s?(this.y=e.y,this.plotY=s.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){if(!this.hasDynamicOptions()){let e=Math.cos(s),o=Math.sin(s),n=this.plotX-t,a=this.plotY-i;this.plotX=n*e-a*o+t,this.plotY=n*o+a*e+i,this.refreshOptions()}}scale(t,i,s,e){if(!this.hasDynamicOptions()){let o=this.plotX*s,n=this.plotY*e;this.plotX=(1-s)*t+o,this.plotY=(1-e)*i+n,this.refreshOptions()}}setAxis(t,i){let s=i+"Axis",e=t[s],o=this.series.chart;this.series[s]="object"==typeof e?e:U(e)?o[s][e]||o.get(e):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,e){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=e,this.refreshOptions())}}!function(t){function i(){let t=this.controlPoints,i=this.options.controlPoints||[];i.forEach((s,e)=>{let o=u().merge(this.options.controlPointOptions,s);o.index||(o.index=e),i[e]=o,t.push(new R(this.chart,this,o))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,e=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:e[0]+(this.options.x||0),y:e[1]+(this.options.y||0),height:e[2]||0,width:e[3]||0};return{relativePosition:o,absolutePosition:u().merge(o,{x:o.x+(t.mock?i.translateX:s.plotLeft),y:o.y+(t.mock?i.translateY:s.plotTop)})}}function e(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){let t=this.options;return t.points||t.point&&u().splat(t.point)}function n(){let t,i;let s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;ti.redraw(t))}function h(){this.controlPoints.forEach(t=>t.render())}function l(t,i,s,e,o){if(this.chart.inverted){let t=i;i=s,s=t}this.points.forEach((n,a)=>this.transformPoint(t,i,s,e,o,a),this)}function p(t,i,s,e,o,n){let a=this.points[n];a.mock||(a=this.points[n]=H.fromPoint(a)),a[t](i,s,e,o)}function c(t,i){this.transform("translate",null,null,t,i)}function d(t,i,s){this.transformPoint("translate",null,null,t,i,s)}t.compose=function(t){let x=t.prototype;x.addControlPoints||u().merge(!0,x,{addControlPoints:i,anchor:s,destroyControlTarget:e,getPointsOptions:o,linkPoints:n,point:a,redrawControlPoints:r,renderControlPoints:h,transform:l,transformPoint:p,translate:c,translatePoint:d})}}(n||(n={}));let q=n,{merge:j}=u();class _{constructor(t,i,s,e){this.annotation=t,this.chart=t.chart,this.collection="label"===e?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=e,this.init(t,i,s)}attr(...t){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s;let e=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)s=e[i],void 0===e[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(o[s]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,e){this.transform("scale",t,i,s,e)}setControlPointsVisibility(t){this.controlPoints.forEach(i=>{i.setVisibility(t)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let e=this.annotation.chart,o=this.annotation.userOptions,n=e.annotations.indexOf(this.annotation),a=e.options.annotations[n];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=j(!0,this.options,t),e=this.graphic.parentGroup,o=this.constructor;this.destroy(),j(!0,this,new o(i,s,this.index,this.itemType)),this.render(e),this.redraw()}}q.compose(_);let G=_,{defaultMarkers:K}={defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}},{addEvent:Z,defined:$,extend:J,merge:Q,uniqueKey:tt}=u(),ti=to("marker-end"),ts=to("marker-start"),te="rgba(192,192,192,"+(u().svg?1e-4:.002)+")";function to(t){return function(i){this.attr(t,"url(#"+i+")")}}function tn(){this.options.defs=Q(K,this.options.defs||{})}function ta(t,i){let s={attributes:{id:t}},e={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"};s.children=i.children&&i.children.map(function(t){return Q(e,t)});let o=Q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s),n=this.definition(o);return n.id=t,n}class tr extends G{static compose(t,i){let s=i.prototype;s.addMarker||(Z(t,"afterGetContainer",tn),s.addMarker=ta)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,e=[],o=s,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,h;if(a)for(e.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),tu(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,e){return Math.abs((i.y-t.y)*s-(i.x-t.x)*e+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,e=t.y,o=i.x,n=i.y,a=(s+o)/2,r=Math.sqrt((s-o)*(s-o)/4+(e-n)*(e-n)/4),h=180*Math.atan((n-e)/(o-s))/Math.PI;return ai+e?r.push(["L",t+l,i+e]):at+s&&r.push(["L",t+s,i+e/2])),r||[]}class tO extends G{static alignedPosition(t,i){return{x:Math.round((i.x||0)+(t.x||0)+(i.width-(t.width||0))*tv(t.align)),y:Math.round((i.y||0)+(t.y||0)+(i.height-(t.height||0))*tv(t.verticalAlign))}}static compose(t){t.prototype.symbols.connector=tP}static justifiedOptions(t,i,s,e){let o;let n=s.align,a=s.verticalAlign,r=i.box?0:i.padding||0,h=i.getBBox(),l={align:n,verticalAlign:a,x:s.x,y:s.y,width:i.width,height:i.height},p=(e.x||0)-t.plotLeft,c=(e.y||0)-t.plotTop;return(o=p+r)<0&&("right"===n?l.align="left":l.x=(l.x||0)-o),(o=p+h.width-r)>t.plotWidth&&("left"===n?l.align="right":l.x=(l.x||0)+t.plotWidth-o),(o=c+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-o),(o=c+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-o),l}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,e=this.annotation.userOptions,o=s.annotations.indexOf(this.annotation),n=s.options.annotations[o];if(s.inverted){let s=t;t=i,i=s}this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,e[this.collection][this.index].x=this.options.x,e[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),e=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===e.color&&(e.color=this.annotation.chart.renderer.getContrast(tO.shapesWithoutBackground.indexOf(i.shape)>-1?"#FFFFFF":i.backgroundColor)),this.graphic.css(i.style).shadow(i.shadow)),this.graphic.labelrank=i.labelrank,super.render()}redraw(t){let i=this.options,s=this.text||i.format||i.text,e=this.graphic,o=this.points[0];if(!e){this.redraw(t);return}e.attr({text:s?tf(String(s),o,this.annotation.chart):i.formatter.call(o,this)});let n=this.anchor(o),a=this.position(n);a?(e.alignAttr=a,a.anchorX=n.absolutePosition.x,a.anchorY=n.absolutePosition.y,e[t?"animate":"attr"](a)):e.attr({x:0,y:-9999}),e.placed=!!a,super.redraw(t)}anchor(t){let i=super.anchor.apply(this,arguments),s=this.options.x||0,e=this.options.y||0;return i.absolutePosition.x-=s,i.absolutePosition.y-=e,i.relativePosition.x-=s,i.relativePosition.y-=e,i}position(t){let i=this.graphic,s=this.annotation.chart,e=s.tooltip,o=this.points[0],n=this.options,a=t.absolutePosition,r=t.relativePosition,h,l,p,c,d=o.series.visible&&H.prototype.isInsidePlot.call(o);if(i&&d){let{width:t=0,height:u=0}=i;n.distance&&e?h=e.getPosition.call({chart:s,distance:tA(n.distance,16),getPlayingField:e.getPlayingField,pointer:e.pointer},t,u,{plotX:r.x,plotY:r.y,negative:o.negative,ttBelow:o.ttBelow,h:r.height||r.width}):n.positioner?h=n.positioner.call(this):(l={x:a.x,y:a.y,width:0,height:0},h=tO.alignedPosition(tm(n,{width:t,height:u}),l),"justify"===this.options.overflow&&(h=tO.alignedPosition(tO.justifiedOptions(s,i,n,h),l))),n.crop&&(p=h.x-s.plotLeft,c=h.y-s.plotTop,d=s.isInsidePlot(p,c)&&s.isInsidePlot(p+t,c+u))}return d?h:null}}tO.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},tO.shapesWithoutBackground=["connector"];class tM extends G{constructor(t,i,s){super(t,i,s,"shape"),this.type="image",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options),s=this.options;this.graphic=this.annotation.chart.renderer.image(s.src,0,-9e9,s.width,s.height).attr(i).add(t),this.graphic.width=s.width,this.graphic.height=s.height,super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]),s=tO.prototype.position.call(this,i);s?this.graphic[t?"animate":"attr"]({x:s.x,y:s.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!s}super.redraw(t)}}tM.attrsMap={width:"width",height:"height",zIndex:"zIndex"};var tk=p(660),tw=p.n(tk);let{addEvent:tE,createElement:tC}=u(),tT=class{constructor(t,i){this.iconsURL=i,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}createPopupContainer(t,i="highcharts-popup highcharts-no-tooltip"){return tC("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,s=this.iconsURL,e=tC("button",{className:t},void 0,this.container);return e.style["background-image"]="url("+(s.match(/png|svg|jpeg|jpg|gif/ig)?s:s+"close.svg")+")",["click","touchstart"].forEach(t=>{tE(e,t,i.closeButtonEvents.bind(i))}),tE(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),e}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=tw().emptyHTML,i.className.indexOf(t)>=0&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}},{doc:tB,isFirefox:tN}=u(),{createElement:tL,isArray:tY,isObject:tX,objectEach:tS,pick:tI,stableSort:tD}=u();function tR(t,i,s,e,o,n){let a,r;if(!i)return;let h=this.addInput,l=this.lang;tS(e,(e,n)=>{a=""!==s?s+"."+n:n,tX(e)&&(!tY(e)||tY(e)&&tX(e[0])?((r=l[n]||n).match(/\d/g)||o.push([!0,r,t]),tR.call(this,t,i,a,e,o,!1)):o.push([this,a,"annotation",t,e]))}),n&&(tD(o,t=>t[1].match(/format/g)?-1:1),tN&&o.reverse(),o.forEach(t=>{!0===t[0]?tL("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(tB.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},h.apply(t[0],t.splice(1)))}))}let{doc:tF}=u(),{seriesTypes:tW}=W(),{addEvent:tz,createElement:tU,defined:tV,isArray:tH,isObject:tq,objectEach:tj,stableSort:t_}=u();!function(t){t[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average"}(a||(a={}));let tG={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function tK(t){let i=tU("div",{className:"highcharts-popup-lhs-col"},void 0,t),s=tU("div",{className:"highcharts-popup-rhs-col"},void 0,t);return tU("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,s),{lhsCol:i,rhsCol:s}}function tZ(t,i,s,e){let o=i.params||i.options.params;e.innerHTML=tw().emptyHTML,tU("h3",{className:"highcharts-indicator-title"},void 0,e).appendChild(tF.createTextNode(t4(i,s).indicatorFullName)),tU("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,e),t5.call(this,s,"series",t,e,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&t5.call(this,s,"volume",t,e,i,i.linkedParent&&o.volumeSeriesID),tJ.call(this,t,"params",o,s,e)}function t$(t,i,s,e){function o(i,s){let e=x.parentNode.children[1];tZ.call(n,t,i,s,x),e&&(e.style.display="block"),l&&i.options&&tU("input",{type:"hidden",name:"highcharts-id-"+s,value:i.options.id},void 0,x).setAttribute("highcharts-data-series-id",i.options.id)}let n=this,a=n.lang,r=i.querySelectorAll(".highcharts-popup-lhs-col")[0],h=i.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===s,p=l?t.series:t.options.plotOptions||{};if(!t&&p)return;let c,d=[];l||tH(p)?tH(p)&&(d=t9.call(this,p)):d=t2.call(this,p,e),t_(d,(t,i)=>{let s=t.indicatorFullName.toLowerCase(),e=i.indicatorFullName.toLowerCase();return se?1:0}),r.children[1]&&r.children[1].remove();let u=tU("ul",{className:"highcharts-indicator-list"},void 0,r),x=h.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(d.forEach(t=>{let{indicatorFullName:i,indicatorType:s,series:e}=t;c=tU("li",{className:"highcharts-indicator-list"},void 0,u);let n=tU("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,c);["click","touchstart"].forEach(t=>{tz(n,t,function(){o(e,s)})})}),d.length>0){let{series:t,indicatorType:i}=d[0];o(t,i)}else l||(tw().setElementHTML(x.parentNode.children[0],a.noFilterMatch||""),x.parentNode.children[1].style.display="none")}function tJ(t,i,s,e,o){if(!t)return;let n=this.addInput;tj(s,(s,r)=>{let h=i+"."+r;if(tV(s)&&h){if(tq(s)&&(n.call(this,h,e,o,{}),tJ.call(this,t,h,s,e,o)),h in a){let n=t0.call(this,e,h,o);t1.call(this,t,i,n,e,r,s)}else"params.volumeSeriesID"===h||tH(s)||n.call(this,h,e,o,{value:s,type:"number"})}})}function tQ(t,i){let s=this,e=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=tU("div",{className:"highcharts-input-wrapper"},void 0,e),a=function(i){t$.call(s,t,s.container,"add",i)},r=this.addInput("searchIndicators","input",n,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=tU("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),tz(r,"input",function(){a(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{tz(h,t,function(){r.value="",a(""),h.style.display="none"})})}function t0(t,i,s){let e=i.split("."),o=e[e.length-1],n="highcharts-"+i+"-type-"+t,a=this.lang;tU("label",{htmlFor:n},null,s).appendChild(tF.createTextNode(a[o]||i));let r=tU("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return r.setAttribute("id","highcharts-select-"+i),r}function t1(t,i,s,e,o,n,a){"series"===i||"volume"===i?t.series.forEach(t=>{let e=t.options,o=e.name||e.params?t.name:e.id||"";"highcharts-navigator-series"!==e.id&&e.id!==(a&&a.options&&a.options.id)&&(tV(n)||"volume"!==i||"column"!==t.type||(n=e.id),tU("option",{value:e.id},void 0,s).appendChild(tF.createTextNode(o)))}):e&&o&&tG[o+"-"+e].forEach(t=>{tU("option",{value:t},void 0,s).appendChild(tF.createTextNode(t))}),tV(n)&&(s.value=n)}function t2(t,i){let s;let e=this.chart&&this.chart.options.lang,o=e&&e.navigation&&e.navigation.popup&&e.navigation.popup.indicatorAliases,n=[];return tj(t,(t,e)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=t4(t,e);if(i){let e=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=o&&o[r]&&o[r].join(" ")||"";(a.match(e)||h.match(e))&&(s={indicatorFullName:a,indicatorType:r,series:t},n.push(s))}else s={indicatorFullName:a,indicatorType:r,series:t},n.push(s)}}),n}function t9(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function t4(t,i){let s=t.options,e=tW[i]&&tW[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function t5(t,i,s,e,o,n){if(!s)return;let a=t0.call(this,t,i,e);t1.call(this,s,i,a,void 0,void 0,void 0,o),tV(n)&&(a.value=n)}let{doc:t3}=u(),{addEvent:t6,createElement:t7}=u();function t8(){return t7("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function it(t,i){let s=this.container,e=this.lang,o="highcharts-tab-item";0===i&&(o+=" highcharts-tab-disabled");let n=t7("button",{className:o},void 0,s);return n.appendChild(t3.createTextNode(e[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function ii(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{(0!==t||"edit"!==s.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{t6(s,t,function(){ii.call(i),is.call(i,this,e)})})})}let{doc:io}=u(),{getOptions:ia}=u(),{addEvent:ir,createElement:ih,extend:il,fireEvent:ip,pick:ic}=u();class id extends tT{constructor(t,i,s){super(t,i),this.chart=s,this.lang=(ia().lang.navigation||{}).popup||{},ir(this.container,"mousedown",()=>{let t=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=ir(io,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+ic(e.htmlFor,n);n.match(/^\d+$/)||ih("label",{htmlFor:r,className:e.labelClassName},void 0,s).appendChild(io.createTextNode(a[n]||n));let h=ih("input",{name:r,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,s);return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){if(this.chart){let t=this.chart.navigationBindings;ip(t,"closePopup"),t&&t.selectedButtonElement&&ip(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,s,e,o){let n=ih("button",void 0,void 0,t);return n.appendChild(io.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{ir(n,t,()=>(this.closePopup(),o(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),e=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return s.forEach(t=>{let i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),e.forEach(t=>{let i=t.id;if("highcharts-select-series"!==i&&"highcharts-select-volume"!==i){let s=i.split("highcharts-select-")[1];a.fields[s]=t.value}}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(e,s))))}),n}showForm(t,i,s,e){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,e),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,e),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,e),"flag"===t&&this.annotations.addForm.call(this,i,s,e,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}il(id.prototype,{annotations:{addForm:function(t,i,s,e){if(!t)return;let o=this.container,n=this.lang,a=tL("h2",{className:"highcharts-popup-main-title"},void 0,o);a.appendChild(tB.createTextNode(n[i.langKey]||i.langKey||"")),a=tL("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,o);let r=tL("div",{className:"highcharts-popup-bottom-row"},void 0,o);tR.call(this,a,t,"",i,[],!0),this.addButton(r,e?n.addButton||"Add":n.saveButton||"Save",e?"add":"save",o,s)},addToolbar:function(t,i,s){let e=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar";-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px");let r=tL("p",{className:"highcharts-annotation-label"},void 0,o);r.setAttribute("aria-label","Annotation type"),r.appendChild(tB.createTextNode(tI(e[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let h=this.addButton(o,e.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,s)});h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",h=this.addButton(o,e.removeButton||"Remove","remove",o,s),h.className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}},indicators:{addForm:function(t,i,s){let e;let o=this.lang;if(!t)return;this.tabs.init.call(this,t);let n=this.container.querySelectorAll(".highcharts-tab-item-content");tK(n[0]),tQ.call(this,t,n[0]),t$.call(this,t,n[0],"add"),e=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),tK(n[1]),t$.call(this,t,n[1],"edit"),e=n[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.saveButton||"save","edit",e,s),this.addButton(e,o.removeButton||"remove","remove",e,s)},getAmount:function(){let t=0;return this.series.forEach(i=>{(i.params||i.options.params)&&t++}),t}},tabs:{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),s=it.call(this,"add");it.call(this,"edit",i),t8.call(this),t8.call(this),ie.call(this,i),is.call(this,s,0)}}});let{composed:iu}=u(),{addEvent:ix,pushUnique:ig,wrap:iy}=u();function im(){this.popup&&this.popup.closePopup()}function iv(t){this.popup||(this.popup=new id(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/12.1.0/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function ib(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}let iA={compose:function(t,i){ig(iu,"Popup")&&(ix(t,"closePopup",im),ix(t,"showPopup",iv),iy(i.prototype,"onContainerMouseDown",ib))}},{getDeferredAnimation:iP}=u(),{destroyObjectProperties:iO,erase:iM,fireEvent:ik,merge:iw,pick:iE,splat:iC}=u();function iT(t,i){let s={};return["labels","shapes"].forEach(e=>{let o=t[e],n=i[e];o&&(n?s[e]=iC(n).map((t,i)=>iw(o[i],t)):s[e]=t[e])}),s}class iB extends S{static compose(t,i,s,e){w.compose(iB,t,s),tO.compose(e),tr.compose(t,e),i.compose(iB,t),iA.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=iw(this.defaultOptions,i),this.userOptions=i;let s=iT(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let t=this.options.labels||[];t.forEach((i,s)=>{let e=this.initLabel(i,s);iw(!0,t[s],e.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,s)=>{let e=this.initShape(i,s);iw(!0,t[s],e.options)})}destroy(){let t=this.chart,i=function(t){t.destroy()};this.labels.forEach(i),this.shapes.forEach(i),this.clipXAxis=null,this.clipYAxis=null,iM(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),iO(this,t)}destroyItem(t){iM(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);let s=iT(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){let e=this.chart,o=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=iP(e,o)}initLabel(t,i){let s=new tO(this,iw(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=iw(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new iB.shapesMap[s.type](this,s,i);return e.itemType="shape",this.shapes.push(e),e}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(t,i){t.linkPoints(),t.shouldBeDrawn()?(t.graphic||this.renderItem(t),t.redraw(iE(i,!0)&&t.graphic.placed),t.points.length&&function(t){let i=t.graphic,s=t.points.some(t=>!1!==t.series.visible&&!1!==t.visible);i&&(s?"hidden"===i.visibility&&i.show():i.hide())}(t)):this.destroyItem(t)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let t=this.chart.xAxis,i=this.chart.yAxis,s=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((s,e)=>{let o=e&&(e.point||e.points&&e.points[0]);return[t[o&&o.xAxis]||s[0],i[o&&o.yAxis]||s[1]]},[]);this.clipXAxis=s[0],this.clipYAxis=s[1]}setControlPointsVisibility(t){let i=function(i){i.setControlPointsVisibility(t)};this.controlPoints.forEach(i=>{i.setVisibility(t)}),this.shapes.forEach(i),this.labels.forEach(i)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=iw(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=iE(t,!i.visible);if(this.graphic.attr("visibility",e?"inherit":"hidden"),!e){let t=function(t){t.setControlPointsVisibility(e)};this.shapes.forEach(t),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&ik(s,"closePopup")}i.visible=e}update(t,i){let s=this.chart,e=iT(this.userOptions,t),o=s.annotations.indexOf(this),n=iw(!0,this.userOptions,t);n.labels=e.labels,n.shapes=e.shapes,this.destroy(),this.initProperties(s,n),this.init(s,n),s.options.annotations[o]=this.options,this.isUpdating=!0,iE(i,!0)&&s.drawAnnotations(),ik(this,"afterUpdate"),this.isUpdating=!1}}iB.ControlPoint=R,iB.MockPoint=H,iB.shapesMap={rect:tl,circle:tc,ellipse:tx,path:tr,image:tM},iB.types={},iB.prototype.defaultOptions={visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return E(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6},iB.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],q.compose(iB);let iN=iB;!function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(s=>{s.call(this.chart,t,i)})}}t.Additions=i}(r||(r={}));let iL=r,{defined:iY,isNumber:iX,pick:iS}=u(),iI={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},iD={annotationsFieldsTypes:iI,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),s=i.min,e=i.max,o=iS(t.axis.minPointOffset,0);return iX(s)&&iX(e)&&t.value>=s-o&&t.value<=e+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=iI[t],e=typeof i;return iY(s)&&(e=s),({string:"text",number:"number",boolean:"checkbox"})[e]}},{getAssignedAxis:iR}=iD,{isNumber:iF,merge:iW}=u(),iz={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:s.value,y:e.value,xAxis:s.axis.index,yAxis:e.axis.index},r:5}]},o.annotationsOptions,o.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;let e=i.options.shapes,o=e&&e[0]&&e[0].point||{};if(iF(o.xAxis)&&iF(o.yAxis)){let i=this.chart.inverted,e=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);s=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:e-t.chartX,2)+Math.pow(i?e-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:s.axis.index,yAxis:e.axis.index,points:[{x:s.value,y:e.value},{x:s.value,y:e.value}],ry:1}]},o.annotationsOptions,o.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-e.x,t.chartY-e.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[0]),o=s.getAbsolutePosition(s.points[1]),n=s.getDistanceFromLine(e,o,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis);if(!s||!e)return;let o=s.value,n=e.value,a=s.axis.index,r=e.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(iW({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,e=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&iR(o.xAxis),a=o&&iR(o.yAxis);if(n&&a){let t=n.value,s=a.value;e[1].x=t,e[2].x=t,e[2].y=s,e[3].y=s,i.update({shapes:[{points:e}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:s.axis.index,yAxis:e.axis.index,x:s.value,y:e.value}}]},o.annotationsOptions,o.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:iU}=u(),{format:iV}=ty(),{composed:iH,doc:iq,win:ij}=u(),{getAssignedAxis:i_,getFieldType:iG}=iD,{addEvent:iK,attr:iZ,defined:i$,fireEvent:iJ,isArray:iQ,isFunction:i0,isNumber:i1,isObject:i2,merge:i9,objectEach:i4,pick:i5,pushUnique:i3}=u();function i6(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function i7(){this.navigationBindings&&this.navigationBindings.destroy()}function i8(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new so(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function st(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let s=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(s=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let e=this.navigationBindings.container[0];i4(t.boundClassNames,(t,o)=>{let n=e.querySelectorAll("."+o);if(n)for(let e=0;e=4||o.call(this,t)}})}class so{static compose(t,i){i3(iH,"NavigationBindings")&&(iK(t,"remove",i6),se(t),i4(t.types,t=>{se(t)}),iK(i,"destroy",i7),iK(i,"load",i8),iK(i,"render",st),iK(so,"closePopup",si),iK(so,"deselectButton",ss),iU(iz))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=iq.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&i_(i.xAxis),i&&i_(i.yAxis)]}initEvents(){let t=this,i=t.chart,s=t.container,e=t.options;t.boundClassNames={},i4(e.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(s,i=>{t.eventsToUnbind.push(iK(i,"click",s=>{let e=t.getButtonEvents(i,s);e&&!e.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(e.button,e.events,s)}))}),i4(e.events||{},(i,s)=>{i0(i)&&t.eventsToUnbind.push(iK(t,s,i,{passive:!1}))}),t.eventsToUnbind.push(iK(i.container,"click",function(s){!i.cancelClick&&i.isInsidePlot(s.chartX-i.plotLeft,s.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,s)})),t.eventsToUnbind.push(iK(i.container,u().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},u().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;iL.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),iJ(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&e.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,iJ(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&e.renderer.boxWrapper.addClass("highcharts-draw-mode")):(e.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,e=this.selectedButton,o=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=ij.Element.prototype,e=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,o=null;if(s.closest)o=s.closest.call(t,i);else do{if(e.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return o}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):iJ(this,"closePopup")),e&&e.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(iJ(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,i),this.currentUserDetails&&e.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(iJ(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return i4(t,(t,s)=>{let e=parseFloat(t),o=s.split("."),n=o.length-1;if(!i1(e)||t.match(/px|em/g)||s.match(/format/g)||(t=e),"undefined"!==t){let s=i;o.forEach((i,e)=>{if("__proto__"!==i&&"constructor"!==i){let a=i5(o[e+1],"");n===e?s[i]=t:(s[i]||(s[i]=a.match(/\d/g)?[]:{}),s=s[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,s=so.annotationsEditable,e=s.nestedOptions,o=i5(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=so.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,s,o,a,h){let l;o&&i$(i)&&-1===n.indexOf(s)&&((o.indexOf&&o.indexOf(s))>=0||o[s]||!0===o)&&(iQ(i)?(a[s]=[],i.forEach((t,i)=>{i2(t)?(a[s][i]={},i4(t,(t,o)=>{r(t,o,e[s],a[s][i],s)})):r(t,0,e[s],a[s],s)})):i2(i)?(l={},iQ(a)?(a.push(l),l[s]={},l=l[s]):a[s]=l,i4(i,(t,i)=>{r(t,i,0===s?o:e[s],l,s)})):"format"===s?a[s]=[iV(i,t.labels[0].points[0]).toString(),"text"]:iQ(a)?a.push([i,iG(h,i)]):a[s]=[i,iG(s,i)])}return i4(i,(t,n)=>{"typeOptions"===n?(a[n]={},i4(i[n],(t,i)=>{r(t,i,e,a[n],i)})):r(t,n,s[o],a,n)}),a}getClickedClassNames(t,i){let s=i.target,e=[],o;for(;s&&s.tagName&&((o=iZ(s,"class"))&&(e=e.concat(o.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return e}getButtonEvents(t,i){let s;let e=this;return this.getClickedClassNames(t,i).forEach(t=>{e.boundClassNames[t[0]]&&!s&&(s={events:e.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=i9(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}so.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},so.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};let sn=u();sn.Annotation=sn.Annotation||iN,sn.NavigationBindings=sn.NavigationBindings||so,sn.Annotation.compose(sn.Chart,sn.NavigationBindings,sn.Pointer,sn.SVGRenderer);let{merge:sa}=u();class sr extends iN{addControlPoints(){let t=this.options,i=sr.basicControlPoints,s=this.basicType;(t.labels||t.shapes||[]).forEach(t=>{t.controlPoints=i[s]})}init(){let t=this.options;if(t.shapes){delete t.labelOptions;let i=t.shapes[0].type;t.shapes[0].className=(t.shapes[0].className||"")+" highcharts-basic-shape",i&&"path"!==i?this.basicType=i:this.basicType="rectangle"}else delete t.shapes,this.basicType="label";super.init.apply(this,arguments)}}sr.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(t){if(!t.graphic.placed)return{x:0,y:-9e7};let i=H.pointToPixels(t.points[0]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t);i.translatePoint(s.x,s.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}},{symbol:"square",positioner:function(t){return t.graphic.placed?{x:t.graphic.alignAttr.x-(this.graphic.width||0)/2,y:t.graphic.alignAttr.y-(this.graphic.height||0)/2}:{x:0,y:-9e7}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t);i.translate(s.x,s.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}}],rectangle:[{positioner:function(t){let i=H.pointToPixels(t.points[2]);return{x:i.x-4,y:i.y-4}},events:{drag:function(t,i){let s=i.annotation,e=this.chart.pointer?.getCoordinates(t),o=i.options.points,n=s.userOptions.shapes,a=s.clipXAxis?.index||0,r=s.clipYAxis?.index||0;if(e){let t=e.xAxis[a].value,s=e.yAxis[r].value;o[1].x=t,o[2].x=t,o[2].y=s,o[3].y=s,n&&n[0]&&(n[0].points=i.options.points)}s.redraw(!1)}}}],circle:[{positioner:function(t){let i=H.pointToPixels(t.points[0]),s=t.options.r;return{x:i.x+s*Math.cos(Math.PI/4)-(this.graphic.width||0)/2,y:i.y+s*Math.sin(Math.PI/4)-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.annotation,e=this.mouseMoveToTranslation(t),o=s.userOptions.shapes;i.setRadius(Math.max(i.options.r+e.y/Math.sin(Math.PI/4),5)),o&&o[0]&&(o[0].r=i.options.r,o[0].point=i.options.point),i.redraw(!1)}}}],ellipse:[{positioner:function(t){let i=t.getAbsolutePosition(t.points[0]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,0),i.redraw(!1)}}},{positioner:function(t){let i=t.getAbsolutePosition(t.points[1]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,1),i.redraw(!1)}}},{positioner:function(t){let i=t.getAbsolutePosition(t.points[0]),s=t.getAbsolutePosition(t.points[1]),e=t.getAttrs(i,s);return{x:e.cx-(this.graphic.width||0)/2+e.ry*Math.sin(e.angle*Math.PI/180),y:e.cy-(this.graphic.height||0)/2-e.ry*Math.cos(e.angle*Math.PI/180)}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]),e=i.getAbsolutePosition(i.points[1]),o=i.getDistanceFromLine(s,e,t.chartX,t.chartY),n=i.getYAxis(),a=Math.abs(n.toValue(0)-n.toValue(o));i.setYRadius(a),i.redraw(!1)}}}]},sr.prototype.defaultOptions=sa(iN.prototype.defaultOptions,{}),iN.types.basicAnnotation=sr;let{merge:sh}=u();class sl extends iN{setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}getPointsOptions(){let t=this.options.typeOptions;return(t.points||[]).map(i=>(i.xAxis=t.xAxis,i.yAxis=t.yAxis,i))}getControlPointsOptions(){return this.getPointsOptions()}addControlPoints(){this.getControlPointsOptions().forEach(function(t,i){let s=new R(this.chart,this,sh(this.options.controlPointOptions,t.controlPoint),i);this.controlPoints.push(s),t.controlPoint=s.options},this)}addShapes(){let t=this.options.typeOptions,i=this.initShape(sh(t.line,{type:"path",className:"highcharts-crooked-lines",points:this.points.map((t,i)=>function(t){return t.annotation.points[i]})}),0);t.line=i.options}}sl.prototype.defaultOptions=sh(iN.prototype.defaultOptions,{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(t){let i=this.graphic,s=H.pointToPixels(t.points[this.index]);return{x:s.x-(i.width||0)/2,y:s.y-(i.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t),e=i.options.typeOptions;i.translatePoint(s.x,s.y,this.index),e.points[this.index].x=i.points[this.index].x,e.points[this.index].y=i.points[this.index].y,i.redraw(!1)}}}}}),iN.types.crookedLine=sl;let sp=sl,{merge:sc}=u();class sd extends sp{addLabels(){this.getPointsOptions().forEach((t,i)=>{let s=this.options.typeOptions,e=this.initLabel(sc(t.label,{text:s.labels[i],point:function(t){return t.annotation.points[i]}}),!1);t.label=e.options})}}sd.prototype.defaultOptions=sc(sp.prototype.defaultOptions,{typeOptions:{labels:["(0)","(A)","(B)","(C)","(D)","(E)"],line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),iN.types.elliottWave=sd;let{merge:su}=u();class sx extends sp{getPointsOptions(){let t=sp.prototype.getPointsOptions.call(this),i=this.options.typeOptions.yAxis||0,s=this.chart.yAxis[i];if(t[2]=this.heightPointOptions(t[1]),t[3]=this.heightPointOptions(t[0]),s&&s.logarithmic){let i=s.toPixels(t[2].y)-s.toPixels(t[1].y),e=s.toPixels(t[0].y)+i;t[3].y=s.toValue(e)}return t}getControlPointsOptions(){return this.getPointsOptions().slice(0,2)}heightPointOptions(t){let i=su(t),s=this.options.typeOptions;return i.y+=s.height,i}addControlPoints(){sp.prototype.addControlPoints.call(this);let t=this.options,i=t.typeOptions,s=new R(this.chart,this,su(t.controlPointOptions,i.heightControlPoint),2);this.controlPoints.push(s),i.heightControlPoint=s.options}addShapes(){this.addLine(),this.addBackground()}addLine(){let t=this.initShape(su(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(t){let i=H.pointToOptions(t.annotation.points[2]);return i.command="M",i},this.points[3]],className:"highcharts-tunnel-lines"}),0);this.options.typeOptions.line=t.options}addBackground(){let t=this.initShape(su(this.options.typeOptions.background,{type:"path",points:this.points.slice(),className:"highcharts-tunnel-background"}),1);this.options.typeOptions.background=t.options}translateSide(t,i,s){let e=Number(s);this.translatePoint(t,i,e),this.translatePoint(t,i,0===e?3:2)}translateHeight(t){this.translatePoint(0,t,2),this.translatePoint(0,t,3),this.options.typeOptions.height=this.points[3].y-this.points[0].y,this.userOptions.typeOptions.height=this.options.typeOptions.height}}sx.prototype.defaultOptions=su(sp.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(t){let i=H.pointToPixels(t.points[2]),s=H.pointToPixels(t.points[3]),e=(i.x+s.x)/2;return{x:e-(this.graphic.width||0)/2,y:(s.y-i.y)/(s.x-i.x)*(e-i.x)+i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(i.translateHeight(this.mouseMoveToTranslation(t).y),i.redraw(!1))}}}},controlPointOptions:{events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t);i.translateSide(s.x,s.y,!!this.index),i.redraw(!1)}}}}}),iN.types.tunnel=sx;let sg=sx,{merge:sy}=u();class sf extends sp{static edgePoint(t,i){return function(s){let e=s.annotation,o=e.options.typeOptions.type,n=e.points;return("horizontalLine"===o||"verticalLine"===o)&&(n=[n[0],new H(e.chart,n[0].target,{x:n[0].x+ +("horizontalLine"===o),y:n[0].y+ +("verticalLine"===o),xAxis:n[0].options.xAxis,yAxis:n[0].options.yAxis})]),sf.findEdgePoint(n[t],n[i])}}static findEdgeCoordinate(t,i,s,e){let o="x"===s?"y":"x";return(i[s]-t[s])*(e-t[o])/(i[o]-t[o])+t[s]}static findEdgePoint(t,i){let s,e,o;let n=t.series.chart,a=t.series.xAxis,r=i.series.yAxis,h=H.pointToPixels(t),l=H.pointToPixels(i),p=l.x-h.x,c=l.y-h.y,d=a.left,u=d+a.width,x=r.top,g=x+r.height,y=p<0?d:u,f=c<0?x:g,m={x:0===p?h.x:y,y:0===c?h.y:f};return 0!==p&&0!==c&&(e=sf.findEdgeCoordinate(h,l,"y",y),s=sf.findEdgeCoordinate(h,l,"x",f),e>=x&&e<=g?(m.x=y,m.y=e):(m.x=s,m.y=f)),m.x-=n.plotLeft,m.y-=n.plotTop,t.series.chart.inverted&&(o=m.x,m.x=m.y,m.y=o),m}addShapes(){let t=this.options.typeOptions,i=[this.points[0],sf.endEdgePoint];t.type.match(/line/gi)&&(i[0]=sf.startEdgePoint);let s=this.initShape(sy(t.line,{type:"path",points:i,className:"highcharts-infinity-lines"}),0);t.line=s.options}}sf.endEdgePoint=sf.edgePoint(0,1),sf.startEdgePoint=sf.edgePoint(1,0),sf.prototype.defaultOptions=sy(sp.prototype.defaultOptions,{}),iN.types.infinityLine=sf;let sm=sf,{merge:sv,isNumber:sb,defined:sA}=u();class sP extends sp{init(t,i,s){sA(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),sA(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}setPath(){this.shapes[0].options.d=this.getPath()}getPath(){return[["M",this.startX,this.y]].concat(function(t,i,s,e){let o=[];for(let n=1;n<=i;n++)o.push(["A",t/2,t/2,0,1,1,s+n*t,e]);return o}(this.pixelInterval,this.numberOfCircles,this.startX,this.y))}addShapes(){let t=this.options.typeOptions;this.setPathProperties();let i=this.initShape(sv(t.line,{type:"path",d:this.getPath(),points:this.options.points,className:"highcharts-timecycles-lines"}),0);t.line=i.options}addControlPoints(){let t=this.options,i=t.typeOptions;t.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize",i.controlPointOptions.forEach(i=>{let s=sv(t.controlPointOptions,i),e=new R(this.chart,this,s,0);this.controlPoints.push(e)})}setPathProperties(){let t=this.options.typeOptions,i=t.points;if(!i)return;let s=i[0],e=i[1],o=t.xAxis||0,n=t.yAxis||0,a=this.chart.xAxis[o],r=this.chart.yAxis[n],h=s.x,l=s.y,p=e.x;if(!h||!p)return;let c=sb(l)?r.toPixels(l):r.top+r.height,d=sb(h)?a.toPixels(h):a.left,u=sb(p)?a.toPixels(p):a.left+30,x=a.len,g=Math.round(Math.max(Math.abs(u-d),2)),y=Math.floor(x/g)+2,f=(Math.floor((d-a.left)/g)+1)*g;this.startX=d-f,this.y=c,this.pixelInterval=g,this.numberOfCircles=y}redraw(t){this.setPathProperties(),this.setPath(),super.redraw(t)}}sP.prototype.defaultOptions=sv(sp.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(t){let i=t.points[0];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){let s=i.anchor(i.points[0]).absolutePosition;i.translatePoint(t.chartX-s.x,0,0),i.redraw(!1)}}},{positioner:function(t){let i=t.points[1];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){let s=i.anchor(i.points[1]).absolutePosition;i.translatePoint(t.chartX-s.x,0,1),i.redraw(!1)}}}]}}),iN.types.timeCycles=sP;let{merge:sO}=u();function sM(t,i){return function(){let s=this.annotation;if(!s.startRetracements||!s.endRetracements)return[];let e=this.anchor(s.startRetracements[t]).absolutePosition,o=this.anchor(s.endRetracements[t]).absolutePosition,n=[["M",Math.round(e.x),Math.round(e.y)],["L",Math.round(o.x),Math.round(o.y)]];if(i){let i=this.anchor(s.endRetracements[t-1]).absolutePosition,e=this.anchor(s.startRetracements[t-1]).absolutePosition;n.push(["L",Math.round(i.x),Math.round(i.y)],["L",Math.round(e.x),Math.round(e.y)])}return n}}class sk extends sg{linkPoints(){super.linkPoints(),this.linkRetracementsPoints()}linkRetracementsPoints(){let t=this.points,i=t[0].y-t[3].y,s=t[1].y-t[2].y,e=t[0].x,o=t[1].x;sk.levels.forEach((n,a)=>{let r=t[0].y-i*n,h=t[1].y-s*n,l=this.options.typeOptions.reversed?sk.levels.length-a-1:a;this.startRetracements=this.startRetracements||[],this.endRetracements=this.endRetracements||[],this.linkRetracementPoint(l,e,r,this.startRetracements),this.linkRetracementPoint(l,o,h,this.endRetracements)})}linkRetracementPoint(t,i,s,e){let o=e[t],n=this.options.typeOptions;o?(o.options.x=i,o.options.y=s,o.refresh()):e[t]=new H(this.chart,this,{x:i,y:s,xAxis:n.xAxis,yAxis:n.yAxis})}addShapes(){sk.levels.forEach(function(t,i){let{backgroundColors:s,lineColor:e,lineColors:o}=this.options.typeOptions;this.initShape({type:"path",d:sM(i),stroke:o[i]||e,className:"highcharts-fibonacci-line"},i),i>0&&this.initShape({type:"path",fill:s[i-1],strokeWidth:0,d:sM(i,!0),className:"highcharts-fibonacci-background-"+(i-1)})},this)}addLabels(){sk.levels.forEach(function(t,i){let s=this.options.typeOptions,e=this.initLabel(sO(s.labels[i],{point:function(t){return H.pointToOptions(t.annotation.startRetracements[i])},text:t.toString()}));s.labels[i]=e.options},this)}}sk.levels=[0,.236,.382,.5,.618,.786,1],sk.prototype.defaultOptions=sO(sg.prototype.defaultOptions,{typeOptions:{reversed:!1,height:2,backgroundColors:["rgba(130, 170, 255, 0.4)","rgba(139, 191, 216, 0.4)","rgba(150, 216, 192, 0.4)","rgba(156, 229, 161, 0.4)","rgba(162, 241, 130, 0.4)","rgba(169, 255, 101, 0.4)"],lineColor:"#999999",lineColors:[],labels:[]},labelOptions:{allowOverlap:!0,align:"right",backgroundColor:"none",borderWidth:0,crop:!1,overflow:"none",shape:"rect",style:{color:"grey"},verticalAlign:"middle",y:0}}),iN.types.fibonacci=sk;let{merge:sw}=u();function sE(t,i,s){return function(e){let o=e.annotation.chart,n=o.inverted?o.plotTop:o.plotLeft,a=e.annotation.points,r=a[0].series.xAxis,h=a.length>1?a[1].plotX-a[0].plotX:0,l=r.toValue(a[0].plotX+n+s*h);return a=[new H(o,a[0].target,{x:l,y:0,xAxis:a[0].options.xAxis,yAxis:a[0].options.yAxis}),new H(o,a[0].target,{x:l,y:1,xAxis:a[0].options.xAxis,yAxis:a[0].options.yAxis})],sm.findEdgePoint(a[t],a[i])}}class sC extends sp{addShapes(){let t=1,i=1;for(let s=0;s<11;s++){let e=s?t:0,o=[sE(1,0,e),sE(0,1,e)];t=(i=t+i)-t,1===s&&(this.secondLineEdgePoints=[o[0],o[1]]),this.initShape(sw(this.options.typeOptions.line,{type:"path",points:o,className:"highcharts-fibonacci-timezones-lines"}),s)}}addControlPoints(){let t=this.options,i=t.typeOptions,s=new R(this.chart,this,sw(t.controlPointOptions,i.controlPointOptions),0);this.controlPoints.push(s),i.controlPointOptions=s.options}}sC.prototype.defaultOptions=sw(sp.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){let t=this.target,i=this.graphic,s=t.secondLineEdgePoints,e={annotation:t},o=s[0](e).y,n=s[1](e).y,a=this.chart.plotLeft,r=this.chart.plotTop,h=s[0](e).x,l=(o+n)/2;return this.chart.inverted&&([h,l]=[l,h]),{x:a+h-(i.width||0)/2,y:r+l-(i.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t);i.translatePoint(s.x,0,1),i.redraw(!1)}}}}}}),iN.types.fibonacciTimeZones=sC;let{merge:sT}=u();class sB extends sm{static outerLineEdgePoint(t){return function(i){let s=i.annotation,e=s.points;return sB.findEdgePoint(e[t],e[0],new H(s.chart,i,s.midPointOptions()))}}static findEdgePoint(t,i,s){let e=Math.atan2(s.plotY-i.plotY,s.plotX-i.plotX);return{x:t.plotX+1e7*Math.cos(e),y:t.plotY+1e7*Math.sin(e)}}static middleLineEdgePoint(t){let i=t.annotation,s=i.points;return sm.findEdgePoint(s[0],new H(i.chart,t,i.midPointOptions()))}midPointOptions(){let t=this.points;return{x:(t[1].x+t[2].x)/2,y:(t[1].y+t[2].y)/2,xAxis:t[0].series.xAxis,yAxis:t[0].series.yAxis}}addShapes(){this.addLines(),this.addBackgrounds()}addLines(){let t="highcharts-pitchfork-lines";this.initShape({type:"path",points:[this.points[0],sB.middleLineEdgePoint],className:t},0),this.initShape({type:"path",points:[this.points[1],sB.topLineEdgePoint],className:t},1),this.initShape({type:"path",points:[this.points[2],sB.bottomLineEdgePoint],className:t},2)}addBackgrounds(){let t=this.shapes,i=this.options.typeOptions,s=this.initShape(sT(i.innerBackground,{type:"path",points:[function(t){let i=t.annotation,s=i.points,e=i.midPointOptions();return{x:(s[1].x+e.x)/2,y:(s[1].y+e.y)/2,xAxis:e.xAxis,yAxis:e.yAxis}},t[1].points[1],t[2].points[1],function(t){let i=t.annotation,s=i.points,e=i.midPointOptions();return{x:(e.x+s[2].x)/2,y:(e.y+s[2].y)/2,xAxis:e.xAxis,yAxis:e.yAxis}}],className:"highcharts-pitchfork-inner-background"}),3),e=this.initShape(sT(i.outerBackground,{type:"path",points:[this.points[1],t[1].points[1],t[2].points[1],this.points[2]],className:"highcharts-pitchfork-outer-background"}),4);i.innerBackground=s.options,i.outerBackground=e.options}}sB.topLineEdgePoint=sB.outerLineEdgePoint(1),sB.bottomLineEdgePoint=sB.outerLineEdgePoint(0),sB.prototype.defaultOptions=sT(sm.prototype.defaultOptions,{typeOptions:{innerBackground:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},outerBackground:{fill:"rgba(156, 229, 161, 0.4)",strokeWidth:0}}}),iN.types.pitchfork=sB;let{merge:sN,pick:sL}=u();class sY extends iN{static connectorFirstPoint(t){let i=t.annotation,s=i.chart,e=s.inverted,o=i.points[0],n=sL(o.series.yAxis&&o.series.yAxis.left,0),a=sL(o.series.yAxis&&o.series.yAxis.top,0),r=i.options.typeOptions.label.offset,h=H.pointToPixels(o,!0)[e?"x":"y"];return{x:o.x,xAxis:o.series.xAxis,y:h+r+(e?n-s.plotLeft:a-s.plotTop)}}static connectorSecondPoint(t){let i=t.annotation,s=i.chart,e=s.inverted,o=i.options.typeOptions,n=i.points[0],a=sL(n.series.yAxis&&n.series.yAxis.left,0),r=sL(n.series.yAxis&&n.series.yAxis.top,0),h=H.pointToPixels(n,!0)[e?"x":"y"],l=o.yOffset;return o.label.offset<0&&(l*=-1),{x:n.x,xAxis:n.series.xAxis,y:h+l+(e?a-s.plotLeft:r-s.plotTop)}}getPointsOptions(){return[this.options.typeOptions.point]}addShapes(){let t=this.options.typeOptions,i=this.initShape(sN(t.connector,{type:"path",points:[sY.connectorFirstPoint,sY.connectorSecondPoint],className:"highcharts-vertical-line"}),0);t.connector=i.options,this.userOptions.typeOptions.point=t.point}addLabels(){let t=this.options.typeOptions,i=t.label,s=0,e=i.offset,o=i.offset<0?"bottom":"top",n="center";this.chart.inverted&&(s=i.offset,e=0,o="middle",n=i.offset<0?"right":"left");let a=this.initLabel(sN(i,{verticalAlign:o,align:n,x:s,y:e}));t.label=a.options}}sY.prototype.defaultOptions=sN(iN.prototype.defaultOptions,{typeOptions:{yOffset:10,label:{offset:-40,point:function(t){return t.annotation.points[0]},allowOverlap:!0,backgroundColor:"none",borderWidth:0,crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}}),iN.types.verticalLine=sY;let{defined:sX,extend:sS,isNumber:sI,merge:sD,pick:sR}=u();function sF(){let t="";return""!==this.max&&""!==this.min&&(t=(this.max+this.min)/2),t}function sW(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s++,e=!0)})}),e||(s=""),s}function sz(){return"Min: "+this.min+"
Max: "+this.max+"
Average: "+this.average+"
Bins: "+this.bins}function sU(t,i,s,e){return{xAxisMin:Math.min(i,t),xAxisMax:Math.max(i,t),yAxisMin:Math.min(e,s),yAxisMax:Math.max(e,s)}}function sV(t,i,s){return t.toValue(t.toPixels(i)+s)}function sH(){let t=this.options.typeOptions,i=this.chart,s=i.inverted,e=i.xAxis[t.xAxis],o=i.yAxis[t.yAxis],n=t.background,a=s?n.height:n.width,r=s?n.width:n.height,h=t.selectType,l=s?e.left:o.top,p=s?o.top:e.left;this.startXMin=t.point.x,this.startYMin=t.point.y,sI(a)?this.startXMax=this.startXMin+a:this.startXMax=sV(e,this.startXMin,parseFloat(a)),sI(r)?this.startYMax=this.startYMin-r:this.startYMax=sV(o,this.startYMin,parseFloat(r)),"x"===h?(this.startYMin=o.toValue(l),this.startYMax=o.toValue(l+o.len)):"y"===h&&(this.startXMin=e.toValue(p),this.startXMax=e.toValue(p+e.len))}function sq(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=-1/0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.y>s&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,e=!0)})}),e||(s=""),s}function sj(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=1/0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.yi.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,e=!0)})}),e||(s=""),s}function s_(t){let i=this.options.typeOptions,s=this.chart.xAxis[i.xAxis],e=this.chart.yAxis[i.yAxis],o=this.offsetX,n=this.offsetY;this.xAxisMin=sV(s,this.startXMin,o),this.xAxisMax=sV(s,this.startXMax,o),this.yAxisMin=sV(e,this.startYMin,n),this.yAxisMax=sV(e,this.startYMax,n),this.min=sj.call(this),this.max=sq.call(this),this.average=sF.call(this),this.bins=sW.call(this),t&&this.resize(0,0)}function sG(t,i,s,e,o){let n=this.options.typeOptions,a=n.selectType,r=this.chart.xAxis[n.xAxis],h=this.chart.yAxis[n.yAxis],l=this.startXMin,p=this.startXMax,c=this.startYMin,d=this.startYMax,u=this.offsetX,x=this.offsetY;i&&("x"===a?0===s?this.startXMin=sV(r,l,e):this.startXMax=sV(r,p,e):"y"===a?0===s?this.startYMin=sV(h,c,o):this.startYMax=sV(h,d,o):(this.startXMax=sV(r,p,e),this.startYMax=sV(h,d,o))),t&&(this.startXMin=sV(r,l,u),this.startXMax=sV(r,p,u),this.startYMin=sV(h,c,x),this.startYMax=sV(h,d,x),this.offsetX=0,this.offsetY=0),this.options.typeOptions.point={x:this.startXMin,y:this.startYMin},this.userOptions.typeOptions.point={x:this.startXMin,y:this.startYMin}}class sK extends iN{init(t,i,s){super.init(t,i,s),this.offsetX=0,this.offsetY=0,this.resizeX=0,this.resizeY=0,sH.call(this),this.addValues(),this.addShapes()}setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}pointsOptions(){return this.options.points}shapePointsOptions(){let t=this.options.typeOptions,i=t.xAxis,s=t.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:i,yAxis:s},{x:this.xAxisMax,y:this.yAxisMin,xAxis:i,yAxis:s},{x:this.xAxisMax,y:this.yAxisMax,xAxis:i,yAxis:s},{x:this.xAxisMin,y:this.yAxisMax,xAxis:i,yAxis:s},{command:"Z"}]}addControlPoints(){let t=this.chart.inverted,i=this.options.controlPointOptions,s=this.options.typeOptions.selectType;sX(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===s?i.style.cursor=t?"ns-resize":"ew-resize":"y"!==s||(i.style.cursor=t?"ew-resize":"ns-resize"));let e=new R(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(e),"xy"!==s&&(e=new R(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(e))}addValues(t){let i=this.options.typeOptions,s=i.label.formatter;s_.call(this,t),i.label.enabled&&(this.labels.length>0?this.labels[0].text=s&&s.call(this)||sz.call(this):this.initLabel(sS({shape:"rect",backgroundColor:"none",color:"black",borderWidth:0,dashStyle:"Dash",overflow:"allow",align:"left",y:0,x:0,verticalAlign:"top",crop:!0,xAxis:0,yAxis:0,point:function(t){let s=t.annotation,e=t.options;return{x:s.xAxisMin,y:s.yAxisMin,xAxis:sR(i.xAxis,e.xAxis),yAxis:sR(i.yAxis,e.yAxis)}},text:s&&s.call(this)||sz.call(this)},i.label),void 0))}addShapes(){this.addCrosshairs(),this.addBackground()}addBackground(){let t=this.shapePointsOptions();void 0!==t[0].x&&this.initShape(sS({type:"path",points:t,className:"highcharts-measure-background"},this.options.typeOptions.background),2)}addCrosshairs(){let t=this.chart,i=this.options.typeOptions,s=this.options.typeOptions.point,e=t.xAxis[i.xAxis],o=t.yAxis[i.yAxis],n=t.inverted,a={point:s,type:"path"},r=e.toPixels(this.xAxisMin),h=e.toPixels(this.xAxisMax),l=o.toPixels(this.yAxisMin),p=o.toPixels(this.yAxisMax),c=[],d=[],u,x,g;n&&(g=r,r=l,l=g,g=h,h=p,p=g),i.crosshairX.enabled&&(c=[["M",r,l+(p-l)/2],["L",h,l+(p-l)/2]]),i.crosshairY.enabled&&(d=[["M",r+(h-r)/2,l],["L",r+(h-r)/2,p]]),this.shapes.length>0?(this.shapes[0].options.d=c,this.shapes[1].options.d=d):(u=sD(a,{className:"highcharts-measure-crosshair-x"},i.crosshairX),x=sD(a,{className:"highcharts-measure-crosshair-y"},i.crosshairY),this.initShape(sS({d:c},u),0),this.initShape(sS({d:d},x),1))}onDrag(t){let i=this.mouseMoveToTranslation(t),s=this.options.typeOptions.selectType,e="y"===s?0:i.x,o="x"===s?0:i.y;this.translate(e,o),this.offsetX+=e,this.offsetY+=o,this.redraw(!1,!1,!0)}resize(t,i,s,e){let o=this.shapes[2];"x"===e?0===s?(o.translatePoint(t,0,0),o.translatePoint(t,i,3)):(o.translatePoint(t,0,1),o.translatePoint(t,i,2)):"y"===e?0===s?(o.translatePoint(0,i,0),o.translatePoint(0,i,1)):(o.translatePoint(0,i,2),o.translatePoint(0,i,3)):(o.translatePoint(t,0,1),o.translatePoint(t,i,2),o.translatePoint(0,i,3)),sG.call(this,!1,!0,s,t,i),this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin),this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)}redraw(t,i,s){this.linkPoints(),this.graphic||this.render(),s&&sG.call(this,!0,!1),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.addValues(i),this.addCrosshairs(),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t);let e=this.options.typeOptions.background;if(e?.strokeWidth&&this.shapes[2]?.graphic){let t=e.strokeWidth/2,i=this.shapes[2],s=i.graphic.pathArray,o=s[0],n=s[1],a=s[2],r=s[3];o[1]=(o[1]||0)+t,n[1]=(n[1]||0)-t,a[1]=(a[1]||0)-t,r[1]=(r[1]||0)+t,o[2]=(o[2]||0)+t,n[2]=(n[2]||0)+t,a[2]=(a[2]||0)-t,r[2]=(r[2]||0)-t,i.graphic.attr({d:s})}this.controlPoints.forEach(t=>t.redraw())}translate(t,i){this.shapes.forEach(s=>s.translate(t,i))}}sK.prototype.defaultOptions=sD(iN.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"0.7em",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(t){let i=this.index,s=t.chart,e=t.options,o=e.typeOptions,n=o.selectType,a=e.controlPointOptions,r=s.inverted,h=s.xAxis[o.xAxis],l=s.yAxis[o.yAxis],p=sU(t.xAxisMin,t.xAxisMax,t.yAxisMin,t.yAxisMax),c=t.xAxisMax,d=t.yAxisMax,u,x;return"x"===n&&(d=(p.yAxisMax+p.yAxisMin)/2,0===i&&(c=t.xAxisMin)),"y"===n&&(c=p.xAxisMin+(p.xAxisMax-p.xAxisMin)/2,0===i&&(d=t.yAxisMin)),r?(u=l.toPixels(d),x=h.toPixels(c)):(u=h.toPixels(c),x=l.toPixels(d)),{x:u-a.width/2,y:x-a.height/2}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t),e=i.options.typeOptions.selectType,o=this.index,n="y"===e?0:s.x,a="x"===e?0:s.y;i.resize(n,a,o,e),i.resizeX+=n,i.resizeY+=a,i.redraw(!1,!0)}}}}),iN.types.measure=sK;/** - * @license Highcharts JS v12.1.0 (2024-12-17) + */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts/highcharts"],function(t){return i(t,t.SeriesRegistry,t.Templating,t.AST)}):"object"==typeof exports?exports["highcharts/modules/annotations-advanced"]=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.SeriesRegistry,t.Highcharts.Templating,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,s,e)=>(()=>{"use strict";var o,n,a,r,h={660:t=>{t.exports=e},512:t=>{t.exports=i},984:t=>{t.exports=s},944:i=>{i.exports=t}},l={};function p(t){var i=l[t];if(void 0!==i)return i.exports;var s=l[t]={exports:{}};return h[t](s,s.exports,p),s.exports}p.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return p.d(i,{a:i}),i},p.d=(t,i)=>{for(var s in i)p.o(i,s)&&!p.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},p.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var c={};p.d(c,{default:()=>sZ});var d=p(944),u=p.n(d);let{addEvent:x,erase:g,find:y,fireEvent:f,pick:m,wrap:v}=u();function b(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),m(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function A(){let t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach((i,s)=>{if(!t.annotations.some(t=>t.options===i)){let e=t.initAnnotation(i);t.options.annotations[s]=e.options}}),t.drawAnnotations(),x(t,"redraw",t.drawAnnotations),x(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),x(t,"exportData",function(i){let s=t.annotations,e=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,o=!i.dataRows[1].xValues,n=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,a=i.dataRows[0].length,r=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,h=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;s.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let s=t.options.text;t.points.forEach(t=>{let e=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let t=i.dataRows[0].length,a=Array(t);for(let i=0;i{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(h&&t.length>a?t[t.length-1]+=r+s:t.push(s),n=!0)}),!n){let t=i.dataRows[0].length,n=Array(t);for(let i=0;i{l=Math.max(l,t.length)});let p=l-i.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function O(t){let i=this.annotations,s="annotations"===t.coll?t:y(i,function(i){return i.options.id===t});s&&(f(s,"remove"),g(this.options.annotations,s.options),g(i,s),s.destroy())}function M(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function k(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}(o||(o={})).compose=function(t,i,s){let e=i.prototype;if(!e.addAnnotation){let o=s.prototype;x(i,"afterInit",M),e.addAnnotation=b,e.callbacks.push(A),e.collectionsWithInit.annotations=[b],e.collectionsWithUpdate.push("annotations"),e.drawAnnotations=P,e.removeAnnotation=O,e.initAnnotation=function(i){let s=new(t.types[i.type]||t)(this,i);return this.annotations.push(s),s},v(o,"onContainerMouseDown",k)}};let w=o,{defined:E}=u(),{doc:C,isTouchDevice:T}=u(),{addEvent:B,fireEvent:N,objectEach:L,pick:Y,removeEvent:X}=u(),S=class{addEvents(){let t=this,i=function(i){B(i,T?"touchstart":"mousedown",i=>{t.onMouseDown(i)},{passive:!1})};if(i(this.graphic.element),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),L(t.options.events,(i,s)=>{let e=function(e){"click"===s&&t.cancelClick||i.call(t,t.chart.pointer?.normalize(e),t.target)};-1===(t.nonDOMEvents||[]).indexOf(s)?(B(t.graphic.element,s,e,{passive:!1}),t.graphic.div&&B(t.graphic.div,s,e,{passive:!1})):B(t,s,e,{passive:!1})}),t.options.draggable&&(B(t,"drag",t.onDrag),!t.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]};t.graphic.css(i),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}t.isUpdating||N(t,"add")}destroy(){this.removeDocEvents(),X(this),this.hcEvents=null}mouseMoveToRadians(t,i,s){let e=t.prevChartY-s,o=t.prevChartX-i,n=t.chartY-s,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=e,e=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(e,o)}mouseMoveToScale(t,i,s){let e=t.prevChartX-i,o=t.prevChartY-s,n=t.chartX-i,a=t.chartY-s,r=(n||1)/(e||1),h=(a||1)/(o||1);if(this.chart.inverted){let t=h;h=r,r=t}return{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY,e;return this.chart.inverted&&(e=s,s=i,i=e),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(t){if(t.preventDefault&&t.preventDefault(),2===t.button)return;let i=this,s=i.chart.pointer,e=t?.sourceCapabilities?.firesTouchEvents||!1,o=(t=s?.normalize(t)||t).chartX,n=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=B(C,T||e?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=s?.normalize(t)||t).prevChartX=o,t.prevChartY=n,N(i,"drag",t),o=t.chartX,n=t.chartY},T||e?{passive:!1}:void 0),i.removeMouseUp=B(C,T||e?"touchend":"mouseup",function(){let t=Y(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&N(Y(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},T||e?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}},{merge:I,pick:D}=u(),R=class extends S{constructor(t,i,s,e){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=D(s.index,e)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){let i=this.chart,s=this.target,e=this.index,o=I(!0,this.options,t);this.destroy(),this.constructor(i,s,o,e),this.render(i.controlPointsGroup),this.redraw()}};var F=p(512),W=p.n(F);let{series:{prototype:z}}=W(),{defined:U,fireEvent:V}=u();class H{static fromPoint(t){return new H(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let s=t.series,e=s.chart,o=t.plotX||0,n=t.plotY||0,a;return e.inverted&&(t.mock?(o=t.plotY,n=t.plotX):(o=e.plotWidth-(t.plotY||0),n=e.plotHeight-(t.plotX||0))),s&&!i&&(o+=(a=s.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,s){this.mock=!0,this.point=this,this.series={visible:!0,chart:t,getPlotBox:z.getPlotBox},this.target=i||null,this.options=s,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,s=this.series.xAxis,e=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(o.isInsidePlot=U(t)&&t>=0&&t<=s.len),e&&(o.isInsidePlot=o.isInsidePlot&&U(i)&&i>=0&&i<=e.len),V(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,s=t.yAxis,e=this.getOptions();i?(this.x=e.x,this.plotX=i.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x),s?(this.y=e.y,this.plotY=s.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,s=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=s?s.toValue(this.plotY,!0):this.plotY}rotate(t,i,s){if(!this.hasDynamicOptions()){let e=Math.cos(s),o=Math.sin(s),n=this.plotX-t,a=this.plotY-i;this.plotX=n*e-a*o+t,this.plotY=n*o+a*e+i,this.refreshOptions()}}scale(t,i,s,e){if(!this.hasDynamicOptions()){let o=this.plotX*s,n=this.plotY*e;this.plotX=(1-s)*t+o,this.plotY=(1-e)*i+n,this.refreshOptions()}}setAxis(t,i){let s=i+"Axis",e=t[s],o=this.series.chart;this.series[s]="object"==typeof e?e:U(e)?o[s][e]||o.get(e):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,s,e){this.hasDynamicOptions()||(this.plotX+=s,this.plotY+=e,this.refreshOptions())}}!function(t){function i(){let t=this.controlPoints,i=this.options.controlPoints||[];i.forEach((s,e)=>{let o=u().merge(this.options.controlPointOptions,s);o.index||(o.index=e),i[e]=o,t.push(new R(this.chart,this,o))})}function s(t){let i=t.series.getPlotBox(),s=t.series.chart,e=t.mock?t.toAnchor():s.tooltip&&s.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:e[0]+(this.options.x||0),y:e[1]+(this.options.y||0),height:e[2]||0,width:e[3]||0};return{relativePosition:o,absolutePosition:u().merge(o,{x:o.x+(t.mock?i.translateX:s.plotLeft),y:o.y+(t.mock?i.translateY:s.plotTop)})}}function e(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){let t=this.options;return t.points||t.point&&u().splat(t.point)}function n(){let t,i;let s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;ti.redraw(t))}function h(){this.controlPoints.forEach(t=>t.render())}function l(t,i,s,e,o){if(this.chart.inverted){let t=i;i=s,s=t}this.points.forEach((n,a)=>this.transformPoint(t,i,s,e,o,a),this)}function p(t,i,s,e,o,n){let a=this.points[n];a.mock||(a=this.points[n]=H.fromPoint(a)),a[t](i,s,e,o)}function c(t,i){this.transform("translate",null,null,t,i)}function d(t,i,s){this.transformPoint("translate",null,null,t,i,s)}t.compose=function(t){let x=t.prototype;x.addControlPoints||u().merge(!0,x,{addControlPoints:i,anchor:s,destroyControlTarget:e,getPointsOptions:o,linkPoints:n,point:a,redrawControlPoints:r,renderControlPoints:h,transform:l,transformPoint:p,translate:c,translatePoint:d})}}(n||(n={}));let q=n,{merge:j}=u();class _{constructor(t,i,s,e){this.annotation=t,this.chart=t.chart,this.collection="label"===e?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=s,this.itemType=e,this.init(t,i,s)}attr(...t){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,s;let e=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)s=e[i],void 0===e[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(s)||(o[s]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,s){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=s,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,s){this.transform("rotate",t,i,s)}scale(t,i,s,e){this.transform("scale",t,i,s,e)}setControlPointsVisibility(t){this.controlPoints.forEach(i=>{i.setVisibility(t)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,s){let e=this.annotation.chart,o=this.annotation.userOptions,n=e.annotations.indexOf(this.annotation),a=e.options.annotations[n];this.translatePoint(t,i,0),s&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,s=j(!0,this.options,t),e=this.graphic.parentGroup,o=this.constructor;this.destroy(),j(!0,this,new o(i,s,this.index,this.itemType)),this.render(e),this.redraw()}}q.compose(_);let G=_,{defaultMarkers:K}={defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}},{addEvent:Z,defined:$,extend:J,merge:Q,uniqueKey:tt}=u(),ti=to("marker-end"),ts=to("marker-start"),te="rgba(192,192,192,"+(u().svg?1e-4:.002)+")";function to(t){return function(i){this.attr(t,"url(#"+i+")")}}function tn(){this.options.defs=Q(K,this.options.defs||{})}function ta(t,i){let s={attributes:{id:t}},e={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"};s.children=i.children&&i.children.map(function(t){return Q(e,t)});let o=Q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s),n=this.definition(o);return n.id=t,n}class tr extends G{static compose(t,i){let s=i.prototype;s.addMarker||(Z(t,"afterGetContainer",tn),s.addMarker=ta)}constructor(t,i,s){super(t,i,s,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,s=i.length,e=[],o=s,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,h;if(a)for(e.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),tu(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,s,e){return Math.abs((i.y-t.y)*s-(i.x-t.x)*e+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let s=t.x,e=t.y,o=i.x,n=i.y,a=(s+o)/2,r=Math.sqrt((s-o)*(s-o)/4+(e-n)*(e-n)/4),h=180*Math.atan((n-e)/(o-s))/Math.PI;return ai+e?r.push(["L",t+l,i+e]):at+s&&r.push(["L",t+s,i+e/2])),r||[]}class tO extends G{static alignedPosition(t,i){return{x:Math.round((i.x||0)+(t.x||0)+(i.width-(t.width||0))*tv(t.align)),y:Math.round((i.y||0)+(t.y||0)+(i.height-(t.height||0))*tv(t.verticalAlign))}}static compose(t){t.prototype.symbols.connector=tP}static justifiedOptions(t,i,s,e){let o;let n=s.align,a=s.verticalAlign,r=i.box?0:i.padding||0,h=i.getBBox(),l={align:n,verticalAlign:a,x:s.x,y:s.y,width:i.width,height:i.height},p=(e.x||0)-t.plotLeft,c=(e.y||0)-t.plotTop;return(o=p+r)<0&&("right"===n?l.align="left":l.x=(l.x||0)-o),(o=p+h.width-r)>t.plotWidth&&("left"===n?l.align="right":l.x=(l.x||0)+t.plotWidth-o),(o=c+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-o),(o=c+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-o),l}constructor(t,i,s){super(t,i,s,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let s=this.annotation.chart,e=this.annotation.userOptions,o=s.annotations.indexOf(this.annotation),n=s.options.annotations[o];if(s.inverted){let s=t;t=i,i=s}this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,e[this.collection][this.index].x=this.options.x,e[this.collection][this.index].y=this.options.y}render(t){let i=this.options,s=this.attrsFromOptions(i),e=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(s).add(t),this.annotation.chart.styledMode||("contrast"===e.color&&(e.color=this.annotation.chart.renderer.getContrast(tO.shapesWithoutBackground.indexOf(i.shape)>-1?"#FFFFFF":i.backgroundColor)),this.graphic.css(i.style).shadow(i.shadow)),this.graphic.labelrank=i.labelrank,super.render()}redraw(t){let i=this.options,s=this.text||i.format||i.text,e=this.graphic,o=this.points[0];if(!e){this.redraw(t);return}e.attr({text:s?tf(String(s),o,this.annotation.chart):i.formatter.call(o,this)});let n=this.anchor(o),a=this.position(n);a?(e.alignAttr=a,a.anchorX=n.absolutePosition.x,a.anchorY=n.absolutePosition.y,e[t?"animate":"attr"](a)):e.attr({x:0,y:-9999}),e.placed=!!a,super.redraw(t)}anchor(t){let i=super.anchor.apply(this,arguments),s=this.options.x||0,e=this.options.y||0;return i.absolutePosition.x-=s,i.absolutePosition.y-=e,i.relativePosition.x-=s,i.relativePosition.y-=e,i}position(t){let i=this.graphic,s=this.annotation.chart,e=s.tooltip,o=this.points[0],n=this.options,a=t.absolutePosition,r=t.relativePosition,h,l,p,c,d=o.series.visible&&H.prototype.isInsidePlot.call(o);if(i&&d){let{width:t=0,height:u=0}=i;n.distance&&e?h=e.getPosition.call({chart:s,distance:tA(n.distance,16),getPlayingField:e.getPlayingField,pointer:e.pointer},t,u,{plotX:r.x,plotY:r.y,negative:o.negative,ttBelow:o.ttBelow,h:r.height||r.width}):n.positioner?h=n.positioner.call(this):(l={x:a.x,y:a.y,width:0,height:0},h=tO.alignedPosition(tm(n,{width:t,height:u}),l),"justify"===this.options.overflow&&(h=tO.alignedPosition(tO.justifiedOptions(s,i,n,h),l))),n.crop&&(p=h.x-s.plotLeft,c=h.y-s.plotTop,d=s.isInsidePlot(p,c)&&s.isInsidePlot(p+t,c+u))}return d?h:null}}tO.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},tO.shapesWithoutBackground=["connector"];class tM extends G{constructor(t,i,s){super(t,i,s,"shape"),this.type="image",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options),s=this.options;this.graphic=this.annotation.chart.renderer.image(s.src,0,-9e9,s.width,s.height).attr(i).add(t),this.graphic.width=s.width,this.graphic.height=s.height,super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]),s=tO.prototype.position.call(this,i);s?this.graphic[t?"animate":"attr"]({x:s.x,y:s.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!s}super.redraw(t)}}tM.attrsMap={width:"width",height:"height",zIndex:"zIndex"};var tk=p(660),tw=p.n(tk);let{addEvent:tE,createElement:tC}=u(),tT=class{constructor(t,i){this.iconsURL=i,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}createPopupContainer(t,i="highcharts-popup highcharts-no-tooltip"){return tC("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,s=this.iconsURL,e=tC("button",{className:t},void 0,this.container);return e.style["background-image"]="url("+(s.match(/png|svg|jpeg|jpg|gif/ig)?s:s+"close.svg")+")",["click","touchstart"].forEach(t=>{tE(e,t,i.closeButtonEvents.bind(i))}),tE(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),e}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,s=this.closeButton;this.type=void 0,i.innerHTML=tw().emptyHTML,i.className.indexOf(t)>=0&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(s),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}},{doc:tB,isFirefox:tN}=u(),{createElement:tL,isArray:tY,isObject:tX,objectEach:tS,pick:tI,stableSort:tD}=u();function tR(t,i,s,e,o,n){let a,r;if(!i)return;let h=this.addInput,l=this.lang;tS(e,(e,n)=>{a=""!==s?s+"."+n:n,tX(e)&&(!tY(e)||tY(e)&&tX(e[0])?((r=l[n]||n).match(/\d/g)||o.push([!0,r,t]),tR.call(this,t,i,a,e,o,!1)):o.push([this,a,"annotation",t,e]))}),n&&(tD(o,t=>t[1].match(/format/g)?-1:1),tN&&o.reverse(),o.forEach(t=>{!0===t[0]?tL("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(tB.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},h.apply(t[0],t.splice(1)))}))}let{doc:tF}=u(),{seriesTypes:tW}=W(),{addEvent:tz,createElement:tU,defined:tV,isArray:tH,isObject:tq,objectEach:tj,stableSort:t_}=u();!function(t){t[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average"}(a||(a={}));let tG={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function tK(t){let i=tU("div",{className:"highcharts-popup-lhs-col"},void 0,t),s=tU("div",{className:"highcharts-popup-rhs-col"},void 0,t);return tU("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,s),{lhsCol:i,rhsCol:s}}function tZ(t,i,s,e){let o=i.params||i.options.params;e.innerHTML=tw().emptyHTML,tU("h3",{className:"highcharts-indicator-title"},void 0,e).appendChild(tF.createTextNode(t4(i,s).indicatorFullName)),tU("input",{type:"hidden",name:"highcharts-type-"+s,value:s},void 0,e),t5.call(this,s,"series",t,e,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&t5.call(this,s,"volume",t,e,i,i.linkedParent&&o.volumeSeriesID),tJ.call(this,t,"params",o,s,e)}function t$(t,i,s,e){function o(i,s){let e=x.parentNode.children[1];tZ.call(n,t,i,s,x),e&&(e.style.display="block"),l&&i.options&&tU("input",{type:"hidden",name:"highcharts-id-"+s,value:i.options.id},void 0,x).setAttribute("highcharts-data-series-id",i.options.id)}let n=this,a=n.lang,r=i.querySelectorAll(".highcharts-popup-lhs-col")[0],h=i.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===s,p=l?t.series:t.options.plotOptions||{};if(!t&&p)return;let c,d=[];l||tH(p)?tH(p)&&(d=t9.call(this,p)):d=t2.call(this,p,e),t_(d,(t,i)=>{let s=t.indicatorFullName.toLowerCase(),e=i.indicatorFullName.toLowerCase();return se?1:0}),r.children[1]&&r.children[1].remove();let u=tU("ul",{className:"highcharts-indicator-list"},void 0,r),x=h.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(d.forEach(t=>{let{indicatorFullName:i,indicatorType:s,series:e}=t;c=tU("li",{className:"highcharts-indicator-list"},void 0,u);let n=tU("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,c);["click","touchstart"].forEach(t=>{tz(n,t,function(){o(e,s)})})}),d.length>0){let{series:t,indicatorType:i}=d[0];o(t,i)}else l||(tw().setElementHTML(x.parentNode.children[0],a.noFilterMatch||""),x.parentNode.children[1].style.display="none")}function tJ(t,i,s,e,o){if(!t)return;let n=this.addInput;tj(s,(s,r)=>{let h=i+"."+r;if(tV(s)&&h){if(tq(s)&&(n.call(this,h,e,o,{}),tJ.call(this,t,h,s,e,o)),h in a){let n=t0.call(this,e,h,o);t1.call(this,t,i,n,e,r,s)}else"params.volumeSeriesID"===h||tH(s)||n.call(this,h,e,o,{value:s,type:"number"})}})}function tQ(t,i){let s=this,e=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=tU("div",{className:"highcharts-input-wrapper"},void 0,e),a=function(i){t$.call(s,t,s.container,"add",i)},r=this.addInput("searchIndicators","input",n,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=tU("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),tz(r,"input",function(){a(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{tz(h,t,function(){r.value="",a(""),h.style.display="none"})})}function t0(t,i,s){let e=i.split("."),o=e[e.length-1],n="highcharts-"+i+"-type-"+t,a=this.lang;tU("label",{htmlFor:n},null,s).appendChild(tF.createTextNode(a[o]||i));let r=tU("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return r.setAttribute("id","highcharts-select-"+i),r}function t1(t,i,s,e,o,n,a){"series"===i||"volume"===i?t.series.forEach(t=>{let e=t.options,o=e.name||e.params?t.name:e.id||"";"highcharts-navigator-series"!==e.id&&e.id!==(a&&a.options&&a.options.id)&&(tV(n)||"volume"!==i||"column"!==t.type||(n=e.id),tU("option",{value:e.id},void 0,s).appendChild(tF.createTextNode(o)))}):e&&o&&tG[o+"-"+e].forEach(t=>{tU("option",{value:t},void 0,s).appendChild(tF.createTextNode(t))}),tV(n)&&(s.value=n)}function t2(t,i){let s;let e=this.chart&&this.chart.options.lang,o=e&&e.navigation&&e.navigation.popup&&e.navigation.popup.indicatorAliases,n=[];return tj(t,(t,e)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=t4(t,e);if(i){let e=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=o&&o[r]&&o[r].join(" ")||"";(a.match(e)||h.match(e))&&(s={indicatorFullName:a,indicatorType:r,series:t},n.push(s))}else s={indicatorFullName:a,indicatorType:r,series:t},n.push(s)}}),n}function t9(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function t4(t,i){let s=t.options,e=tW[i]&&tW[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function t5(t,i,s,e,o,n){if(!s)return;let a=t0.call(this,t,i,e);t1.call(this,s,i,a,void 0,void 0,void 0,o),tV(n)&&(a.value=n)}let{doc:t3}=u(),{addEvent:t6,createElement:t7}=u();function t8(){return t7("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function it(t,i){let s=this.container,e=this.lang,o="highcharts-tab-item";0===i&&(o+=" highcharts-tab-disabled");let n=t7("button",{className:o},void 0,s);return n.appendChild(t3.createTextNode(e[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function ii(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{(0!==t||"edit"!==s.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{t6(s,t,function(){ii.call(i),is.call(i,this,e)})})})}let{doc:io}=u(),{getOptions:ia}=u(),{addEvent:ir,createElement:ih,extend:il,fireEvent:ip,pick:ic}=u();class id extends tT{constructor(t,i,s){super(t,i),this.chart=s,this.lang=(ia().lang.navigation||{}).popup||{},ir(this.container,"mousedown",()=>{let t=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=ir(io,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+ic(e.htmlFor,n);n.match(/^\d+$/)||ih("label",{htmlFor:r,className:e.labelClassName},void 0,s).appendChild(io.createTextNode(a[n]||n));let h=ih("input",{name:r,value:e.value,type:e.type,className:"highcharts-popup-field"},void 0,s);return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){if(this.chart){let t=this.chart.navigationBindings;ip(t,"closePopup"),t&&t.selectedButtonElement&&ip(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,s,e,o){let n=ih("button",void 0,void 0,t);return n.appendChild(io.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{ir(n,t,()=>(this.closePopup(),o(function(t,i){let s=Array.prototype.slice.call(t.querySelectorAll("input")),e=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return s.forEach(t=>{let i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),e.forEach(t=>{let i=t.id;if("highcharts-select-series"!==i&&"highcharts-select-volume"!==i){let s=i.split("highcharts-select-")[1];a.fields[s]=t.value}}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(e,s))))}),n}showForm(t,i,s,e){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,s,e),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,s,e),"annotation-edit"===t&&this.annotations.addForm.call(this,i,s,e),"flag"===t&&this.annotations.addForm.call(this,i,s,e,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}il(id.prototype,{annotations:{addForm:function(t,i,s,e){if(!t)return;let o=this.container,n=this.lang,a=tL("h2",{className:"highcharts-popup-main-title"},void 0,o);a.appendChild(tB.createTextNode(n[i.langKey]||i.langKey||"")),a=tL("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,o);let r=tL("div",{className:"highcharts-popup-bottom-row"},void 0,o);tR.call(this,a,t,"",i,[],!0),this.addButton(r,e?n.addButton||"Add":n.saveButton||"Save",e?"add":"save",o,s)},addToolbar:function(t,i,s){let e=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar";-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px");let r=tL("p",{className:"highcharts-annotation-label"},void 0,o);r.setAttribute("aria-label","Annotation type"),r.appendChild(tB.createTextNode(tI(e[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let h=this.addButton(o,e.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,s)});h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",h=this.addButton(o,e.removeButton||"Remove","remove",o,s),h.className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}},indicators:{addForm:function(t,i,s){let e;let o=this.lang;if(!t)return;this.tabs.init.call(this,t);let n=this.container.querySelectorAll(".highcharts-tab-item-content");tK(n[0]),tQ.call(this,t,n[0]),t$.call(this,t,n[0],"add"),e=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),tK(n[1]),t$.call(this,t,n[1],"edit"),e=n[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.saveButton||"save","edit",e,s),this.addButton(e,o.removeButton||"remove","remove",e,s)},getAmount:function(){let t=0;return this.series.forEach(i=>{(i.params||i.options.params)&&t++}),t}},tabs:{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),s=it.call(this,"add");it.call(this,"edit",i),t8.call(this),t8.call(this),ie.call(this,i),is.call(this,s,0)}}});let{composed:iu}=u(),{addEvent:ix,pushUnique:ig,wrap:iy}=u();function im(){this.popup&&this.popup.closePopup()}function iv(t){this.popup||(this.popup=new id(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/12.1.1/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function ib(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}let iA={compose:function(t,i){ig(iu,"Popup")&&(ix(t,"closePopup",im),ix(t,"showPopup",iv),iy(i.prototype,"onContainerMouseDown",ib))}},{getDeferredAnimation:iP}=u(),{destroyObjectProperties:iO,erase:iM,fireEvent:ik,merge:iw,pick:iE,splat:iC}=u();function iT(t,i){let s={};return["labels","shapes"].forEach(e=>{let o=t[e],n=i[e];o&&(n?s[e]=iC(n).map((t,i)=>iw(o[i],t)):s[e]=t[e])}),s}class iB extends S{static compose(t,i,s,e){w.compose(iB,t,s),tO.compose(e),tr.compose(t,e),i.compose(iB,t),iA.compose(i,s)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=iw(this.defaultOptions,i),this.userOptions=i;let s=iT(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let t=this.options.labels||[];t.forEach((i,s)=>{let e=this.initLabel(i,s);iw(!0,t[s],e.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,s)=>{let e=this.initShape(i,s);iw(!0,t[s],e.options)})}destroy(){let t=this.chart,i=function(t){t.destroy()};this.labels.forEach(i),this.shapes.forEach(i),this.clipXAxis=null,this.clipYAxis=null,iM(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),iO(this,t)}destroyItem(t){iM(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);let s=iT(this.options,i);this.options.labels=s.labels,this.options.shapes=s.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,s=this.index){let e=this.chart,o=this.options.animation;this.index=s,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=iP(e,o)}initLabel(t,i){let s=new tO(this,iw(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=iw(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new iB.shapesMap[s.type](this,s,i);return e.itemType="shape",this.shapes.push(e),e}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(t,i){t.linkPoints(),t.shouldBeDrawn()?(t.graphic||this.renderItem(t),t.redraw(iE(i,!0)&&t.graphic.placed),t.points.length&&function(t){let i=t.graphic,s=t.points.some(t=>!1!==t.series.visible&&!1!==t.visible);i&&(s?"hidden"===i.visibility&&i.show():i.hide())}(t)):this.destroyItem(t)}redrawItems(t,i){let s=t.length;for(;s--;)this.redrawItem(t[s],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let t=this.chart.xAxis,i=this.chart.yAxis,s=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((s,e)=>{let o=e&&(e.point||e.points&&e.points[0]);return[t[o&&o.xAxis]||s[0],i[o&&o.yAxis]||s[1]]},[]);this.clipXAxis=s[0],this.clipYAxis=s[1]}setControlPointsVisibility(t){let i=function(i){i.setControlPointsVisibility(t)};this.controlPoints.forEach(i=>{i.setVisibility(t)}),this.shapes.forEach(i),this.labels.forEach(i)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=iw(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=iE(t,!i.visible);if(this.graphic.attr("visibility",e?"inherit":"hidden"),!e){let t=function(t){t.setControlPointsVisibility(e)};this.shapes.forEach(t),this.labels.forEach(t),s.activeAnnotation===this&&s.popup&&"annotation-toolbar"===s.popup.type&&ik(s,"closePopup")}i.visible=e}update(t,i){let s=this.chart,e=iT(this.userOptions,t),o=s.annotations.indexOf(this),n=iw(!0,this.userOptions,t);n.labels=e.labels,n.shapes=e.shapes,this.destroy(),this.initProperties(s,n),this.init(s,n),s.options.annotations[o]=this.options,this.isUpdating=!0,iE(i,!0)&&s.drawAnnotations(),ik(this,"afterUpdate"),this.isUpdating=!1}}iB.ControlPoint=R,iB.MockPoint=H,iB.shapesMap={rect:tl,circle:tc,ellipse:tx,path:tr,image:tM},iB.types={},iB.prototype.defaultOptions={visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return E(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6},iB.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],q.compose(iB);let iN=iB;!function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(s=>{s.call(this.chart,t,i)})}}t.Additions=i}(r||(r={}));let iL=r,{defined:iY,isNumber:iX,pick:iS}=u(),iI={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},iD={annotationsFieldsTypes:iI,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),s=i.min,e=i.max,o=iS(t.axis.minPointOffset,0);return iX(s)&&iX(e)&&t.value>=s-o&&t.value<=e+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=iI[t],e=typeof i;return iY(s)&&(e=s),({string:"text",number:"number",boolean:"checkbox"})[e]}},{getAssignedAxis:iR}=iD,{isNumber:iF,merge:iW}=u(),iz={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:s.value,y:e.value,xAxis:s.axis.index,yAxis:e.axis.index},r:5}]},o.annotationsOptions,o.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;let e=i.options.shapes,o=e&&e[0]&&e[0].point||{};if(iF(o.xAxis)&&iF(o.yAxis)){let i=this.chart.inverted,e=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);s=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:e-t.chartX,2)+Math.pow(i?e-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:s.axis.index,yAxis:e.axis.index,points:[{x:s.value,y:e.value},{x:s.value,y:e.value}],ry:1}]},o.annotationsOptions,o.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[1]);s.translatePoint(t.chartX-e.x,t.chartY-e.y,1),s.redraw(!1)},function(t,i){let s=i.shapes[0],e=s.getAbsolutePosition(s.points[0]),o=s.getAbsolutePosition(s.points[1]),n=s.getDistanceFromLine(e,o,t.chartX,t.chartY),a=s.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));s.setYRadius(r),s.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis);if(!s||!e)return;let o=s.value,n=e.value,a=s.axis.index,r=e.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(iW({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,e=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&iR(o.xAxis),a=o&&iR(o.yAxis);if(n&&a){let t=n.value,s=a.value;e[1].x=t,e[2].x=t,e[2].y=s,e[3].y=s,i.update({shapes:[{points:e}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&iR(i.xAxis),e=i&&iR(i.yAxis),o=this.chart.options.navigation;if(s&&e)return this.chart.addAnnotation(iW({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:s.axis.index,yAxis:e.axis.index,x:s.value,y:e.value}}]},o.annotationsOptions,o.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:iU}=u(),{format:iV}=ty(),{composed:iH,doc:iq,win:ij}=u(),{getAssignedAxis:i_,getFieldType:iG}=iD,{addEvent:iK,attr:iZ,defined:i$,fireEvent:iJ,isArray:iQ,isFunction:i0,isNumber:i1,isObject:i2,merge:i9,objectEach:i4,pick:i5,pushUnique:i3}=u();function i6(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function i7(){this.navigationBindings&&this.navigationBindings.destroy()}function i8(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new so(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function st(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let s=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(s=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let e=this.navigationBindings.container[0];i4(t.boundClassNames,(t,o)=>{let n=e.querySelectorAll("."+o);if(n)for(let e=0;e=4||o.call(this,t)}})}class so{static compose(t,i){i3(iH,"NavigationBindings")&&(iK(t,"remove",i6),se(t),i4(t.types,t=>{se(t)}),iK(i,"destroy",i7),iK(i,"load",i8),iK(i,"render",st),iK(so,"closePopup",si),iK(so,"deselectButton",ss),iU(iz))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=iq.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&i_(i.xAxis),i&&i_(i.yAxis)]}initEvents(){let t=this,i=t.chart,s=t.container,e=t.options;t.boundClassNames={},i4(e.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(s,i=>{t.eventsToUnbind.push(iK(i,"click",s=>{let e=t.getButtonEvents(i,s);e&&!e.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(e.button,e.events,s)}))}),i4(e.events||{},(i,s)=>{i0(i)&&t.eventsToUnbind.push(iK(t,s,i,{passive:!1}))}),t.eventsToUnbind.push(iK(i.container,"click",function(s){!i.cancelClick&&i.isInsidePlot(s.chartX-i.plotLeft,s.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,s)})),t.eventsToUnbind.push(iK(i.container,u().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},u().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;iL.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),iJ(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&e.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,iJ(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,s),(i.start||i.steps)&&e.renderer.boxWrapper.addClass("highcharts-draw-mode")):(e.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let s=this.activeAnnotation,e=this.selectedButton,o=t.renderer.boxWrapper;s&&(s.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let s=ij.Element.prototype,e=s.matches||s.msMatchesSelector||s.webkitMatchesSelector,o=null;if(s.closest)o=s.closest.call(t,i);else do{if(e.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return o}(i.target,".highcharts-popup")?s.cancelClick&&setTimeout(()=>{s.cancelClick=!1},0):iJ(this,"closePopup")),e&&e.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]:(iJ(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,i),this.currentUserDetails&&e.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(iJ(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return i4(t,(t,s)=>{let e=parseFloat(t),o=s.split("."),n=o.length-1;if(!i1(e)||t.match(/px|em/g)||s.match(/format/g)||(t=e),"undefined"!==t){let s=i;o.forEach((i,e)=>{if("__proto__"!==i&&"constructor"!==i){let a=i5(o[e+1],"");n===e?s[i]=t:(s[i]||(s[i]=a.match(/\d/g)?[]:{}),s=s[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,s=so.annotationsEditable,e=s.nestedOptions,o=i5(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=so.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,s,o,a,h){let l;o&&i$(i)&&-1===n.indexOf(s)&&((o.indexOf&&o.indexOf(s))>=0||o[s]||!0===o)&&(iQ(i)?(a[s]=[],i.forEach((t,i)=>{i2(t)?(a[s][i]={},i4(t,(t,o)=>{r(t,o,e[s],a[s][i],s)})):r(t,0,e[s],a[s],s)})):i2(i)?(l={},iQ(a)?(a.push(l),l[s]={},l=l[s]):a[s]=l,i4(i,(t,i)=>{r(t,i,0===s?o:e[s],l,s)})):"format"===s?a[s]=[iV(i,t.labels[0].points[0]).toString(),"text"]:iQ(a)?a.push([i,iG(h,i)]):a[s]=[i,iG(s,i)])}return i4(i,(t,n)=>{"typeOptions"===n?(a[n]={},i4(i[n],(t,i)=>{r(t,i,e,a[n],i)})):r(t,n,s[o],a,n)}),a}getClickedClassNames(t,i){let s=i.target,e=[],o;for(;s&&s.tagName&&((o=iZ(s,"class"))&&(e=e.concat(o.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return e}getButtonEvents(t,i){let s;let e=this;return this.getClickedClassNames(t,i).forEach(t=>{e.boundClassNames[t[0]]&&!s&&(s={events:e.boundClassNames[t[0]],button:t[1]})}),s}update(t){this.options=i9(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}so.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},so.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};let sn=u();sn.Annotation=sn.Annotation||iN,sn.NavigationBindings=sn.NavigationBindings||so,sn.Annotation.compose(sn.Chart,sn.NavigationBindings,sn.Pointer,sn.SVGRenderer);let{merge:sa}=u();class sr extends iN{addControlPoints(){let t=this.options,i=sr.basicControlPoints,s=this.basicType;(t.labels||t.shapes||[]).forEach(t=>{t.controlPoints=i[s]})}init(){let t=this.options;if(t.shapes){delete t.labelOptions;let i=t.shapes[0].type;t.shapes[0].className=(t.shapes[0].className||"")+" highcharts-basic-shape",i&&"path"!==i?this.basicType=i:this.basicType="rectangle"}else delete t.shapes,this.basicType="label";super.init.apply(this,arguments)}}sr.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(t){if(!t.graphic.placed)return{x:0,y:-9e7};let i=H.pointToPixels(t.points[0]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t);i.translatePoint(s.x,s.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}},{symbol:"square",positioner:function(t){return t.graphic.placed?{x:t.graphic.alignAttr.x-(this.graphic.width||0)/2,y:t.graphic.alignAttr.y-(this.graphic.height||0)/2}:{x:0,y:-9e7}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t);i.translate(s.x,s.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}}],rectangle:[{positioner:function(t){let i=H.pointToPixels(t.points[2]);return{x:i.x-4,y:i.y-4}},events:{drag:function(t,i){let s=i.annotation,e=this.chart.pointer?.getCoordinates(t),o=i.options.points,n=s.userOptions.shapes,a=s.clipXAxis?.index||0,r=s.clipYAxis?.index||0;if(e){let t=e.xAxis[a].value,s=e.yAxis[r].value;o[1].x=t,o[2].x=t,o[2].y=s,o[3].y=s,n&&n[0]&&(n[0].points=i.options.points)}s.redraw(!1)}}}],circle:[{positioner:function(t){let i=H.pointToPixels(t.points[0]),s=t.options.r;return{x:i.x+s*Math.cos(Math.PI/4)-(this.graphic.width||0)/2,y:i.y+s*Math.sin(Math.PI/4)-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.annotation,e=this.mouseMoveToTranslation(t),o=s.userOptions.shapes;i.setRadius(Math.max(i.options.r+e.y/Math.sin(Math.PI/4),5)),o&&o[0]&&(o[0].r=i.options.r,o[0].point=i.options.point),i.redraw(!1)}}}],ellipse:[{positioner:function(t){let i=t.getAbsolutePosition(t.points[0]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,0),i.redraw(!1)}}},{positioner:function(t){let i=t.getAbsolutePosition(t.points[1]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,1),i.redraw(!1)}}},{positioner:function(t){let i=t.getAbsolutePosition(t.points[0]),s=t.getAbsolutePosition(t.points[1]),e=t.getAttrs(i,s);return{x:e.cx-(this.graphic.width||0)/2+e.ry*Math.sin(e.angle*Math.PI/180),y:e.cy-(this.graphic.height||0)/2-e.ry*Math.cos(e.angle*Math.PI/180)}},events:{drag:function(t,i){let s=i.getAbsolutePosition(i.points[0]),e=i.getAbsolutePosition(i.points[1]),o=i.getDistanceFromLine(s,e,t.chartX,t.chartY),n=i.getYAxis(),a=Math.abs(n.toValue(0)-n.toValue(o));i.setYRadius(a),i.redraw(!1)}}}]},sr.prototype.defaultOptions=sa(iN.prototype.defaultOptions,{}),iN.types.basicAnnotation=sr;let{merge:sh}=u();class sl extends iN{setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}getPointsOptions(){let t=this.options.typeOptions;return(t.points||[]).map(i=>(i.xAxis=t.xAxis,i.yAxis=t.yAxis,i))}getControlPointsOptions(){return this.getPointsOptions()}addControlPoints(){this.getControlPointsOptions().forEach(function(t,i){let s=new R(this.chart,this,sh(this.options.controlPointOptions,t.controlPoint),i);this.controlPoints.push(s),t.controlPoint=s.options},this)}addShapes(){let t=this.options.typeOptions,i=this.initShape(sh(t.line,{type:"path",className:"highcharts-crooked-lines",points:this.points.map((t,i)=>function(t){return t.annotation.points[i]})}),0);t.line=i.options}}sl.prototype.defaultOptions=sh(iN.prototype.defaultOptions,{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(t){let i=this.graphic,s=H.pointToPixels(t.points[this.index]);return{x:s.x-(i.width||0)/2,y:s.y-(i.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t),e=i.options.typeOptions;i.translatePoint(s.x,s.y,this.index),e.points[this.index].x=i.points[this.index].x,e.points[this.index].y=i.points[this.index].y,i.redraw(!1)}}}}}),iN.types.crookedLine=sl;let sp=sl,{merge:sc}=u();class sd extends sp{addLabels(){this.getPointsOptions().forEach((t,i)=>{let s=this.options.typeOptions,e=this.initLabel(sc(t.label,{text:s.labels[i],point:function(t){return t.annotation.points[i]}}),!1);t.label=e.options})}}sd.prototype.defaultOptions=sc(sp.prototype.defaultOptions,{typeOptions:{labels:["(0)","(A)","(B)","(C)","(D)","(E)"],line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),iN.types.elliottWave=sd;let{merge:su}=u();class sx extends sp{getPointsOptions(){let t=sp.prototype.getPointsOptions.call(this),i=this.options.typeOptions.yAxis||0,s=this.chart.yAxis[i];if(t[2]=this.heightPointOptions(t[1]),t[3]=this.heightPointOptions(t[0]),s&&s.logarithmic){let i=s.toPixels(t[2].y)-s.toPixels(t[1].y),e=s.toPixels(t[0].y)+i;t[3].y=s.toValue(e)}return t}getControlPointsOptions(){return this.getPointsOptions().slice(0,2)}heightPointOptions(t){let i=su(t),s=this.options.typeOptions;return i.y+=s.height,i}addControlPoints(){sp.prototype.addControlPoints.call(this);let t=this.options,i=t.typeOptions,s=new R(this.chart,this,su(t.controlPointOptions,i.heightControlPoint),2);this.controlPoints.push(s),i.heightControlPoint=s.options}addShapes(){this.addLine(),this.addBackground()}addLine(){let t=this.initShape(su(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(t){let i=H.pointToOptions(t.annotation.points[2]);return i.command="M",i},this.points[3]],className:"highcharts-tunnel-lines"}),0);this.options.typeOptions.line=t.options}addBackground(){let t=this.initShape(su(this.options.typeOptions.background,{type:"path",points:this.points.slice(),className:"highcharts-tunnel-background"}),1);this.options.typeOptions.background=t.options}translateSide(t,i,s){let e=Number(s);this.translatePoint(t,i,e),this.translatePoint(t,i,0===e?3:2)}translateHeight(t){this.translatePoint(0,t,2),this.translatePoint(0,t,3),this.options.typeOptions.height=this.points[3].y-this.points[0].y,this.userOptions.typeOptions.height=this.options.typeOptions.height}}sx.prototype.defaultOptions=su(sp.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(t){let i=H.pointToPixels(t.points[2]),s=H.pointToPixels(t.points[3]),e=(i.x+s.x)/2;return{x:e-(this.graphic.width||0)/2,y:(s.y-i.y)/(s.x-i.x)*(e-i.x)+i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(i.translateHeight(this.mouseMoveToTranslation(t).y),i.redraw(!1))}}}},controlPointOptions:{events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t);i.translateSide(s.x,s.y,!!this.index),i.redraw(!1)}}}}}),iN.types.tunnel=sx;let sg=sx,{merge:sy}=u();class sf extends sp{static edgePoint(t,i){return function(s){let e=s.annotation,o=e.options.typeOptions.type,n=e.points;return("horizontalLine"===o||"verticalLine"===o)&&(n=[n[0],new H(e.chart,n[0].target,{x:n[0].x+ +("horizontalLine"===o),y:n[0].y+ +("verticalLine"===o),xAxis:n[0].options.xAxis,yAxis:n[0].options.yAxis})]),sf.findEdgePoint(n[t],n[i])}}static findEdgeCoordinate(t,i,s,e){let o="x"===s?"y":"x";return(i[s]-t[s])*(e-t[o])/(i[o]-t[o])+t[s]}static findEdgePoint(t,i){let s,e,o;let n=t.series.chart,a=t.series.xAxis,r=i.series.yAxis,h=H.pointToPixels(t),l=H.pointToPixels(i),p=l.x-h.x,c=l.y-h.y,d=a.left,u=d+a.width,x=r.top,g=x+r.height,y=p<0?d:u,f=c<0?x:g,m={x:0===p?h.x:y,y:0===c?h.y:f};return 0!==p&&0!==c&&(e=sf.findEdgeCoordinate(h,l,"y",y),s=sf.findEdgeCoordinate(h,l,"x",f),e>=x&&e<=g?(m.x=y,m.y=e):(m.x=s,m.y=f)),m.x-=n.plotLeft,m.y-=n.plotTop,t.series.chart.inverted&&(o=m.x,m.x=m.y,m.y=o),m}addShapes(){let t=this.options.typeOptions,i=[this.points[0],sf.endEdgePoint];t.type.match(/line/gi)&&(i[0]=sf.startEdgePoint);let s=this.initShape(sy(t.line,{type:"path",points:i,className:"highcharts-infinity-lines"}),0);t.line=s.options}}sf.endEdgePoint=sf.edgePoint(0,1),sf.startEdgePoint=sf.edgePoint(1,0),sf.prototype.defaultOptions=sy(sp.prototype.defaultOptions,{}),iN.types.infinityLine=sf;let sm=sf,{merge:sv,isNumber:sb,defined:sA}=u();class sP extends sp{init(t,i,s){sA(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),sA(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,s)}setPath(){this.shapes[0].options.d=this.getPath()}getPath(){return[["M",this.startX,this.y]].concat(function(t,i,s,e){let o=[];for(let n=1;n<=i;n++)o.push(["A",t/2,t/2,0,1,1,s+n*t,e]);return o}(this.pixelInterval,this.numberOfCircles,this.startX,this.y))}addShapes(){let t=this.options.typeOptions;this.setPathProperties();let i=this.initShape(sv(t.line,{type:"path",d:this.getPath(),points:this.options.points,className:"highcharts-timecycles-lines"}),0);t.line=i.options}addControlPoints(){let t=this.options,i=t.typeOptions;t.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize",i.controlPointOptions.forEach(i=>{let s=sv(t.controlPointOptions,i),e=new R(this.chart,this,s,0);this.controlPoints.push(e)})}setPathProperties(){let t=this.options.typeOptions,i=t.points;if(!i)return;let s=i[0],e=i[1],o=t.xAxis||0,n=t.yAxis||0,a=this.chart.xAxis[o],r=this.chart.yAxis[n],h=s.x,l=s.y,p=e.x;if(!h||!p)return;let c=sb(l)?r.toPixels(l):r.top+r.height,d=sb(h)?a.toPixels(h):a.left,u=sb(p)?a.toPixels(p):a.left+30,x=a.len,g=Math.round(Math.max(Math.abs(u-d),2)),y=Math.floor(x/g)+2,f=(Math.floor((d-a.left)/g)+1)*g;this.startX=d-f,this.y=c,this.pixelInterval=g,this.numberOfCircles=y}redraw(t){this.setPathProperties(),this.setPath(),super.redraw(t)}}sP.prototype.defaultOptions=sv(sp.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(t){let i=t.points[0];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){let s=i.anchor(i.points[0]).absolutePosition;i.translatePoint(t.chartX-s.x,0,0),i.redraw(!1)}}},{positioner:function(t){let i=t.points[1];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){let s=i.anchor(i.points[1]).absolutePosition;i.translatePoint(t.chartX-s.x,0,1),i.redraw(!1)}}}]}}),iN.types.timeCycles=sP;let{merge:sO}=u();function sM(t,i){return function(){let s=this.annotation;if(!s.startRetracements||!s.endRetracements)return[];let e=this.anchor(s.startRetracements[t]).absolutePosition,o=this.anchor(s.endRetracements[t]).absolutePosition,n=[["M",Math.round(e.x),Math.round(e.y)],["L",Math.round(o.x),Math.round(o.y)]];if(i){let i=this.anchor(s.endRetracements[t-1]).absolutePosition,e=this.anchor(s.startRetracements[t-1]).absolutePosition;n.push(["L",Math.round(i.x),Math.round(i.y)],["L",Math.round(e.x),Math.round(e.y)])}return n}}class sk extends sg{linkPoints(){super.linkPoints(),this.linkRetracementsPoints()}linkRetracementsPoints(){let t=this.points,i=t[0].y-t[3].y,s=t[1].y-t[2].y,e=t[0].x,o=t[1].x;sk.levels.forEach((n,a)=>{let r=t[0].y-i*n,h=t[1].y-s*n,l=this.options.typeOptions.reversed?sk.levels.length-a-1:a;this.startRetracements=this.startRetracements||[],this.endRetracements=this.endRetracements||[],this.linkRetracementPoint(l,e,r,this.startRetracements),this.linkRetracementPoint(l,o,h,this.endRetracements)})}linkRetracementPoint(t,i,s,e){let o=e[t],n=this.options.typeOptions;o?(o.options.x=i,o.options.y=s,o.refresh()):e[t]=new H(this.chart,this,{x:i,y:s,xAxis:n.xAxis,yAxis:n.yAxis})}addShapes(){sk.levels.forEach(function(t,i){let{backgroundColors:s,lineColor:e,lineColors:o}=this.options.typeOptions;this.initShape({type:"path",d:sM(i),stroke:o[i]||e,className:"highcharts-fibonacci-line"},i),i>0&&this.initShape({type:"path",fill:s[i-1],strokeWidth:0,d:sM(i,!0),className:"highcharts-fibonacci-background-"+(i-1)})},this)}addLabels(){sk.levels.forEach(function(t,i){let s=this.options.typeOptions,e=this.initLabel(sO(s.labels[i],{point:function(t){return H.pointToOptions(t.annotation.startRetracements[i])},text:t.toString()}));s.labels[i]=e.options},this)}}sk.levels=[0,.236,.382,.5,.618,.786,1],sk.prototype.defaultOptions=sO(sg.prototype.defaultOptions,{typeOptions:{reversed:!1,height:2,backgroundColors:["rgba(130, 170, 255, 0.4)","rgba(139, 191, 216, 0.4)","rgba(150, 216, 192, 0.4)","rgba(156, 229, 161, 0.4)","rgba(162, 241, 130, 0.4)","rgba(169, 255, 101, 0.4)"],lineColor:"#999999",lineColors:[],labels:[]},labelOptions:{allowOverlap:!0,align:"right",backgroundColor:"none",borderWidth:0,crop:!1,overflow:"none",shape:"rect",style:{color:"grey"},verticalAlign:"middle",y:0}}),iN.types.fibonacci=sk;let{merge:sw}=u();function sE(t,i,s){return function(e){let o=e.annotation.chart,n=o.inverted?o.plotTop:o.plotLeft,a=e.annotation.points,r=a[0].series.xAxis,h=a.length>1?a[1].plotX-a[0].plotX:0,l=r.toValue(a[0].plotX+n+s*h);return a=[new H(o,a[0].target,{x:l,y:0,xAxis:a[0].options.xAxis,yAxis:a[0].options.yAxis}),new H(o,a[0].target,{x:l,y:1,xAxis:a[0].options.xAxis,yAxis:a[0].options.yAxis})],sm.findEdgePoint(a[t],a[i])}}class sC extends sp{addShapes(){let t=1,i=1;for(let s=0;s<11;s++){let e=s?t:0,o=[sE(1,0,e),sE(0,1,e)];t=(i=t+i)-t,1===s&&(this.secondLineEdgePoints=[o[0],o[1]]),this.initShape(sw(this.options.typeOptions.line,{type:"path",points:o,className:"highcharts-fibonacci-timezones-lines"}),s)}}addControlPoints(){let t=this.options,i=t.typeOptions,s=new R(this.chart,this,sw(t.controlPointOptions,i.controlPointOptions),0);this.controlPoints.push(s),i.controlPointOptions=s.options}}sC.prototype.defaultOptions=sw(sp.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){let t=this.target,i=this.graphic,s=t.secondLineEdgePoints,e={annotation:t},o=s[0](e).y,n=s[1](e).y,a=this.chart.plotLeft,r=this.chart.plotTop,h=s[0](e).x,l=(o+n)/2;return this.chart.inverted&&([h,l]=[l,h]),{x:a+h-(i.width||0)/2,y:r+l-(i.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){let s=this.mouseMoveToTranslation(t);i.translatePoint(s.x,0,1),i.redraw(!1)}}}}}}),iN.types.fibonacciTimeZones=sC;let{merge:sT}=u();class sB extends sm{static outerLineEdgePoint(t){return function(i){let s=i.annotation,e=s.points;return sB.findEdgePoint(e[t],e[0],new H(s.chart,i,s.midPointOptions()))}}static findEdgePoint(t,i,s){let e=Math.atan2(s.plotY-i.plotY,s.plotX-i.plotX);return{x:t.plotX+1e7*Math.cos(e),y:t.plotY+1e7*Math.sin(e)}}static middleLineEdgePoint(t){let i=t.annotation,s=i.points;return sm.findEdgePoint(s[0],new H(i.chart,t,i.midPointOptions()))}midPointOptions(){let t=this.points;return{x:(t[1].x+t[2].x)/2,y:(t[1].y+t[2].y)/2,xAxis:t[0].series.xAxis,yAxis:t[0].series.yAxis}}addShapes(){this.addLines(),this.addBackgrounds()}addLines(){let t="highcharts-pitchfork-lines";this.initShape({type:"path",points:[this.points[0],sB.middleLineEdgePoint],className:t},0),this.initShape({type:"path",points:[this.points[1],sB.topLineEdgePoint],className:t},1),this.initShape({type:"path",points:[this.points[2],sB.bottomLineEdgePoint],className:t},2)}addBackgrounds(){let t=this.shapes,i=this.options.typeOptions,s=this.initShape(sT(i.innerBackground,{type:"path",points:[function(t){let i=t.annotation,s=i.points,e=i.midPointOptions();return{x:(s[1].x+e.x)/2,y:(s[1].y+e.y)/2,xAxis:e.xAxis,yAxis:e.yAxis}},t[1].points[1],t[2].points[1],function(t){let i=t.annotation,s=i.points,e=i.midPointOptions();return{x:(e.x+s[2].x)/2,y:(e.y+s[2].y)/2,xAxis:e.xAxis,yAxis:e.yAxis}}],className:"highcharts-pitchfork-inner-background"}),3),e=this.initShape(sT(i.outerBackground,{type:"path",points:[this.points[1],t[1].points[1],t[2].points[1],this.points[2]],className:"highcharts-pitchfork-outer-background"}),4);i.innerBackground=s.options,i.outerBackground=e.options}}sB.topLineEdgePoint=sB.outerLineEdgePoint(1),sB.bottomLineEdgePoint=sB.outerLineEdgePoint(0),sB.prototype.defaultOptions=sT(sm.prototype.defaultOptions,{typeOptions:{innerBackground:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},outerBackground:{fill:"rgba(156, 229, 161, 0.4)",strokeWidth:0}}}),iN.types.pitchfork=sB;let{merge:sN,pick:sL}=u();class sY extends iN{static connectorFirstPoint(t){let i=t.annotation,s=i.chart,e=s.inverted,o=i.points[0],n=sL(o.series.yAxis&&o.series.yAxis.left,0),a=sL(o.series.yAxis&&o.series.yAxis.top,0),r=i.options.typeOptions.label.offset,h=H.pointToPixels(o,!0)[e?"x":"y"];return{x:o.x,xAxis:o.series.xAxis,y:h+r+(e?n-s.plotLeft:a-s.plotTop)}}static connectorSecondPoint(t){let i=t.annotation,s=i.chart,e=s.inverted,o=i.options.typeOptions,n=i.points[0],a=sL(n.series.yAxis&&n.series.yAxis.left,0),r=sL(n.series.yAxis&&n.series.yAxis.top,0),h=H.pointToPixels(n,!0)[e?"x":"y"],l=o.yOffset;return o.label.offset<0&&(l*=-1),{x:n.x,xAxis:n.series.xAxis,y:h+l+(e?a-s.plotLeft:r-s.plotTop)}}getPointsOptions(){return[this.options.typeOptions.point]}addShapes(){let t=this.options.typeOptions,i=this.initShape(sN(t.connector,{type:"path",points:[sY.connectorFirstPoint,sY.connectorSecondPoint],className:"highcharts-vertical-line"}),0);t.connector=i.options,this.userOptions.typeOptions.point=t.point}addLabels(){let t=this.options.typeOptions,i=t.label,s=0,e=i.offset,o=i.offset<0?"bottom":"top",n="center";this.chart.inverted&&(s=i.offset,e=0,o="middle",n=i.offset<0?"right":"left");let a=this.initLabel(sN(i,{verticalAlign:o,align:n,x:s,y:e}));t.label=a.options}}sY.prototype.defaultOptions=sN(iN.prototype.defaultOptions,{typeOptions:{yOffset:10,label:{offset:-40,point:function(t){return t.annotation.points[0]},allowOverlap:!0,backgroundColor:"none",borderWidth:0,crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}}),iN.types.verticalLine=sY;let{defined:sX,extend:sS,isNumber:sI,merge:sD,pick:sR}=u();function sF(){let t="";return""!==this.max&&""!==this.min&&(t=(this.max+this.min)/2),t}function sW(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s++,e=!0)})}),e||(s=""),s}function sz(){return"Min: "+this.min+"
Max: "+this.max+"
Average: "+this.average+"
Bins: "+this.bins}function sU(t,i,s,e){return{xAxisMin:Math.min(i,t),xAxisMax:Math.max(i,t),yAxisMin:Math.min(e,s),yAxisMax:Math.max(e,s)}}function sV(t,i,s){return t.toValue(t.toPixels(i)+s)}function sH(){let t=this.options.typeOptions,i=this.chart,s=i.inverted,e=i.xAxis[t.xAxis],o=i.yAxis[t.yAxis],n=t.background,a=s?n.height:n.width,r=s?n.width:n.height,h=t.selectType,l=s?e.left:o.top,p=s?o.top:e.left;this.startXMin=t.point.x,this.startYMin=t.point.y,sI(a)?this.startXMax=this.startXMin+a:this.startXMax=sV(e,this.startXMin,parseFloat(a)),sI(r)?this.startYMax=this.startYMin-r:this.startYMax=sV(o,this.startYMin,parseFloat(r)),"x"===h?(this.startYMin=o.toValue(l),this.startYMax=o.toValue(l+o.len)):"y"===h&&(this.startXMin=e.toValue(p),this.startXMax=e.toValue(p+e.len))}function sq(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=-1/0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.y>s&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,e=!0)})}),e||(s=""),s}function sj(){let t=this.chart.series,i=sU(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),s=1/0,e=!1;return t.forEach(t=>{t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(t=>{!t.isNull&&t.yi.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(s=t.y,e=!0)})}),e||(s=""),s}function s_(t){let i=this.options.typeOptions,s=this.chart.xAxis[i.xAxis],e=this.chart.yAxis[i.yAxis],o=this.offsetX,n=this.offsetY;this.xAxisMin=sV(s,this.startXMin,o),this.xAxisMax=sV(s,this.startXMax,o),this.yAxisMin=sV(e,this.startYMin,n),this.yAxisMax=sV(e,this.startYMax,n),this.min=sj.call(this),this.max=sq.call(this),this.average=sF.call(this),this.bins=sW.call(this),t&&this.resize(0,0)}function sG(t,i,s,e,o){let n=this.options.typeOptions,a=n.selectType,r=this.chart.xAxis[n.xAxis],h=this.chart.yAxis[n.yAxis],l=this.startXMin,p=this.startXMax,c=this.startYMin,d=this.startYMax,u=this.offsetX,x=this.offsetY;i&&("x"===a?0===s?this.startXMin=sV(r,l,e):this.startXMax=sV(r,p,e):"y"===a?0===s?this.startYMin=sV(h,c,o):this.startYMax=sV(h,d,o):(this.startXMax=sV(r,p,e),this.startYMax=sV(h,d,o))),t&&(this.startXMin=sV(r,l,u),this.startXMax=sV(r,p,u),this.startYMin=sV(h,c,x),this.startYMax=sV(h,d,x),this.offsetX=0,this.offsetY=0),this.options.typeOptions.point={x:this.startXMin,y:this.startYMin},this.userOptions.typeOptions.point={x:this.startXMin,y:this.startYMin}}class sK extends iN{init(t,i,s){super.init(t,i,s),this.offsetX=0,this.offsetY=0,this.resizeX=0,this.resizeY=0,sH.call(this),this.addValues(),this.addShapes()}setClipAxes(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]}pointsOptions(){return this.options.points}shapePointsOptions(){let t=this.options.typeOptions,i=t.xAxis,s=t.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:i,yAxis:s},{x:this.xAxisMax,y:this.yAxisMin,xAxis:i,yAxis:s},{x:this.xAxisMax,y:this.yAxisMax,xAxis:i,yAxis:s},{x:this.xAxisMin,y:this.yAxisMax,xAxis:i,yAxis:s},{command:"Z"}]}addControlPoints(){let t=this.chart.inverted,i=this.options.controlPointOptions,s=this.options.typeOptions.selectType;sX(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===s?i.style.cursor=t?"ns-resize":"ew-resize":"y"!==s||(i.style.cursor=t?"ew-resize":"ns-resize"));let e=new R(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(e),"xy"!==s&&(e=new R(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(e))}addValues(t){let i=this.options.typeOptions,s=i.label.formatter;s_.call(this,t),i.label.enabled&&(this.labels.length>0?this.labels[0].text=s&&s.call(this)||sz.call(this):this.initLabel(sS({shape:"rect",backgroundColor:"none",color:"black",borderWidth:0,dashStyle:"Dash",overflow:"allow",align:"left",y:0,x:0,verticalAlign:"top",crop:!0,xAxis:0,yAxis:0,point:function(t){let s=t.annotation,e=t.options;return{x:s.xAxisMin,y:s.yAxisMin,xAxis:sR(i.xAxis,e.xAxis),yAxis:sR(i.yAxis,e.yAxis)}},text:s&&s.call(this)||sz.call(this)},i.label),void 0))}addShapes(){this.addCrosshairs(),this.addBackground()}addBackground(){let t=this.shapePointsOptions();void 0!==t[0].x&&this.initShape(sS({type:"path",points:t,className:"highcharts-measure-background"},this.options.typeOptions.background),2)}addCrosshairs(){let t=this.chart,i=this.options.typeOptions,s=this.options.typeOptions.point,e=t.xAxis[i.xAxis],o=t.yAxis[i.yAxis],n=t.inverted,a={point:s,type:"path"},r=e.toPixels(this.xAxisMin),h=e.toPixels(this.xAxisMax),l=o.toPixels(this.yAxisMin),p=o.toPixels(this.yAxisMax),c=[],d=[],u,x,g;n&&(g=r,r=l,l=g,g=h,h=p,p=g),i.crosshairX.enabled&&(c=[["M",r,l+(p-l)/2],["L",h,l+(p-l)/2]]),i.crosshairY.enabled&&(d=[["M",r+(h-r)/2,l],["L",r+(h-r)/2,p]]),this.shapes.length>0?(this.shapes[0].options.d=c,this.shapes[1].options.d=d):(u=sD(a,{className:"highcharts-measure-crosshair-x"},i.crosshairX),x=sD(a,{className:"highcharts-measure-crosshair-y"},i.crosshairY),this.initShape(sS({d:c},u),0),this.initShape(sS({d:d},x),1))}onDrag(t){let i=this.mouseMoveToTranslation(t),s=this.options.typeOptions.selectType,e="y"===s?0:i.x,o="x"===s?0:i.y;this.translate(e,o),this.offsetX+=e,this.offsetY+=o,this.redraw(!1,!1,!0)}resize(t,i,s,e){let o=this.shapes[2];"x"===e?0===s?(o.translatePoint(t,0,0),o.translatePoint(t,i,3)):(o.translatePoint(t,0,1),o.translatePoint(t,i,2)):"y"===e?0===s?(o.translatePoint(0,i,0),o.translatePoint(0,i,1)):(o.translatePoint(0,i,2),o.translatePoint(0,i,3)):(o.translatePoint(t,0,1),o.translatePoint(t,i,2),o.translatePoint(0,i,3)),sG.call(this,!1,!0,s,t,i),this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin),this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)}redraw(t,i,s){this.linkPoints(),this.graphic||this.render(),s&&sG.call(this,!0,!1),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.addValues(i),this.addCrosshairs(),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t);let e=this.options.typeOptions.background;if(e?.strokeWidth&&this.shapes[2]?.graphic){let t=e.strokeWidth/2,i=this.shapes[2],s=i.graphic.pathArray,o=s[0],n=s[1],a=s[2],r=s[3];o[1]=(o[1]||0)+t,n[1]=(n[1]||0)-t,a[1]=(a[1]||0)-t,r[1]=(r[1]||0)+t,o[2]=(o[2]||0)+t,n[2]=(n[2]||0)+t,a[2]=(a[2]||0)-t,r[2]=(r[2]||0)-t,i.graphic.attr({d:s})}this.controlPoints.forEach(t=>t.redraw())}translate(t,i){this.shapes.forEach(s=>s.translate(t,i))}}sK.prototype.defaultOptions=sD(iN.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"0.7em",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(t){let i=this.index,s=t.chart,e=t.options,o=e.typeOptions,n=o.selectType,a=e.controlPointOptions,r=s.inverted,h=s.xAxis[o.xAxis],l=s.yAxis[o.yAxis],p=sU(t.xAxisMin,t.xAxisMax,t.yAxisMin,t.yAxisMax),c=t.xAxisMax,d=t.yAxisMax,u,x;return"x"===n&&(d=(p.yAxisMax+p.yAxisMin)/2,0===i&&(c=t.xAxisMin)),"y"===n&&(c=p.xAxisMin+(p.xAxisMax-p.xAxisMin)/2,0===i&&(d=t.yAxisMin)),r?(u=l.toPixels(d),x=h.toPixels(c)):(u=h.toPixels(c),x=l.toPixels(d)),{x:u-a.width/2,y:x-a.height/2}},events:{drag:function(t,i){let s=this.mouseMoveToTranslation(t),e=i.options.typeOptions.selectType,o=this.index,n="y"===e?0:s.x,a="x"===e?0:s.y;i.resize(n,a,o,e),i.resizeX+=n,i.resizeY+=a,i.redraw(!1,!0)}}}}),iN.types.measure=sK;/** + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations-advanced * @requires highcharts * diff --git a/modules/annotations-advanced.src.js b/modules/annotations-advanced.src.js index 19ab6dae27..6ffd2d1e3f 100644 --- a/modules/annotations-advanced.src.js +++ b/modules/annotations-advanced.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations * @requires highcharts * @@ -5052,7 +5052,7 @@ function onNavigationBindingsShowPopup(config) { this.popup = new Popup_Popup(this.chart.container, (this.chart.options.navigation.iconsURL || (this.chart.options.stockTools && this.chart.options.stockTools.gui.iconsURL) || - 'https://code.highcharts.com/12.1.0/gfx/stock-icons/'), this.chart); + 'https://code.highcharts.com/12.1.1/gfx/stock-icons/'), this.chart); } this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit); } @@ -6234,7 +6234,7 @@ const navigation = { * from a different server. * * @type {string} - * @default https://code.highcharts.com/12.1.0/gfx/stock-icons/ + * @default https://code.highcharts.com/12.1.1/gfx/stock-icons/ * @since 7.1.3 * @apioption navigation.iconsURL */ @@ -9698,7 +9698,7 @@ Annotations_Annotation.types.measure = Measure; ;// ./code/es-modules/masters/modules/annotations-advanced.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations-advanced * @requires highcharts * diff --git a/modules/annotations.js b/modules/annotations.js index 6dac8752b2..1ea195a45f 100644 --- a/modules/annotations.js +++ b/modules/annotations.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations * @requires highcharts * @@ -8,4 +8,4 @@ * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts/highcharts"],function(t){return i(t,t.SeriesRegistry,t.Templating,t.AST)}):"object"==typeof exports?exports["highcharts/modules/annotations"]=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.SeriesRegistry,t.Highcharts.Templating,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,e,s)=>(()=>{"use strict";var o,n,a,r,h={660:t=>{t.exports=s},512:t=>{t.exports=i},984:t=>{t.exports=e},944:i=>{i.exports=t}},l={};function c(t){var i=l[t];if(void 0!==i)return i.exports;var e=l[t]={exports:{}};return h[t](e,e.exports,c),e.exports}c.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return c.d(i,{a:i}),i},c.d=(t,i)=>{for(var e in i)c.o(i,e)&&!c.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},c.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var p={};c.d(p,{default:()=>en});var d=c(944),u=c.n(d);let{addEvent:g,erase:m,find:f,fireEvent:x,pick:v,wrap:y}=u();function b(t,i){let e=this.initAnnotation(t);return this.options.annotations.push(e.options),v(i,!0)&&(e.redraw(),e.graphic.attr({opacity:1})),e}function A(){let t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach((i,e)=>{if(!t.annotations.some(t=>t.options===i)){let s=t.initAnnotation(i);t.options.annotations[e]=s.options}}),t.drawAnnotations(),g(t,"redraw",t.drawAnnotations),g(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),g(t,"exportData",function(i){let e=t.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,o=!i.dataRows[1].xValues,n=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,a=i.dataRows[0].length,r=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,h=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;e.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let e=t.options.text;t.points.forEach(t=>{let s=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let t=i.dataRows[0].length,a=Array(t);for(let i=0;i{!n&&t.xValues&&void 0!==o&&s===t.xValues[o]&&(h&&t.length>a?t[t.length-1]+=r+e:t.push(e),n=!0)}),!n){let t=i.dataRows[0].length,n=Array(t);for(let i=0;i{l=Math.max(l,t.length)});let c=l-i.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function w(t){let i=this.annotations,e="annotations"===t.coll?t:f(i,function(i){return i.options.id===t});e&&(x(e,"remove"),m(this.options.annotations,e.options),m(i,e),e.destroy())}function C(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function E(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}(o||(o={})).compose=function(t,i,e){let s=i.prototype;if(!s.addAnnotation){let o=e.prototype;g(i,"afterInit",C),s.addAnnotation=b,s.callbacks.push(A),s.collectionsWithInit.annotations=[b],s.collectionsWithUpdate.push("annotations"),s.drawAnnotations=k,s.removeAnnotation=w,s.initAnnotation=function(i){let e=new(t.types[i.type]||t)(this,i);return this.annotations.push(e),e},y(o,"onContainerMouseDown",E)}};let P=o,{defined:O}=u(),{doc:B,isTouchDevice:M}=u(),{addEvent:T,fireEvent:N,objectEach:D,pick:L,removeEvent:I}=u(),S=class{addEvents(){let t=this,i=function(i){T(i,M?"touchstart":"mousedown",i=>{t.onMouseDown(i)},{passive:!1})};if(i(this.graphic.element),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),D(t.options.events,(i,e)=>{let s=function(s){"click"===e&&t.cancelClick||i.call(t,t.chart.pointer?.normalize(s),t.target)};-1===(t.nonDOMEvents||[]).indexOf(e)?(T(t.graphic.element,e,s,{passive:!1}),t.graphic.div&&T(t.graphic.div,e,s,{passive:!1})):T(t,e,s,{passive:!1})}),t.options.draggable&&(T(t,"drag",t.onDrag),!t.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]};t.graphic.css(i),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}t.isUpdating||N(t,"add")}destroy(){this.removeDocEvents(),I(this),this.hcEvents=null}mouseMoveToRadians(t,i,e){let s=t.prevChartY-e,o=t.prevChartX-i,n=t.chartY-e,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=s,s=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(s,o)}mouseMoveToScale(t,i,e){let s=t.prevChartX-i,o=t.prevChartY-e,n=t.chartX-i,a=t.chartY-e,r=(n||1)/(s||1),h=(a||1)/(o||1);if(this.chart.inverted){let t=h;h=r,r=t}return{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,e=t.chartY-t.prevChartY,s;return this.chart.inverted&&(s=e,e=i,i=s),{x:i,y:e}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(t){if(t.preventDefault&&t.preventDefault(),2===t.button)return;let i=this,e=i.chart.pointer,s=t?.sourceCapabilities?.firesTouchEvents||!1,o=(t=e?.normalize(t)||t).chartX,n=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=T(B,M||s?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=e?.normalize(t)||t).prevChartX=o,t.prevChartY=n,N(i,"drag",t),o=t.chartX,n=t.chartY},M||s?{passive:!1}:void 0),i.removeMouseUp=T(B,M||s?"touchend":"mouseup",function(){let t=L(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&N(L(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},M||s?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}},{merge:Y,pick:X}=u(),F=class extends S{constructor(t,i,e,s){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=e,this.index=X(e.index,s)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){let i=this.chart,e=this.target,s=this.index,o=Y(!0,this.options,t);this.destroy(),this.constructor(i,e,o,s),this.render(i.controlPointsGroup),this.redraw()}};var R=c(512),U=c.n(R);let{series:{prototype:W}}=U(),{defined:H,fireEvent:V}=u();class j{static fromPoint(t){return new j(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let e=t.series,s=e.chart,o=t.plotX||0,n=t.plotY||0,a;return s.inverted&&(t.mock?(o=t.plotY,n=t.plotX):(o=s.plotWidth-(t.plotY||0),n=s.plotHeight-(t.plotX||0))),e&&!i&&(o+=(a=e.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,e){this.mock=!0,this.point=this,this.series={visible:!0,chart:t,getPlotBox:W.getPlotBox},this.target=i||null,this.options=e,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,e=this.series.xAxis,s=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return e&&(o.isInsidePlot=H(t)&&t>=0&&t<=e.len),s&&(o.isInsidePlot=o.isInsidePlot&&H(i)&&i>=0&&i<=s.len),V(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,e=t.yAxis,s=this.getOptions();i?(this.x=s.x,this.plotX=i.toPixels(s.x,!0)):(this.x=void 0,this.plotX=s.x),e?(this.y=s.y,this.plotY=e.toPixels(s.y,!0)):(this.y=null,this.plotY=s.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,e=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=e?e.toValue(this.plotY,!0):this.plotY}rotate(t,i,e){if(!this.hasDynamicOptions()){let s=Math.cos(e),o=Math.sin(e),n=this.plotX-t,a=this.plotY-i;this.plotX=n*s-a*o+t,this.plotY=n*o+a*s+i,this.refreshOptions()}}scale(t,i,e,s){if(!this.hasDynamicOptions()){let o=this.plotX*e,n=this.plotY*s;this.plotX=(1-e)*t+o,this.plotY=(1-s)*i+n,this.refreshOptions()}}setAxis(t,i){let e=i+"Axis",s=t[e],o=this.series.chart;this.series[e]="object"==typeof s?s:H(s)?o[e][s]||o.get(s):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,e,s){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=s,this.refreshOptions())}}!function(t){function i(){let t=this.controlPoints,i=this.options.controlPoints||[];i.forEach((e,s)=>{let o=u().merge(this.options.controlPointOptions,e);o.index||(o.index=s),i[s]=o,t.push(new F(this.chart,this,o))})}function e(t){let i=t.series.getPlotBox(),e=t.series.chart,s=t.mock?t.toAnchor():e.tooltip&&e.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:s[0]+(this.options.x||0),y:s[1]+(this.options.y||0),height:s[2]||0,width:s[3]||0};return{relativePosition:o,absolutePosition:u().merge(o,{x:o.x+(t.mock?i.translateX:e.plotLeft),y:o.y+(t.mock?i.translateY:e.plotTop)})}}function s(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){let t=this.options;return t.points||t.point&&u().splat(t.point)}function n(){let t,i;let e=this.getPointsOptions(),s=this.points,o=e&&e.length||0;for(t=0;ti.redraw(t))}function h(){this.controlPoints.forEach(t=>t.render())}function l(t,i,e,s,o){if(this.chart.inverted){let t=i;i=e,e=t}this.points.forEach((n,a)=>this.transformPoint(t,i,e,s,o,a),this)}function c(t,i,e,s,o,n){let a=this.points[n];a.mock||(a=this.points[n]=j.fromPoint(a)),a[t](i,e,s,o)}function p(t,i){this.transform("translate",null,null,t,i)}function d(t,i,e){this.transformPoint("translate",null,null,t,i,e)}t.compose=function(t){let g=t.prototype;g.addControlPoints||u().merge(!0,g,{addControlPoints:i,anchor:e,destroyControlTarget:s,getPointsOptions:o,linkPoints:n,point:a,redrawControlPoints:r,renderControlPoints:h,transform:l,transformPoint:c,translate:p,translatePoint:d})}}(n||(n={}));let q=n,{merge:z}=u();class _{constructor(t,i,e,s){this.annotation=t,this.chart=t.chart,this.collection="label"===s?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=e,this.itemType=s,this.init(t,i,e)}attr(...t){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,e;let s=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)e=s[i],void 0===s[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(e)||(o[e]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,e){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=e,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,e){this.transform("rotate",t,i,e)}scale(t,i,e,s){this.transform("scale",t,i,e,s)}setControlPointsVisibility(t){this.controlPoints.forEach(i=>{i.setVisibility(t)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,e){let s=this.annotation.chart,o=this.annotation.userOptions,n=s.annotations.indexOf(this.annotation),a=s.options.annotations[n];this.translatePoint(t,i,0),e&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,e=z(!0,this.options,t),s=this.graphic.parentGroup,o=this.constructor;this.destroy(),z(!0,this,new o(i,e,this.index,this.itemType)),this.render(s),this.redraw()}}q.compose(_);let G=_,{defaultMarkers:K}={defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}},{addEvent:Z,defined:$,extend:J,merge:Q,uniqueKey:tt}=u(),ti=to("marker-end"),te=to("marker-start"),ts="rgba(192,192,192,"+(u().svg?1e-4:.002)+")";function to(t){return function(i){this.attr(t,"url(#"+i+")")}}function tn(){this.options.defs=Q(K,this.options.defs||{})}function ta(t,i){let e={attributes:{id:t}},s={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"};e.children=i.children&&i.children.map(function(t){return Q(s,t)});let o=Q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,e),n=this.definition(o);return n.id=t,n}class tr extends G{static compose(t,i){let e=i.prototype;e.addMarker||(Z(t,"afterGetContainer",tn),e.addMarker=ta)}constructor(t,i,e){super(t,i,e,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,e=i.length,s=[],o=e,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,h;if(a)for(s.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),tu(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,e)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,e,s){return Math.abs((i.y-t.y)*e-(i.x-t.x)*s+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let e=t.x,s=t.y,o=i.x,n=i.y,a=(e+o)/2,r=Math.sqrt((e-o)*(e-o)/4+(s-n)*(s-n)/4),h=180*Math.atan((n-s)/(o-e))/Math.PI;return ai+s?r.push(["L",t+l,i+s]):at+e&&r.push(["L",t+e,i+s/2])),r||[]}class tw extends G{static alignedPosition(t,i){return{x:Math.round((i.x||0)+(t.x||0)+(i.width-(t.width||0))*ty(t.align)),y:Math.round((i.y||0)+(t.y||0)+(i.height-(t.height||0))*ty(t.verticalAlign))}}static compose(t){t.prototype.symbols.connector=tk}static justifiedOptions(t,i,e,s){let o;let n=e.align,a=e.verticalAlign,r=i.box?0:i.padding||0,h=i.getBBox(),l={align:n,verticalAlign:a,x:e.x,y:e.y,width:i.width,height:i.height},c=(s.x||0)-t.plotLeft,p=(s.y||0)-t.plotTop;return(o=c+r)<0&&("right"===n?l.align="left":l.x=(l.x||0)-o),(o=c+h.width-r)>t.plotWidth&&("left"===n?l.align="right":l.x=(l.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-o),(o=p+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-o),l}constructor(t,i,e){super(t,i,e,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let e=this.annotation.chart,s=this.annotation.userOptions,o=e.annotations.indexOf(this.annotation),n=e.options.annotations[o];if(e.inverted){let e=t;t=i,i=e}this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,s[this.collection][this.index].x=this.options.x,s[this.collection][this.index].y=this.options.y}render(t){let i=this.options,e=this.attrsFromOptions(i),s=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(e).add(t),this.annotation.chart.styledMode||("contrast"===s.color&&(s.color=this.annotation.chart.renderer.getContrast(tw.shapesWithoutBackground.indexOf(i.shape)>-1?"#FFFFFF":i.backgroundColor)),this.graphic.css(i.style).shadow(i.shadow)),this.graphic.labelrank=i.labelrank,super.render()}redraw(t){let i=this.options,e=this.text||i.format||i.text,s=this.graphic,o=this.points[0];if(!s){this.redraw(t);return}s.attr({text:e?tx(String(e),o,this.annotation.chart):i.formatter.call(o,this)});let n=this.anchor(o),a=this.position(n);a?(s.alignAttr=a,a.anchorX=n.absolutePosition.x,a.anchorY=n.absolutePosition.y,s[t?"animate":"attr"](a)):s.attr({x:0,y:-9999}),s.placed=!!a,super.redraw(t)}anchor(t){let i=super.anchor.apply(this,arguments),e=this.options.x||0,s=this.options.y||0;return i.absolutePosition.x-=e,i.absolutePosition.y-=s,i.relativePosition.x-=e,i.relativePosition.y-=s,i}position(t){let i=this.graphic,e=this.annotation.chart,s=e.tooltip,o=this.points[0],n=this.options,a=t.absolutePosition,r=t.relativePosition,h,l,c,p,d=o.series.visible&&j.prototype.isInsidePlot.call(o);if(i&&d){let{width:t=0,height:u=0}=i;n.distance&&s?h=s.getPosition.call({chart:e,distance:tA(n.distance,16),getPlayingField:s.getPlayingField,pointer:s.pointer},t,u,{plotX:r.x,plotY:r.y,negative:o.negative,ttBelow:o.ttBelow,h:r.height||r.width}):n.positioner?h=n.positioner.call(this):(l={x:a.x,y:a.y,width:0,height:0},h=tw.alignedPosition(tv(n,{width:t,height:u}),l),"justify"===this.options.overflow&&(h=tw.alignedPosition(tw.justifiedOptions(e,i,n,h),l))),n.crop&&(c=h.x-e.plotLeft,p=h.y-e.plotTop,d=e.isInsidePlot(c,p)&&e.isInsidePlot(c+t,p+u))}return d?h:null}}tw.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},tw.shapesWithoutBackground=["connector"];class tC extends G{constructor(t,i,e){super(t,i,e,"shape"),this.type="image",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options),e=this.options;this.graphic=this.annotation.chart.renderer.image(e.src,0,-9e9,e.width,e.height).attr(i).add(t),this.graphic.width=e.width,this.graphic.height=e.height,super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]),e=tw.prototype.position.call(this,i);e?this.graphic[t?"animate":"attr"]({x:e.x,y:e.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!e}super.redraw(t)}}tC.attrsMap={width:"width",height:"height",zIndex:"zIndex"};var tE=c(660),tP=c.n(tE);let{addEvent:tO,createElement:tB}=u(),tM=class{constructor(t,i){this.iconsURL=i,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}createPopupContainer(t,i="highcharts-popup highcharts-no-tooltip"){return tB("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,e=this.iconsURL,s=tB("button",{className:t},void 0,this.container);return s.style["background-image"]="url("+(e.match(/png|svg|jpeg|jpg|gif/ig)?e:e+"close.svg")+")",["click","touchstart"].forEach(t=>{tO(s,t,i.closeButtonEvents.bind(i))}),tO(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),s}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,e=this.closeButton;this.type=void 0,i.innerHTML=tP().emptyHTML,i.className.indexOf(t)>=0&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(e),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}},{doc:tT,isFirefox:tN}=u(),{createElement:tD,isArray:tL,isObject:tI,objectEach:tS,pick:tY,stableSort:tX}=u();function tF(t,i,e,s,o,n){let a,r;if(!i)return;let h=this.addInput,l=this.lang;tS(s,(s,n)=>{a=""!==e?e+"."+n:n,tI(s)&&(!tL(s)||tL(s)&&tI(s[0])?((r=l[n]||n).match(/\d/g)||o.push([!0,r,t]),tF.call(this,t,i,a,s,o,!1)):o.push([this,a,"annotation",t,s]))}),n&&(tX(o,t=>t[1].match(/format/g)?-1:1),tN&&o.reverse(),o.forEach(t=>{!0===t[0]?tD("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(tT.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},h.apply(t[0],t.splice(1)))}))}let{doc:tR}=u(),{seriesTypes:tU}=U(),{addEvent:tW,createElement:tH,defined:tV,isArray:tj,isObject:tq,objectEach:tz,stableSort:t_}=u();!function(t){t[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average"}(a||(a={}));let tG={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function tK(t){let i=tH("div",{className:"highcharts-popup-lhs-col"},void 0,t),e=tH("div",{className:"highcharts-popup-rhs-col"},void 0,t);return tH("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,e),{lhsCol:i,rhsCol:e}}function tZ(t,i,e,s){let o=i.params||i.options.params;s.innerHTML=tP().emptyHTML,tH("h3",{className:"highcharts-indicator-title"},void 0,s).appendChild(tR.createTextNode(t4(i,e).indicatorFullName)),tH("input",{type:"hidden",name:"highcharts-type-"+e,value:e},void 0,s),t5.call(this,e,"series",t,s,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&t5.call(this,e,"volume",t,s,i,i.linkedParent&&o.volumeSeriesID),tJ.call(this,t,"params",o,e,s)}function t$(t,i,e,s){function o(i,e){let s=g.parentNode.children[1];tZ.call(n,t,i,e,g),s&&(s.style.display="block"),l&&i.options&&tH("input",{type:"hidden",name:"highcharts-id-"+e,value:i.options.id},void 0,g).setAttribute("highcharts-data-series-id",i.options.id)}let n=this,a=n.lang,r=i.querySelectorAll(".highcharts-popup-lhs-col")[0],h=i.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===e,c=l?t.series:t.options.plotOptions||{};if(!t&&c)return;let p,d=[];l||tj(c)?tj(c)&&(d=t2.call(this,c)):d=t9.call(this,c,s),t_(d,(t,i)=>{let e=t.indicatorFullName.toLowerCase(),s=i.indicatorFullName.toLowerCase();return es?1:0}),r.children[1]&&r.children[1].remove();let u=tH("ul",{className:"highcharts-indicator-list"},void 0,r),g=h.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(d.forEach(t=>{let{indicatorFullName:i,indicatorType:e,series:s}=t;p=tH("li",{className:"highcharts-indicator-list"},void 0,u);let n=tH("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,p);["click","touchstart"].forEach(t=>{tW(n,t,function(){o(s,e)})})}),d.length>0){let{series:t,indicatorType:i}=d[0];o(t,i)}else l||(tP().setElementHTML(g.parentNode.children[0],a.noFilterMatch||""),g.parentNode.children[1].style.display="none")}function tJ(t,i,e,s,o){if(!t)return;let n=this.addInput;tz(e,(e,r)=>{let h=i+"."+r;if(tV(e)&&h){if(tq(e)&&(n.call(this,h,s,o,{}),tJ.call(this,t,h,e,s,o)),h in a){let n=t0.call(this,s,h,o);t1.call(this,t,i,n,s,r,e)}else"params.volumeSeriesID"===h||tj(e)||n.call(this,h,s,o,{value:e,type:"number"})}})}function tQ(t,i){let e=this,s=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=tH("div",{className:"highcharts-input-wrapper"},void 0,s),a=function(i){t$.call(e,t,e.container,"add",i)},r=this.addInput("searchIndicators","input",n,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=tH("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),tW(r,"input",function(){a(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{tW(h,t,function(){r.value="",a(""),h.style.display="none"})})}function t0(t,i,e){let s=i.split("."),o=s[s.length-1],n="highcharts-"+i+"-type-"+t,a=this.lang;tH("label",{htmlFor:n},null,e).appendChild(tR.createTextNode(a[o]||i));let r=tH("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,e);return r.setAttribute("id","highcharts-select-"+i),r}function t1(t,i,e,s,o,n,a){"series"===i||"volume"===i?t.series.forEach(t=>{let s=t.options,o=s.name||s.params?t.name:s.id||"";"highcharts-navigator-series"!==s.id&&s.id!==(a&&a.options&&a.options.id)&&(tV(n)||"volume"!==i||"column"!==t.type||(n=s.id),tH("option",{value:s.id},void 0,e).appendChild(tR.createTextNode(o)))}):s&&o&&tG[o+"-"+s].forEach(t=>{tH("option",{value:t},void 0,e).appendChild(tR.createTextNode(t))}),tV(n)&&(e.value=n)}function t9(t,i){let e;let s=this.chart&&this.chart.options.lang,o=s&&s.navigation&&s.navigation.popup&&s.navigation.popup.indicatorAliases,n=[];return tz(t,(t,s)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=t4(t,s);if(i){let s=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=o&&o[r]&&o[r].join(" ")||"";(a.match(s)||h.match(s))&&(e={indicatorFullName:a,indicatorType:r,series:t},n.push(e))}else e={indicatorFullName:a,indicatorType:r,series:t},n.push(e)}}),n}function t2(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function t4(t,i){let e=t.options,s=tU[i]&&tU[i].prototype.nameBase||i.toUpperCase(),o=i;return e&&e.type&&(o=t.options.type,s=t.name),{indicatorFullName:s,indicatorType:o}}function t5(t,i,e,s,o,n){if(!e)return;let a=t0.call(this,t,i,s);t1.call(this,e,i,a,void 0,void 0,void 0,o),tV(n)&&(a.value=n)}let{doc:t6}=u(),{addEvent:t7,createElement:t3}=u();function t8(){return t3("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function it(t,i){let e=this.container,s=this.lang,o="highcharts-tab-item";0===i&&(o+=" highcharts-tab-disabled");let n=t3("button",{className:o},void 0,e);return n.appendChild(t6.createTextNode(s[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function ii(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),e=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{(0!==t||"edit"!==e.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{t7(e,t,function(){ii.call(i),ie.call(i,this,s)})})})}let{doc:io}=u(),{getOptions:ia}=u(),{addEvent:ir,createElement:ih,extend:il,fireEvent:ic,pick:ip}=u();class id extends tM{constructor(t,i,e){super(t,i),this.chart=e,this.lang=(ia().lang.navigation||{}).popup||{},ir(this.container,"mousedown",()=>{let t=e&&e.navigationBindings&&e.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=ir(io,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,e,s){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+ip(s.htmlFor,n);n.match(/^\d+$/)||ih("label",{htmlFor:r,className:s.labelClassName},void 0,e).appendChild(io.createTextNode(a[n]||n));let h=ih("input",{name:r,value:s.value,type:s.type,className:"highcharts-popup-field"},void 0,e);return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){if(this.chart){let t=this.chart.navigationBindings;ic(t,"closePopup"),t&&t.selectedButtonElement&&ic(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,e,s,o){let n=ih("button",void 0,void 0,t);return n.appendChild(io.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{ir(n,t,()=>(this.closePopup(),o(function(t,i){let e=Array.prototype.slice.call(t.querySelectorAll("input")),s=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return e.forEach(t=>{let i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),s.forEach(t=>{let i=t.id;if("highcharts-select-series"!==i&&"highcharts-select-volume"!==i){let e=i.split("highcharts-select-")[1];a.fields[e]=t.value}}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(s,e))))}),n}showForm(t,i,e,s){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,e,s),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,e,s),"annotation-edit"===t&&this.annotations.addForm.call(this,i,e,s),"flag"===t&&this.annotations.addForm.call(this,i,e,s,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}il(id.prototype,{annotations:{addForm:function(t,i,e,s){if(!t)return;let o=this.container,n=this.lang,a=tD("h2",{className:"highcharts-popup-main-title"},void 0,o);a.appendChild(tT.createTextNode(n[i.langKey]||i.langKey||"")),a=tD("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,o);let r=tD("div",{className:"highcharts-popup-bottom-row"},void 0,o);tF.call(this,a,t,"",i,[],!0),this.addButton(r,s?n.addButton||"Add":n.saveButton||"Save",s?"add":"save",o,e)},addToolbar:function(t,i,e){let s=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar";-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px");let r=tD("p",{className:"highcharts-annotation-label"},void 0,o);r.setAttribute("aria-label","Annotation type"),r.appendChild(tT.createTextNode(tY(s[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let h=this.addButton(o,s.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,e)});h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",h=this.addButton(o,s.removeButton||"Remove","remove",o,e),h.className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}},indicators:{addForm:function(t,i,e){let s;let o=this.lang;if(!t)return;this.tabs.init.call(this,t);let n=this.container.querySelectorAll(".highcharts-tab-item-content");tK(n[0]),tQ.call(this,t,n[0]),t$.call(this,t,n[0],"add"),s=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.addButton||"add","add",s,e),tK(n[1]),t$.call(this,t,n[1],"edit"),s=n[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.saveButton||"save","edit",s,e),this.addButton(s,o.removeButton||"remove","remove",s,e)},getAmount:function(){let t=0;return this.series.forEach(i=>{(i.params||i.options.params)&&t++}),t}},tabs:{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),e=it.call(this,"add");it.call(this,"edit",i),t8.call(this),t8.call(this),is.call(this,i),ie.call(this,e,0)}}});let{composed:iu}=u(),{addEvent:ig,pushUnique:im,wrap:ix}=u();function iv(){this.popup&&this.popup.closePopup()}function iy(t){this.popup||(this.popup=new id(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/12.1.0/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function ib(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}let iA={compose:function(t,i){im(iu,"Popup")&&(ig(t,"closePopup",iv),ig(t,"showPopup",iy),ix(i.prototype,"onContainerMouseDown",ib))}},{getDeferredAnimation:ik}=u(),{destroyObjectProperties:iw,erase:iC,fireEvent:iE,merge:iP,pick:iO,splat:iB}=u();function iM(t,i){let e={};return["labels","shapes"].forEach(s=>{let o=t[s],n=i[s];o&&(n?e[s]=iB(n).map((t,i)=>iP(o[i],t)):e[s]=t[s])}),e}class iT extends S{static compose(t,i,e,s){P.compose(iT,t,e),tw.compose(s),tr.compose(t,s),i.compose(iT,t),iA.compose(i,e)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=iP(this.defaultOptions,i),this.userOptions=i;let e=iM(this.options,i);this.options.labels=e.labels,this.options.shapes=e.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let t=this.options.labels||[];t.forEach((i,e)=>{let s=this.initLabel(i,e);iP(!0,t[e],s.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,e)=>{let s=this.initShape(i,e);iP(!0,t[e],s.options)})}destroy(){let t=this.chart,i=function(t){t.destroy()};this.labels.forEach(i),this.shapes.forEach(i),this.clipXAxis=null,this.clipYAxis=null,iC(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),iw(this,t)}destroyItem(t){iC(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);let e=iM(this.options,i);this.options.labels=e.labels,this.options.shapes=e.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,e=this.index){let s=this.chart,o=this.options.animation;this.index=e,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=ik(s,o)}initLabel(t,i){let e=new tw(this,iP(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return e.itemType="label",this.labels.push(e),e}initShape(t,i){let e=iP(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),s=new iT.shapesMap[e.type](this,e,i);return s.itemType="shape",this.shapes.push(s),s}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(t,i){t.linkPoints(),t.shouldBeDrawn()?(t.graphic||this.renderItem(t),t.redraw(iO(i,!0)&&t.graphic.placed),t.points.length&&function(t){let i=t.graphic,e=t.points.some(t=>!1!==t.series.visible&&!1!==t.visible);i&&(e?"hidden"===i.visibility&&i.show():i.hide())}(t)):this.destroyItem(t)}redrawItems(t,i){let e=t.length;for(;e--;)this.redrawItem(t[e],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let t=this.chart.xAxis,i=this.chart.yAxis,e=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((e,s)=>{let o=s&&(s.point||s.points&&s.points[0]);return[t[o&&o.xAxis]||e[0],i[o&&o.yAxis]||e[1]]},[]);this.clipXAxis=e[0],this.clipYAxis=e[1]}setControlPointsVisibility(t){let i=function(i){i.setControlPointsVisibility(t)};this.controlPoints.forEach(i=>{i.setVisibility(t)}),this.shapes.forEach(i),this.labels.forEach(i)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=iP(this.defaultOptions,t)}setVisibility(t){let i=this.options,e=this.chart.navigationBindings,s=iO(t,!i.visible);if(this.graphic.attr("visibility",s?"inherit":"hidden"),!s){let t=function(t){t.setControlPointsVisibility(s)};this.shapes.forEach(t),this.labels.forEach(t),e.activeAnnotation===this&&e.popup&&"annotation-toolbar"===e.popup.type&&iE(e,"closePopup")}i.visible=s}update(t,i){let e=this.chart,s=iM(this.userOptions,t),o=e.annotations.indexOf(this),n=iP(!0,this.userOptions,t);n.labels=s.labels,n.shapes=s.shapes,this.destroy(),this.initProperties(e,n),this.init(e,n),e.options.annotations[o]=this.options,this.isUpdating=!0,iO(i,!0)&&e.drawAnnotations(),iE(this,"afterUpdate"),this.isUpdating=!1}}iT.ControlPoint=F,iT.MockPoint=j,iT.shapesMap={rect:tl,circle:tp,ellipse:tg,path:tr,image:tC},iT.types={},iT.prototype.defaultOptions={visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return O(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6},iT.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],q.compose(iT),function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(r||(r={}));let iN=r,{defined:iD,isNumber:iL,pick:iI}=u(),iS={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},iY={annotationsFieldsTypes:iS,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),e=i.min,s=i.max,o=iI(t.axis.minPointOffset,0);return iL(e)&&iL(s)&&t.value>=e-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let e=iS[t],s=typeof i;return iD(e)&&(s=e),({string:"text",number:"number",boolean:"checkbox"})[s]}},{getAssignedAxis:iX}=iY,{isNumber:iF,merge:iR}=u(),iU={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:s.value,xAxis:e.axis.index,yAxis:s.axis.index},r:5}]},o.annotationsOptions,o.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let s=i.options.shapes,o=s&&s[0]&&s[0].point||{};if(iF(o.xAxis)&&iF(o.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);e=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:s.axis.index,points:[{x:e.value,y:s.value},{x:e.value,y:s.value}],ry:1}]},o.annotationsOptions,o.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),o=e.getAbsolutePosition(e.points[1]),n=e.getDistanceFromLine(s,o,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis);if(!e||!s)return;let o=e.value,n=s.value,a=e.axis.index,r=s.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(iR({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&iX(o.xAxis),a=o&&iX(o.yAxis);if(n&&a){let t=n.value,e=a.value;s[1].x=t,s[2].x=t,s[2].y=e,s[3].y=e,i.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:s.axis.index,x:e.value,y:s.value}}]},o.annotationsOptions,o.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:iW}=u(),{format:iH}=tf(),{composed:iV,doc:ij,win:iq}=u(),{getAssignedAxis:iz,getFieldType:i_}=iY,{addEvent:iG,attr:iK,defined:iZ,fireEvent:i$,isArray:iJ,isFunction:iQ,isNumber:i0,isObject:i1,merge:i9,objectEach:i2,pick:i4,pushUnique:i5}=u();function i6(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function i7(){this.navigationBindings&&this.navigationBindings.destroy()}function i3(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new es(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function i8(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];i2(t.boundClassNames,(t,o)=>{let n=s.querySelectorAll("."+o);if(n)for(let s=0;s=4||o.call(this,t)}})}class es{static compose(t,i){i5(iV,"NavigationBindings")&&(iG(t,"remove",i6),ee(t),i2(t.types,t=>{ee(t)}),iG(i,"destroy",i7),iG(i,"load",i3),iG(i,"render",i8),iG(es,"closePopup",et),iG(es,"deselectButton",ei),iW(iU))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=ij.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&iz(i.xAxis),i&&iz(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,s=t.options;t.boundClassNames={},i2(s.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(iG(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),i2(s.events||{},(i,e)=>{iQ(i)&&t.eventsToUnbind.push(iG(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(iG(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(iG(i.container,u().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},u().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;iN.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,e){let s=this.chart,o=s.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),i$(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,i$(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,o=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=iq.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,o=null;if(e.closest)o=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return o}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):i$(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(i$(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(i$(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return i2(t,(t,e)=>{let s=parseFloat(t),o=e.split("."),n=o.length-1;if(!i0(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;o.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=i4(o[s+1],"");n===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=es.annotationsEditable,s=e.nestedOptions,o=i4(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=es.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,e,o,a,h){let l;o&&iZ(i)&&-1===n.indexOf(e)&&((o.indexOf&&o.indexOf(e))>=0||o[e]||!0===o)&&(iJ(i)?(a[e]=[],i.forEach((t,i)=>{i1(t)?(a[e][i]={},i2(t,(t,o)=>{r(t,o,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):i1(i)?(l={},iJ(a)?(a.push(l),l[e]={},l=l[e]):a[e]=l,i2(i,(t,i)=>{r(t,i,0===e?o:s[e],l,e)})):"format"===e?a[e]=[iH(i,t.labels[0].points[0]).toString(),"text"]:iJ(a)?a.push([i,i_(h,i)]):a[e]=[i,i_(e,i)])}return i2(i,(t,n)=>{"typeOptions"===n?(a[n]={},i2(i[n],(t,i)=>{r(t,i,s,a[n],i)})):r(t,n,e[o],a,n)}),a}getClickedClassNames(t,i){let e=i.target,s=[],o;for(;e&&e.tagName&&((o=iK(e,"class"))&&(s=s.concat(o.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=i9(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}es.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},es.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};let eo=u();eo.Annotation=eo.Annotation||iT,eo.NavigationBindings=eo.NavigationBindings||es,eo.Annotation.compose(eo.Chart,eo.NavigationBindings,eo.Pointer,eo.SVGRenderer);let en=u();return p.default})()); \ No newline at end of file + */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts/highcharts"],function(t){return i(t,t.SeriesRegistry,t.Templating,t.AST)}):"object"==typeof exports?exports["highcharts/modules/annotations"]=i(t._Highcharts,t._Highcharts.SeriesRegistry,t._Highcharts.Templating,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.SeriesRegistry,t.Highcharts.Templating,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,e,s)=>(()=>{"use strict";var o,n,a,r,h={660:t=>{t.exports=s},512:t=>{t.exports=i},984:t=>{t.exports=e},944:i=>{i.exports=t}},l={};function c(t){var i=l[t];if(void 0!==i)return i.exports;var e=l[t]={exports:{}};return h[t](e,e.exports,c),e.exports}c.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return c.d(i,{a:i}),i},c.d=(t,i)=>{for(var e in i)c.o(i,e)&&!c.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},c.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var p={};c.d(p,{default:()=>en});var d=c(944),u=c.n(d);let{addEvent:g,erase:m,find:f,fireEvent:x,pick:v,wrap:y}=u();function b(t,i){let e=this.initAnnotation(t);return this.options.annotations.push(e.options),v(i,!0)&&(e.redraw(),e.graphic.attr({opacity:1})),e}function A(){let t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach((i,e)=>{if(!t.annotations.some(t=>t.options===i)){let s=t.initAnnotation(i);t.options.annotations[e]=s.options}}),t.drawAnnotations(),g(t,"redraw",t.drawAnnotations),g(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),g(t,"exportData",function(i){let e=t.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,o=!i.dataRows[1].xValues,n=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,a=i.dataRows[0].length,r=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,h=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;e.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let e=t.options.text;t.points.forEach(t=>{let s=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,n=!1;if(-1===o){let t=i.dataRows[0].length,a=Array(t);for(let i=0;i{!n&&t.xValues&&void 0!==o&&s===t.xValues[o]&&(h&&t.length>a?t[t.length-1]+=r+e:t.push(e),n=!0)}),!n){let t=i.dataRows[0].length,n=Array(t);for(let i=0;i{l=Math.max(l,t.length)});let c=l-i.dataRows[0].length;for(let t=0;t{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function w(t){let i=this.annotations,e="annotations"===t.coll?t:f(i,function(i){return i.options.id===t});e&&(x(e,"remove"),m(this.options.annotations,e.options),m(i,e),e.destroy())}function C(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function E(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}(o||(o={})).compose=function(t,i,e){let s=i.prototype;if(!s.addAnnotation){let o=e.prototype;g(i,"afterInit",C),s.addAnnotation=b,s.callbacks.push(A),s.collectionsWithInit.annotations=[b],s.collectionsWithUpdate.push("annotations"),s.drawAnnotations=k,s.removeAnnotation=w,s.initAnnotation=function(i){let e=new(t.types[i.type]||t)(this,i);return this.annotations.push(e),e},y(o,"onContainerMouseDown",E)}};let P=o,{defined:O}=u(),{doc:B,isTouchDevice:M}=u(),{addEvent:T,fireEvent:N,objectEach:D,pick:L,removeEvent:I}=u(),S=class{addEvents(){let t=this,i=function(i){T(i,M?"touchstart":"mousedown",i=>{t.onMouseDown(i)},{passive:!1})};if(i(this.graphic.element),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&i(t.graphic.text.element)}),D(t.options.events,(i,e)=>{let s=function(s){"click"===e&&t.cancelClick||i.call(t,t.chart.pointer?.normalize(s),t.target)};-1===(t.nonDOMEvents||[]).indexOf(e)?(T(t.graphic.element,e,s,{passive:!1}),t.graphic.div&&T(t.graphic.div,e,s,{passive:!1})):T(t,e,s,{passive:!1})}),t.options.draggable&&(T(t,"drag",t.onDrag),!t.graphic.renderer.styledMode)){let i={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]};t.graphic.css(i),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(i)})}t.isUpdating||N(t,"add")}destroy(){this.removeDocEvents(),I(this),this.hcEvents=null}mouseMoveToRadians(t,i,e){let s=t.prevChartY-e,o=t.prevChartX-i,n=t.chartY-e,a=t.chartX-i,r;return this.chart.inverted&&(r=o,o=s,s=r,r=a,a=n,n=r),Math.atan2(n,a)-Math.atan2(s,o)}mouseMoveToScale(t,i,e){let s=t.prevChartX-i,o=t.prevChartY-e,n=t.chartX-i,a=t.chartY-e,r=(n||1)/(s||1),h=(a||1)/(o||1);if(this.chart.inverted){let t=h;h=r,r=t}return{x:r,y:h}}mouseMoveToTranslation(t){let i=t.chartX-t.prevChartX,e=t.chartY-t.prevChartY,s;return this.chart.inverted&&(s=e,e=i,i=s),{x:i,y:e}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let i=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(i.y=0),"y"===this.options.draggable&&(i.x=0),this.points.length?this.translate(i.x,i.y):(this.shapes.forEach(t=>t.translate(i.x,i.y)),this.labels.forEach(t=>t.translate(i.x,i.y))),this.redraw(!1)}}onMouseDown(t){if(t.preventDefault&&t.preventDefault(),2===t.button)return;let i=this,e=i.chart.pointer,s=t?.sourceCapabilities?.firesTouchEvents||!1,o=(t=e?.normalize(t)||t).chartX,n=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=T(B,M||s?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=e?.normalize(t)||t).prevChartX=o,t.prevChartY=n,N(i,"drag",t),o=t.chartX,n=t.chartY},M||s?{passive:!1}:void 0),i.removeMouseUp=T(B,M||s?"touchend":"mouseup",function(){let t=L(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&N(L(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},M||s?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}},{merge:Y,pick:X}=u(),F=class extends S{constructor(t,i,e,s){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=e,this.index=X(e.index,s)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,i=this.options;this.graphic=t.renderer.symbol(i.symbol,0,0,i.width,i.height).add(t.controlPointsGroup).css(i.style),this.setVisibility(i.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){let i=this.chart,e=this.target,s=this.index,o=Y(!0,this.options,t);this.destroy(),this.constructor(i,e,o,s),this.render(i.controlPointsGroup),this.redraw()}};var R=c(512),U=c.n(R);let{series:{prototype:W}}=U(),{defined:H,fireEvent:V}=u();class j{static fromPoint(t){return new j(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,i){let e=t.series,s=e.chart,o=t.plotX||0,n=t.plotY||0,a;return s.inverted&&(t.mock?(o=t.plotY,n=t.plotX):(o=s.plotWidth-(t.plotY||0),n=s.plotHeight-(t.plotX||0))),e&&!i&&(o+=(a=e.getPlotBox()).translateX,n+=a.translateY),{x:o,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,i,e){this.mock=!0,this.point=this,this.series={visible:!0,chart:t,getPlotBox:W.getPlotBox},this.target=i||null,this.options=e,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,i=this.plotY,e=this.series.xAxis,s=this.series.yAxis,o={x:t,y:i,isInsidePlot:!0,options:{}};return e&&(o.isInsidePlot=H(t)&&t>=0&&t<=e.len),s&&(o.isInsidePlot=o.isInsidePlot&&H(i)&&i>=0&&i<=s.len),V(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,i=t.xAxis,e=t.yAxis,s=this.getOptions();i?(this.x=s.x,this.plotX=i.toPixels(s.x,!0)):(this.x=void 0,this.plotX=s.x),e?(this.y=s.y,this.plotY=e.toPixels(s.y,!0)):(this.y=null,this.plotY=s.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,i=t.xAxis,e=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=e?e.toValue(this.plotY,!0):this.plotY}rotate(t,i,e){if(!this.hasDynamicOptions()){let s=Math.cos(e),o=Math.sin(e),n=this.plotX-t,a=this.plotY-i;this.plotX=n*s-a*o+t,this.plotY=n*o+a*s+i,this.refreshOptions()}}scale(t,i,e,s){if(!this.hasDynamicOptions()){let o=this.plotX*e,n=this.plotY*s;this.plotX=(1-e)*t+o,this.plotY=(1-s)*i+n,this.refreshOptions()}}setAxis(t,i){let e=i+"Axis",s=t[e],o=this.series.chart;this.series[e]="object"==typeof s?s:H(s)?o[e][s]||o.get(s):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,i,e,s){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=s,this.refreshOptions())}}!function(t){function i(){let t=this.controlPoints,i=this.options.controlPoints||[];i.forEach((e,s)=>{let o=u().merge(this.options.controlPointOptions,e);o.index||(o.index=s),i[s]=o,t.push(new F(this.chart,this,o))})}function e(t){let i=t.series.getPlotBox(),e=t.series.chart,s=t.mock?t.toAnchor():e.tooltip&&e.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:s[0]+(this.options.x||0),y:s[1]+(this.options.y||0),height:s[2]||0,width:s[3]||0};return{relativePosition:o,absolutePosition:u().merge(o,{x:o.x+(t.mock?i.translateX:e.plotLeft),y:o.y+(t.mock?i.translateY:e.plotTop)})}}function s(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){let t=this.options;return t.points||t.point&&u().splat(t.point)}function n(){let t,i;let e=this.getPointsOptions(),s=this.points,o=e&&e.length||0;for(t=0;ti.redraw(t))}function h(){this.controlPoints.forEach(t=>t.render())}function l(t,i,e,s,o){if(this.chart.inverted){let t=i;i=e,e=t}this.points.forEach((n,a)=>this.transformPoint(t,i,e,s,o,a),this)}function c(t,i,e,s,o,n){let a=this.points[n];a.mock||(a=this.points[n]=j.fromPoint(a)),a[t](i,e,s,o)}function p(t,i){this.transform("translate",null,null,t,i)}function d(t,i,e){this.transformPoint("translate",null,null,t,i,e)}t.compose=function(t){let g=t.prototype;g.addControlPoints||u().merge(!0,g,{addControlPoints:i,anchor:e,destroyControlTarget:s,getPointsOptions:o,linkPoints:n,point:a,redrawControlPoints:r,renderControlPoints:h,transform:l,transformPoint:c,translate:p,translatePoint:d})}}(n||(n={}));let q=n,{merge:z}=u();class _{constructor(t,i,e,s){this.annotation=t,this.chart=t.chart,this.collection="label"===s?"labels":"shapes",this.controlPoints=[],this.options=i,this.points=[],this.index=e,this.itemType=s,this.init(t,i,e)}attr(...t){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let i,e;let s=this.constructor.attrsMap,o={},n=this.chart.styledMode;for(i in t)e=s[i],void 0===s[i]||n&&-1!==["fill","stroke","stroke-width"].indexOf(e)||(o[e]=t[i]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,i,e){this.annotation=t,this.chart=t.chart,this.options=i,this.points=[],this.controlPoints=[],this.index=e,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,i,e){this.transform("rotate",t,i,e)}scale(t,i,e,s){this.transform("scale",t,i,e,s)}setControlPointsVisibility(t){this.controlPoints.forEach(i=>{i.setVisibility(t)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,i,e){let s=this.annotation.chart,o=this.annotation.userOptions,n=s.annotations.indexOf(this.annotation),a=s.options.annotations[n];this.translatePoint(t,i,0),e&&this.translatePoint(t,i,1),a[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let i=this.annotation,e=z(!0,this.options,t),s=this.graphic.parentGroup,o=this.constructor;this.destroy(),z(!0,this,new o(i,e,this.index,this.itemType)),this.render(s),this.redraw()}}q.compose(_);let G=_,{defaultMarkers:K}={defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}},{addEvent:Z,defined:$,extend:J,merge:Q,uniqueKey:tt}=u(),ti=to("marker-end"),te=to("marker-start"),ts="rgba(192,192,192,"+(u().svg?1e-4:.002)+")";function to(t){return function(i){this.attr(t,"url(#"+i+")")}}function tn(){this.options.defs=Q(K,this.options.defs||{})}function ta(t,i){let e={attributes:{id:t}},s={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"};e.children=i.children&&i.children.map(function(t){return Q(s,t)});let o=Q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,e),n=this.definition(o);return n.id=t,n}class tr extends G{static compose(t,i){let e=i.prototype;e.addMarker||(Z(t,"afterGetContainer",tn),e.addMarker=ta)}constructor(t,i,e){super(t,i,e,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let i=this.points,e=i.length,s=[],o=e,n=i[0],a=o&&this.anchor(n).absolutePosition,r=0,h;if(a)for(s.push(["M",a.x,a.y]);++r{t.yAxis=i.yAxis}),tu(i.xAxis)&&i.points.forEach(t=>{t.xAxis=i.xAxis}),super.init(t,i,e)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,i){super.translateShape(t,i,!0)}getDistanceFromLine(t,i,e,s){return Math.abs((i.y-t.y)*e-(i.x-t.x)*s+i.x*t.y-i.y*t.x)/Math.sqrt((i.y-t.y)*(i.y-t.y)+(i.x-t.x)*(i.x-t.x))}getAttrs(t,i){let e=t.x,s=t.y,o=i.x,n=i.y,a=(e+o)/2,r=Math.sqrt((e-o)*(e-o)/4+(s-n)*(s-n)/4),h=180*Math.atan((n-s)/(o-e))/Math.PI;return ai+s?r.push(["L",t+l,i+s]):at+e&&r.push(["L",t+e,i+s/2])),r||[]}class tw extends G{static alignedPosition(t,i){return{x:Math.round((i.x||0)+(t.x||0)+(i.width-(t.width||0))*ty(t.align)),y:Math.round((i.y||0)+(t.y||0)+(i.height-(t.height||0))*ty(t.verticalAlign))}}static compose(t){t.prototype.symbols.connector=tk}static justifiedOptions(t,i,e,s){let o;let n=e.align,a=e.verticalAlign,r=i.box?0:i.padding||0,h=i.getBBox(),l={align:n,verticalAlign:a,x:e.x,y:e.y,width:i.width,height:i.height},c=(s.x||0)-t.plotLeft,p=(s.y||0)-t.plotTop;return(o=c+r)<0&&("right"===n?l.align="left":l.x=(l.x||0)-o),(o=c+h.width-r)>t.plotWidth&&("left"===n?l.align="right":l.x=(l.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?l.verticalAlign="top":l.y=(l.y||0)-o),(o=p+h.height-r)>t.plotHeight&&("top"===a?l.verticalAlign="bottom":l.y=(l.y||0)+t.plotHeight-o),l}constructor(t,i,e){super(t,i,e,"label")}translatePoint(t,i){super.translatePoint(t,i,0)}translate(t,i){let e=this.annotation.chart,s=this.annotation.userOptions,o=e.annotations.indexOf(this.annotation),n=e.options.annotations[o];if(e.inverted){let e=t;t=i,i=e}this.options.x+=t,this.options.y+=i,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y,s[this.collection][this.index].x=this.options.x,s[this.collection][this.index].y=this.options.y}render(t){let i=this.options,e=this.attrsFromOptions(i),s=i.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,i.shape,null,null,i.useHTML,null,"annotation-label").attr(e).add(t),this.annotation.chart.styledMode||("contrast"===s.color&&(s.color=this.annotation.chart.renderer.getContrast(tw.shapesWithoutBackground.indexOf(i.shape)>-1?"#FFFFFF":i.backgroundColor)),this.graphic.css(i.style).shadow(i.shadow)),this.graphic.labelrank=i.labelrank,super.render()}redraw(t){let i=this.options,e=this.text||i.format||i.text,s=this.graphic,o=this.points[0];if(!s){this.redraw(t);return}s.attr({text:e?tx(String(e),o,this.annotation.chart):i.formatter.call(o,this)});let n=this.anchor(o),a=this.position(n);a?(s.alignAttr=a,a.anchorX=n.absolutePosition.x,a.anchorY=n.absolutePosition.y,s[t?"animate":"attr"](a)):s.attr({x:0,y:-9999}),s.placed=!!a,super.redraw(t)}anchor(t){let i=super.anchor.apply(this,arguments),e=this.options.x||0,s=this.options.y||0;return i.absolutePosition.x-=e,i.absolutePosition.y-=s,i.relativePosition.x-=e,i.relativePosition.y-=s,i}position(t){let i=this.graphic,e=this.annotation.chart,s=e.tooltip,o=this.points[0],n=this.options,a=t.absolutePosition,r=t.relativePosition,h,l,c,p,d=o.series.visible&&j.prototype.isInsidePlot.call(o);if(i&&d){let{width:t=0,height:u=0}=i;n.distance&&s?h=s.getPosition.call({chart:e,distance:tA(n.distance,16),getPlayingField:s.getPlayingField,pointer:s.pointer},t,u,{plotX:r.x,plotY:r.y,negative:o.negative,ttBelow:o.ttBelow,h:r.height||r.width}):n.positioner?h=n.positioner.call(this):(l={x:a.x,y:a.y,width:0,height:0},h=tw.alignedPosition(tv(n,{width:t,height:u}),l),"justify"===this.options.overflow&&(h=tw.alignedPosition(tw.justifiedOptions(e,i,n,h),l))),n.crop&&(c=h.x-e.plotLeft,p=h.y-e.plotTop,d=e.isInsidePlot(c,p)&&e.isInsidePlot(c+t,p+u))}return d?h:null}}tw.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},tw.shapesWithoutBackground=["connector"];class tC extends G{constructor(t,i,e){super(t,i,e,"shape"),this.type="image",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options),e=this.options;this.graphic=this.annotation.chart.renderer.image(e.src,0,-9e9,e.width,e.height).attr(i).add(t),this.graphic.width=e.width,this.graphic.height=e.height,super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]),e=tw.prototype.position.call(this,i);e?this.graphic[t?"animate":"attr"]({x:e.x,y:e.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!e}super.redraw(t)}}tC.attrsMap={width:"width",height:"height",zIndex:"zIndex"};var tE=c(660),tP=c.n(tE);let{addEvent:tO,createElement:tB}=u(),tM=class{constructor(t,i){this.iconsURL=i,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}createPopupContainer(t,i="highcharts-popup highcharts-no-tooltip"){return tB("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,e=this.iconsURL,s=tB("button",{className:t},void 0,this.container);return s.style["background-image"]="url("+(e.match(/png|svg|jpeg|jpg|gif/ig)?e:e+"close.svg")+")",["click","touchstart"].forEach(t=>{tO(s,t,i.closeButtonEvents.bind(i))}),tO(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),s}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let i=this.container,e=this.closeButton;this.type=void 0,i.innerHTML=tP().emptyHTML,i.className.indexOf(t)>=0&&(i.classList.remove(t),i.removeAttribute("style")),i.appendChild(e),i.style.display="block",i.style.height=""}closePopup(){this.container.style.display="none"}},{doc:tT,isFirefox:tN}=u(),{createElement:tD,isArray:tL,isObject:tI,objectEach:tS,pick:tY,stableSort:tX}=u();function tF(t,i,e,s,o,n){let a,r;if(!i)return;let h=this.addInput,l=this.lang;tS(s,(s,n)=>{a=""!==e?e+"."+n:n,tI(s)&&(!tL(s)||tL(s)&&tI(s[0])?((r=l[n]||n).match(/\d/g)||o.push([!0,r,t]),tF.call(this,t,i,a,s,o,!1)):o.push([this,a,"annotation",t,s]))}),n&&(tX(o,t=>t[1].match(/format/g)?-1:1),tN&&o.reverse(),o.forEach(t=>{!0===t[0]?tD("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(tT.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},h.apply(t[0],t.splice(1)))}))}let{doc:tR}=u(),{seriesTypes:tU}=U(),{addEvent:tW,createElement:tH,defined:tV,isArray:tj,isObject:tq,objectEach:tz,stableSort:t_}=u();!function(t){t[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average"}(a||(a={}));let tG={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function tK(t){let i=tH("div",{className:"highcharts-popup-lhs-col"},void 0,t),e=tH("div",{className:"highcharts-popup-rhs-col"},void 0,t);return tH("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,e),{lhsCol:i,rhsCol:e}}function tZ(t,i,e,s){let o=i.params||i.options.params;s.innerHTML=tP().emptyHTML,tH("h3",{className:"highcharts-indicator-title"},void 0,s).appendChild(tR.createTextNode(t4(i,e).indicatorFullName)),tH("input",{type:"hidden",name:"highcharts-type-"+e,value:e},void 0,s),t5.call(this,e,"series",t,s,i,i.linkedParent&&i.linkedParent.options.id),o.volumeSeriesID&&t5.call(this,e,"volume",t,s,i,i.linkedParent&&o.volumeSeriesID),tJ.call(this,t,"params",o,e,s)}function t$(t,i,e,s){function o(i,e){let s=g.parentNode.children[1];tZ.call(n,t,i,e,g),s&&(s.style.display="block"),l&&i.options&&tH("input",{type:"hidden",name:"highcharts-id-"+e,value:i.options.id},void 0,g).setAttribute("highcharts-data-series-id",i.options.id)}let n=this,a=n.lang,r=i.querySelectorAll(".highcharts-popup-lhs-col")[0],h=i.querySelectorAll(".highcharts-popup-rhs-col")[0],l="edit"===e,c=l?t.series:t.options.plotOptions||{};if(!t&&c)return;let p,d=[];l||tj(c)?tj(c)&&(d=t2.call(this,c)):d=t9.call(this,c,s),t_(d,(t,i)=>{let e=t.indicatorFullName.toLowerCase(),s=i.indicatorFullName.toLowerCase();return es?1:0}),r.children[1]&&r.children[1].remove();let u=tH("ul",{className:"highcharts-indicator-list"},void 0,r),g=h.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(d.forEach(t=>{let{indicatorFullName:i,indicatorType:e,series:s}=t;p=tH("li",{className:"highcharts-indicator-list"},void 0,u);let n=tH("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,p);["click","touchstart"].forEach(t=>{tW(n,t,function(){o(s,e)})})}),d.length>0){let{series:t,indicatorType:i}=d[0];o(t,i)}else l||(tP().setElementHTML(g.parentNode.children[0],a.noFilterMatch||""),g.parentNode.children[1].style.display="none")}function tJ(t,i,e,s,o){if(!t)return;let n=this.addInput;tz(e,(e,r)=>{let h=i+"."+r;if(tV(e)&&h){if(tq(e)&&(n.call(this,h,s,o,{}),tJ.call(this,t,h,e,s,o)),h in a){let n=t0.call(this,s,h,o);t1.call(this,t,i,n,s,r,e)}else"params.volumeSeriesID"===h||tj(e)||n.call(this,h,s,o,{value:e,type:"number"})}})}function tQ(t,i){let e=this,s=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=tH("div",{className:"highcharts-input-wrapper"},void 0,s),a=function(i){t$.call(e,t,e.container,"add",i)},r=this.addInput("searchIndicators","input",n,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),h=tH("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),h.classList.add("clear-filter-button"),tW(r,"input",function(){a(this.value),this.value.length?h.style.display="inline-block":h.style.display="none"}),["click","touchstart"].forEach(t=>{tW(h,t,function(){r.value="",a(""),h.style.display="none"})})}function t0(t,i,e){let s=i.split("."),o=s[s.length-1],n="highcharts-"+i+"-type-"+t,a=this.lang;tH("label",{htmlFor:n},null,e).appendChild(tR.createTextNode(a[o]||i));let r=tH("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,e);return r.setAttribute("id","highcharts-select-"+i),r}function t1(t,i,e,s,o,n,a){"series"===i||"volume"===i?t.series.forEach(t=>{let s=t.options,o=s.name||s.params?t.name:s.id||"";"highcharts-navigator-series"!==s.id&&s.id!==(a&&a.options&&a.options.id)&&(tV(n)||"volume"!==i||"column"!==t.type||(n=s.id),tH("option",{value:s.id},void 0,e).appendChild(tR.createTextNode(o)))}):s&&o&&tG[o+"-"+s].forEach(t=>{tH("option",{value:t},void 0,e).appendChild(tR.createTextNode(t))}),tV(n)&&(e.value=n)}function t9(t,i){let e;let s=this.chart&&this.chart.options.lang,o=s&&s.navigation&&s.navigation.popup&&s.navigation.popup.indicatorAliases,n=[];return tz(t,(t,s)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=t4(t,s);if(i){let s=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),h=o&&o[r]&&o[r].join(" ")||"";(a.match(s)||h.match(s))&&(e={indicatorFullName:a,indicatorType:r,series:t},n.push(e))}else e={indicatorFullName:a,indicatorType:r,series:t},n.push(e)}}),n}function t2(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function t4(t,i){let e=t.options,s=tU[i]&&tU[i].prototype.nameBase||i.toUpperCase(),o=i;return e&&e.type&&(o=t.options.type,s=t.name),{indicatorFullName:s,indicatorType:o}}function t5(t,i,e,s,o,n){if(!e)return;let a=t0.call(this,t,i,s);t1.call(this,e,i,a,void 0,void 0,void 0,o),tV(n)&&(a.value=n)}let{doc:t6}=u(),{addEvent:t7,createElement:t3}=u();function t8(){return t3("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function it(t,i){let e=this.container,s=this.lang,o="highcharts-tab-item";0===i&&(o+=" highcharts-tab-disabled");let n=t3("button",{className:o},void 0,e);return n.appendChild(t6.createTextNode(s[t+"Button"]||t)),n.setAttribute("highcharts-data-tab-type",t),n}function ii(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),e=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t{(0!==t||"edit"!==e.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{t7(e,t,function(){ii.call(i),ie.call(i,this,s)})})})}let{doc:io}=u(),{getOptions:ia}=u(),{addEvent:ir,createElement:ih,extend:il,fireEvent:ic,pick:ip}=u();class id extends tM{constructor(t,i,e){super(t,i),this.chart=e,this.lang=(ia().lang.navigation||{}).popup||{},ir(this.container,"mousedown",()=>{let t=e&&e.navigationBindings&&e.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=ir(io,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,e,s){let o=t.split("."),n=o[o.length-1],a=this.lang,r="highcharts-"+i+"-"+ip(s.htmlFor,n);n.match(/^\d+$/)||ih("label",{htmlFor:r,className:s.labelClassName},void 0,e).appendChild(io.createTextNode(a[n]||n));let h=ih("input",{name:r,value:s.value,type:s.type,className:"highcharts-popup-field"},void 0,e);return h.setAttribute("highcharts-data-name",t),h}closeButtonEvents(){if(this.chart){let t=this.chart.navigationBindings;ic(t,"closePopup"),t&&t.selectedButtonElement&&ic(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,e,s,o){let n=ih("button",void 0,void 0,t);return n.appendChild(io.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{ir(n,t,()=>(this.closePopup(),o(function(t,i){let e=Array.prototype.slice.call(t.querySelectorAll("input")),s=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],n=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],a={actionType:i,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return e.forEach(t=>{let i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?a.seriesId=t.value:i?a.fields[i]=t.value:a.type=t.value}),s.forEach(t=>{let i=t.id;if("highcharts-select-series"!==i&&"highcharts-select-volume"!==i){let e=i.split("highcharts-select-")[1];a.fields[e]=t.value}}),n&&(a.fields["params.volumeSeriesID"]=n.getAttribute("value")||""),a}(s,e))))}),n}showForm(t,i,e,s){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,e,s),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,e,s),"annotation-edit"===t&&this.annotations.addForm.call(this,i,e,s),"flag"===t&&this.annotations.addForm.call(this,i,e,s,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}il(id.prototype,{annotations:{addForm:function(t,i,e,s){if(!t)return;let o=this.container,n=this.lang,a=tD("h2",{className:"highcharts-popup-main-title"},void 0,o);a.appendChild(tT.createTextNode(n[i.langKey]||i.langKey||"")),a=tD("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,o);let r=tD("div",{className:"highcharts-popup-bottom-row"},void 0,o);tF.call(this,a,t,"",i,[],!0),this.addButton(r,s?n.addButton||"Add":n.saveButton||"Save",s?"add":"save",o,e)},addToolbar:function(t,i,e){let s=this.lang,o=this.container,n=this.showForm,a="highcharts-annotation-toolbar";-1===o.className.indexOf(a)&&(o.className+=" "+a+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px");let r=tD("p",{className:"highcharts-annotation-label"},void 0,o);r.setAttribute("aria-label","Annotation type"),r.appendChild(tT.createTextNode(tY(s[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let h=this.addButton(o,s.editButton||"Edit","edit",o,()=>{n.call(this,"annotation-edit",t,i,e)});h.className+=" highcharts-annotation-edit-button",h.style["background-image"]="url("+this.iconsURL+"edit.svg)",h=this.addButton(o,s.removeButton||"Remove","remove",o,e),h.className+=" highcharts-annotation-remove-button",h.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}},indicators:{addForm:function(t,i,e){let s;let o=this.lang;if(!t)return;this.tabs.init.call(this,t);let n=this.container.querySelectorAll(".highcharts-tab-item-content");tK(n[0]),tQ.call(this,t,n[0]),t$.call(this,t,n[0],"add"),s=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.addButton||"add","add",s,e),tK(n[1]),t$.call(this,t,n[1],"edit"),s=n[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.saveButton||"save","edit",s,e),this.addButton(s,o.removeButton||"remove","remove",s,e)},getAmount:function(){let t=0;return this.series.forEach(i=>{(i.params||i.options.params)&&t++}),t}},tabs:{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),e=it.call(this,"add");it.call(this,"edit",i),t8.call(this),t8.call(this),is.call(this,i),ie.call(this,e,0)}}});let{composed:iu}=u(),{addEvent:ig,pushUnique:im,wrap:ix}=u();function iv(){this.popup&&this.popup.closePopup()}function iy(t){this.popup||(this.popup=new id(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/12.1.1/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function ib(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}let iA={compose:function(t,i){im(iu,"Popup")&&(ig(t,"closePopup",iv),ig(t,"showPopup",iy),ix(i.prototype,"onContainerMouseDown",ib))}},{getDeferredAnimation:ik}=u(),{destroyObjectProperties:iw,erase:iC,fireEvent:iE,merge:iP,pick:iO,splat:iB}=u();function iM(t,i){let e={};return["labels","shapes"].forEach(s=>{let o=t[s],n=i[s];o&&(n?e[s]=iB(n).map((t,i)=>iP(o[i],t)):e[s]=t[s])}),e}class iT extends S{static compose(t,i,e,s){P.compose(iT,t,e),tw.compose(s),tr.compose(t,s),i.compose(iT,t),iA.compose(i,e)}constructor(t,i){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=iP(this.defaultOptions,i),this.userOptions=i;let e=iM(this.options,i);this.options.labels=e.labels,this.options.shapes=e.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let t=this.options.labels||[];t.forEach((i,e)=>{let s=this.initLabel(i,e);iP(!0,t[e],s.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,e)=>{let s=this.initShape(i,e);iP(!0,t[e],s.options)})}destroy(){let t=this.chart,i=function(t){t.destroy()};this.labels.forEach(i),this.shapes.forEach(i),this.clipXAxis=null,this.clipYAxis=null,iC(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),iw(this,t)}destroyItem(t){iC(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,i){this.setOptions(i);let e=iM(this.options,i);this.options.labels=e.labels,this.options.shapes=e.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]}init(t,i,e=this.index){let s=this.chart,o=this.options.animation;this.index=e,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=ik(s,o)}initLabel(t,i){let e=new tw(this,iP(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return e.itemType="label",this.labels.push(e),e}initShape(t,i){let e=iP(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),s=new iT.shapesMap[e.type](this,e,i);return s.itemType="shape",this.shapes.push(s),s}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(t,i){t.linkPoints(),t.shouldBeDrawn()?(t.graphic||this.renderItem(t),t.redraw(iO(i,!0)&&t.graphic.placed),t.points.length&&function(t){let i=t.graphic,e=t.points.some(t=>!1!==t.series.visible&&!1!==t.visible);i&&(e?"hidden"===i.visibility&&i.show():i.hide())}(t)):this.destroyItem(t)}redrawItems(t,i){let e=t.length;for(;e--;)this.redrawItem(t[e],i)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic),this.addClipPaths(),this.clipRect&&this.graphic.clip(this.clipRect),this.renderItems(this.shapes),this.renderItems(this.labels),this.addEvents(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let i=t.length;for(;i--;)this.renderItem(t[i])}setClipAxes(){let t=this.chart.xAxis,i=this.chart.yAxis,e=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((e,s)=>{let o=s&&(s.point||s.points&&s.points[0]);return[t[o&&o.xAxis]||e[0],i[o&&o.yAxis]||e[1]]},[]);this.clipXAxis=e[0],this.clipYAxis=e[1]}setControlPointsVisibility(t){let i=function(i){i.setControlPointsVisibility(t)};this.controlPoints.forEach(i=>{i.setVisibility(t)}),this.shapes.forEach(i),this.labels.forEach(i)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=iP(this.defaultOptions,t)}setVisibility(t){let i=this.options,e=this.chart.navigationBindings,s=iO(t,!i.visible);if(this.graphic.attr("visibility",s?"inherit":"hidden"),!s){let t=function(t){t.setControlPointsVisibility(s)};this.shapes.forEach(t),this.labels.forEach(t),e.activeAnnotation===this&&e.popup&&"annotation-toolbar"===e.popup.type&&iE(e,"closePopup")}i.visible=s}update(t,i){let e=this.chart,s=iM(this.userOptions,t),o=e.annotations.indexOf(this),n=iP(!0,this.userOptions,t);n.labels=s.labels,n.shapes=s.shapes,this.destroy(),this.initProperties(e,n),this.init(e,n),e.options.annotations[o]=this.options,this.isUpdating=!0,iO(i,!0)&&e.drawAnnotations(),iE(this,"afterUpdate"),this.isUpdating=!1}}iT.ControlPoint=F,iT.MockPoint=j,iT.shapesMap={rect:tl,circle:tp,ellipse:tg,path:tr,image:tC},iT.types={},iT.prototype.defaultOptions={visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return O(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6},iT.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],q.compose(iT),function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(r||(r={}));let iN=r,{defined:iD,isNumber:iL,pick:iI}=u(),iS={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},iY={annotationsFieldsTypes:iS,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),e=i.min,s=i.max,o=iI(t.axis.minPointOffset,0);return iL(e)&&iL(s)&&t.value>=e-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let e=iS[t],s=typeof i;return iD(e)&&(s=e),({string:"text",number:"number",boolean:"checkbox"})[s]}},{getAssignedAxis:iX}=iY,{isNumber:iF,merge:iR}=u(),iU={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:s.value,xAxis:e.axis.index,yAxis:s.axis.index},r:5}]},o.annotationsOptions,o.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let s=i.options.shapes,o=s&&s[0]&&s[0].point||{};if(iF(o.xAxis)&&iF(o.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);e=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:s.axis.index,points:[{x:e.value,y:s.value},{x:e.value,y:s.value}],ry:1}]},o.annotationsOptions,o.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),o=e.getAbsolutePosition(e.points[1]),n=e.getDistanceFromLine(s,o,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(n));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis);if(!e||!s)return;let o=e.value,n=s.value,a=e.axis.index,r=s.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(iR({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{xAxis:a,yAxis:r,x:o,y:n},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],o=this.chart.pointer?.getCoordinates(t),n=o&&iX(o.xAxis),a=o&&iX(o.yAxis);if(n&&a){let t=n.value,e=a.value;s[1].x=t,s[2].x=t,s[2].y=e,s[3].y=e,i.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&iX(i.xAxis),s=i&&iX(i.yAxis),o=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(iR({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:s.axis.index,x:e.value,y:s.value}}]},o.annotationsOptions,o.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:iW}=u(),{format:iH}=tf(),{composed:iV,doc:ij,win:iq}=u(),{getAssignedAxis:iz,getFieldType:i_}=iY,{addEvent:iG,attr:iK,defined:iZ,fireEvent:i$,isArray:iJ,isFunction:iQ,isNumber:i0,isObject:i1,merge:i9,objectEach:i2,pick:i4,pushUnique:i5}=u();function i6(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function i7(){this.navigationBindings&&this.navigationBindings.destroy()}function i3(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new es(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function i8(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];i2(t.boundClassNames,(t,o)=>{let n=s.querySelectorAll("."+o);if(n)for(let s=0;s=4||o.call(this,t)}})}class es{static compose(t,i){i5(iV,"NavigationBindings")&&(iG(t,"remove",i6),ee(t),i2(t.types,t=>{ee(t)}),iG(i,"destroy",i7),iG(i,"load",i3),iG(i,"render",i8),iG(es,"closePopup",et),iG(es,"deselectButton",ei),iW(iU))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=ij.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&iz(i.xAxis),i&&iz(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,s=t.options;t.boundClassNames={},i2(s.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(iG(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),i2(s.events||{},(i,e)=>{iQ(i)&&t.eventsToUnbind.push(iG(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(iG(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(iG(i.container,u().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},u().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;iN.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,e){let s=this.chart,o=s.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),i$(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),n?(this.selectedButton=i,this.selectedButtonElement=t,i$(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,o=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=iq.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,o=null;if(e.closest)o=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return o}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):i$(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(i$(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(i$(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return i2(t,(t,e)=>{let s=parseFloat(t),o=e.split("."),n=o.length-1;if(!i0(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;o.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=i4(o[s+1],"");n===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=es.annotationsEditable,s=e.nestedOptions,o=i4(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=es.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,e,o,a,h){let l;o&&iZ(i)&&-1===n.indexOf(e)&&((o.indexOf&&o.indexOf(e))>=0||o[e]||!0===o)&&(iJ(i)?(a[e]=[],i.forEach((t,i)=>{i1(t)?(a[e][i]={},i2(t,(t,o)=>{r(t,o,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):i1(i)?(l={},iJ(a)?(a.push(l),l[e]={},l=l[e]):a[e]=l,i2(i,(t,i)=>{r(t,i,0===e?o:s[e],l,e)})):"format"===e?a[e]=[iH(i,t.labels[0].points[0]).toString(),"text"]:iJ(a)?a.push([i,i_(h,i)]):a[e]=[i,i_(e,i)])}return i2(i,(t,n)=>{"typeOptions"===n?(a[n]={},i2(i[n],(t,i)=>{r(t,i,s,a[n],i)})):r(t,n,e[o],a,n)}),a}getClickedClassNames(t,i){let e=i.target,s=[],o;for(;e&&e.tagName&&((o=iK(e,"class"))&&(s=s.concat(o.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=i9(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}es.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},es.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};let eo=u();eo.Annotation=eo.Annotation||iT,eo.NavigationBindings=eo.NavigationBindings||es,eo.Annotation.compose(eo.Chart,eo.NavigationBindings,eo.Pointer,eo.SVGRenderer);let en=u();return p.default})()); \ No newline at end of file diff --git a/modules/annotations.src.js b/modules/annotations.src.js index 691480edbd..6b2c7b2eea 100644 --- a/modules/annotations.src.js +++ b/modules/annotations.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/annotations * @requires highcharts * @@ -5052,7 +5052,7 @@ function onNavigationBindingsShowPopup(config) { this.popup = new Popup_Popup(this.chart.container, (this.chart.options.navigation.iconsURL || (this.chart.options.stockTools && this.chart.options.stockTools.gui.iconsURL) || - 'https://code.highcharts.com/12.1.0/gfx/stock-icons/'), this.chart); + 'https://code.highcharts.com/12.1.1/gfx/stock-icons/'), this.chart); } this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit); } @@ -6234,7 +6234,7 @@ const navigation = { * from a different server. * * @type {string} - * @default https://code.highcharts.com/12.1.0/gfx/stock-icons/ + * @default https://code.highcharts.com/12.1.1/gfx/stock-icons/ * @since 7.1.3 * @apioption navigation.iconsURL */ diff --git a/modules/arc-diagram.js b/modules/arc-diagram.js index 3b2b7514f8..ea365d3d1d 100644 --- a/modules/arc-diagram.js +++ b/modules/arc-diagram.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module modules/arc-diagram * @requires highcharts/modules/sankey * diff --git a/modules/arc-diagram.src.js b/modules/arc-diagram.src.js index a6ed6252e0..8bcfb180e7 100644 --- a/modules/arc-diagram.src.js +++ b/modules/arc-diagram.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module modules/arc-diagram * @requires highcharts/modules/sankey * diff --git a/modules/arrow-symbols.js b/modules/arrow-symbols.js index d74cda001a..50b9e37ab4 100644 --- a/modules/arrow-symbols.js +++ b/modules/arrow-symbols.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/arrow-symbols * @requires highcharts * diff --git a/modules/arrow-symbols.src.js b/modules/arrow-symbols.src.js index e390f00a02..a9574d5565 100644 --- a/modules/arrow-symbols.src.js +++ b/modules/arrow-symbols.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/arrow-symbols * @requires highcharts * diff --git a/modules/boost-canvas.js b/modules/boost-canvas.js index 0d87410ef3..edf0b4a76e 100644 --- a/modules/boost-canvas.js +++ b/modules/boost-canvas.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/boost-canvas * @requires highcharts * diff --git a/modules/boost-canvas.src.js b/modules/boost-canvas.src.js index 3eca3806a3..38b20e7361 100644 --- a/modules/boost-canvas.src.js +++ b/modules/boost-canvas.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/boost-canvas * @requires highcharts * diff --git a/modules/boost.js b/modules/boost.js index 8695815cd1..b40371c875 100644 --- a/modules/boost.js +++ b/modules/boost.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/boost * @requires highcharts * diff --git a/modules/boost.src.js b/modules/boost.src.js index 13b4624125..387cfc692b 100644 --- a/modules/boost.src.js +++ b/modules/boost.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/boost * @requires highcharts * diff --git a/modules/broken-axis.js b/modules/broken-axis.js index 600d4a2818..0eef297426 100644 --- a/modules/broken-axis.js +++ b/modules/broken-axis.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/broken-axis * @requires highcharts * diff --git a/modules/broken-axis.src.js b/modules/broken-axis.src.js index a0b4f8072a..f134346933 100644 --- a/modules/broken-axis.src.js +++ b/modules/broken-axis.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/broken-axis * @requires highcharts * diff --git a/modules/bullet.js b/modules/bullet.js index 52c8afbb6c..625050761e 100644 --- a/modules/bullet.js +++ b/modules/bullet.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/bullet * @requires highcharts * diff --git a/modules/bullet.src.js b/modules/bullet.src.js index ff98929fbb..abddf3f6c3 100644 --- a/modules/bullet.src.js +++ b/modules/bullet.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/bullet * @requires highcharts * diff --git a/modules/coloraxis.js b/modules/coloraxis.js index 7b05e12e5b..c734a75151 100644 --- a/modules/coloraxis.js +++ b/modules/coloraxis.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * diff --git a/modules/coloraxis.src.js b/modules/coloraxis.src.js index ba5af724f2..8c18ea6095 100644 --- a/modules/coloraxis.src.js +++ b/modules/coloraxis.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * diff --git a/modules/current-date-indicator.js b/modules/current-date-indicator.js index f3a80fb1a8..871b4021ce 100644 --- a/modules/current-date-indicator.js +++ b/modules/current-date-indicator.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/current-date-indicator * @requires highcharts * diff --git a/modules/current-date-indicator.src.js b/modules/current-date-indicator.src.js index b3b0a2e698..2177ae349a 100644 --- a/modules/current-date-indicator.src.js +++ b/modules/current-date-indicator.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/current-date-indicator * @requires highcharts * diff --git a/modules/cylinder.js b/modules/cylinder.js index 03eeb66321..7907e597b5 100644 --- a/modules/cylinder.js +++ b/modules/cylinder.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/cylinder * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/cylinder.src.js b/modules/cylinder.src.js index 2543c268fe..500190b0e7 100644 --- a/modules/cylinder.src.js +++ b/modules/cylinder.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/cylinder * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/data-tools.js b/modules/data-tools.js index f1c8fb9852..39088d3143 100644 --- a/modules/data-tools.js +++ b/modules/data-tools.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/data-tools * @requires highcharts * diff --git a/modules/data-tools.src.js b/modules/data-tools.src.js index eb401e4d3a..d9e3888fc4 100644 --- a/modules/data-tools.src.js +++ b/modules/data-tools.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/data-tools * @requires highcharts * diff --git a/modules/data.js b/modules/data.js index de095c4c00..7b96b32177 100644 --- a/modules/data.js +++ b/modules/data.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/data * @requires highcharts * diff --git a/modules/data.src.js b/modules/data.src.js index 475c52cd00..36b984db91 100644 --- a/modules/data.src.js +++ b/modules/data.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/data * @requires highcharts * diff --git a/modules/datagrouping.js b/modules/datagrouping.js index de76ed0376..e0cf8b779d 100644 --- a/modules/datagrouping.js +++ b/modules/datagrouping.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/datagrouping * @requires highcharts * diff --git a/modules/datagrouping.src.js b/modules/datagrouping.src.js index f883139e24..29088e0b65 100644 --- a/modules/datagrouping.src.js +++ b/modules/datagrouping.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/datagrouping * @requires highcharts * diff --git a/modules/debugger.js b/modules/debugger.js index c4b3ade210..e8f5fa92ea 100644 --- a/modules/debugger.js +++ b/modules/debugger.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/debugger * @requires highcharts * diff --git a/modules/debugger.src.js b/modules/debugger.src.js index e3e058e39f..780472ce85 100644 --- a/modules/debugger.src.js +++ b/modules/debugger.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/debugger * @requires highcharts * diff --git a/modules/dependency-wheel.js b/modules/dependency-wheel.js index 5740138be0..d0a7a65935 100644 --- a/modules/dependency-wheel.js +++ b/modules/dependency-wheel.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dependency-wheel * @requires highcharts * @requires highcharts/modules/sankey diff --git a/modules/dependency-wheel.src.js b/modules/dependency-wheel.src.js index cbf2d3256b..2dc22022ca 100644 --- a/modules/dependency-wheel.src.js +++ b/modules/dependency-wheel.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dependency-wheel * @requires highcharts * @requires highcharts/modules/sankey diff --git a/modules/dotplot.js b/modules/dotplot.js index 46f9bf1e1c..862183e5c8 100644 --- a/modules/dotplot.js +++ b/modules/dotplot.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dotplot * @requires highcharts * diff --git a/modules/dotplot.src.js b/modules/dotplot.src.js index a5e297335e..63f55c86eb 100644 --- a/modules/dotplot.src.js +++ b/modules/dotplot.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dotplot * @requires highcharts * diff --git a/modules/drag-panes.js b/modules/drag-panes.js index 6f7cad6d49..945087e1b6 100644 --- a/modules/drag-panes.js +++ b/modules/drag-panes.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/drag-panes * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/drag-panes.src.js b/modules/drag-panes.src.js index 8b7c37aeee..ed83649f1b 100644 --- a/modules/drag-panes.src.js +++ b/modules/drag-panes.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/drag-panes * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/draggable-points.js b/modules/draggable-points.js index c0e62b0099..7c5e14707b 100644 --- a/modules/draggable-points.js +++ b/modules/draggable-points.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/draggable-points * @requires highcharts * diff --git a/modules/draggable-points.src.js b/modules/draggable-points.src.js index 56332a904d..baf0fce883 100644 --- a/modules/draggable-points.src.js +++ b/modules/draggable-points.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/draggable-points * @requires highcharts * diff --git a/modules/drilldown.js b/modules/drilldown.js index ff41042d3c..b25837f971 100644 --- a/modules/drilldown.js +++ b/modules/drilldown.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/drilldown * @requires highcharts * diff --git a/modules/drilldown.src.js b/modules/drilldown.src.js index b038a0b93c..d19eecc07e 100644 --- a/modules/drilldown.src.js +++ b/modules/drilldown.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/drilldown * @requires highcharts * diff --git a/modules/dumbbell.js b/modules/dumbbell.js index 1c0b279964..18702aed5c 100644 --- a/modules/dumbbell.js +++ b/modules/dumbbell.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dumbbell * @requires highcharts * diff --git a/modules/dumbbell.src.js b/modules/dumbbell.src.js index 4550d0dfda..ab75b5a6c9 100644 --- a/modules/dumbbell.src.js +++ b/modules/dumbbell.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/dumbbell * @requires highcharts * diff --git a/modules/export-data.js b/modules/export-data.js index d93aa6faaa..b1c67846c7 100644 --- a/modules/export-data.js +++ b/modules/export-data.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/export-data * @requires highcharts * @requires highcharts/modules/exporting diff --git a/modules/export-data.src.js b/modules/export-data.src.js index bf23dd59b3..7e08187da3 100644 --- a/modules/export-data.src.js +++ b/modules/export-data.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/export-data * @requires highcharts * @requires highcharts/modules/exporting diff --git a/modules/exporting.js b/modules/exporting.js index 0f00085edc..f9a12e3223 100644 --- a/modules/exporting.js +++ b/modules/exporting.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/exporting * @requires highcharts * @@ -8,4 +8,4 @@ * (c) 2010-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart):"function"==typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts/highcharts"],function(e){return t(e,e.AST,e.Chart)}):"object"==typeof exports?exports["highcharts/modules/exporting"]=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart):e.Highcharts=t(e.Highcharts,e.Highcharts.AST,e.Highcharts.Chart)}("undefined"==typeof window?this:window,(e,t,n)=>(()=>{"use strict";var i,o,r,s={660:e=>{e.exports=t},960:e=>{e.exports=n},944:t=>{t.exports=e}},l={};function a(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return s[e](n,n.exports,a),n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var c={};a.d(c,{default:()=>J});var p=a(944),h=a.n(p),u=a(660),d=a.n(u);a(960),function(e){e.compose=function(e){return e.navigation||(e.navigation=new t(e)),e};class t{constructor(e){this.updates=[],this.chart=e}addUpdate(e){this.chart.navigation.updates.push(e)}update(e,t){this.updates.forEach(n=>{n.call(this.chart,e,t)})}}e.Additions=t}(i||(i={}));let g=i,{isTouchDevice:f}=h(),m={exporting:{allowTableSorting:!0,type:"image/png",url:"https://export-svg.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"],y:-5}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:f?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(e){let t=[];function n(e,t,n,i){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+i/2+.5],["L",e+n,t+i/2+.5],["M",e,t+i-1.5],["L",e+n,t+i-1.5]]}function i(e,t,n,i){let o=i/3-2;return[].concat(this.circle(n-o,t,o,o),this.circle(n-o,t+o+4,o,o),this.circle(n-o,t+2*(o+4),o,o))}e.compose=function(e){if(-1===t.indexOf(e)){t.push(e);let o=e.prototype.symbols;o.menu=n,o.menuball=i.bind(o)}}}(o||(o={}));let x=o,{composed:y}=h(),{addEvent:b,fireEvent:v,pushUnique:w}=h();function S(){this.fullscreen=new E(this)}class E{static compose(e){w(y,"Fullscreen")&&b(e,"beforeRender",S)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;v(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;v(t,"fullscreenOpen",null,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=b(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),i=b(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),i()};let o=t.renderTo[e.browserProps.requestFullscreen]();o&&o.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;if(n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t){let e=t[i.indexOf("viewFullscreen")];e&&d().setElementHTML(e,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}let{win:C}=h(),{discardElement:T,objectEach:O}=h(),F={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},n=new XMLHttpRequest;function i(t,n){e.error&&e.error(t,n)}if(!e.url)return!1;n.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||n.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),O(e.headers,function(e,t){n.setRequestHeader(t,e)}),e.responseType&&(n.responseType=e.responseType),n.onreadystatechange=function(){let t;if(4===n.readyState){if(200===n.status){if("blob"!==e.responseType&&(t=n.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return i(n,e)}return e.success&&e.success(t,n)}i(n,n.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),n.send(e.data)},getJSON:function(e,t){F.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,n){let i=new C.FormData;O(t,function(e,t){i.append(t,e)}),i.append("b64","true");let{filename:o,type:r}=t;return C.fetch(e,{method:"POST",body:i,...n}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${r};base64,${e}`,t.download=o,t.click(),T(t)})})}},{defaultOptions:P}=h(),{doc:M,SVG_NS:k,win:H}=h(),{addEvent:N,css:D,createElement:G,discardElement:I,extend:W,find:R,fireEvent:j,isObject:q,merge:V,objectEach:$,pick:z,removeEvent:L,uniqueKey:A}=h();!function(e){let t;let n=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],i=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];e.inlineAllowlist=[];let o=["clipPath","defs","desc"];function r(e){let t,n;let i=this,o=i.renderer,r=V(i.options.navigation.buttonOptions,e),s=r.onclick,l=r.menuItems,a=r.symbolSize||12;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=i.styledMode?{}:r.theme;s?n=function(e){e&&e.stopPropagation(),s.call(i,e)}:l&&(n=function(e){e&&e.stopPropagation(),i.contextMenu(p.menuClassName,l,p.translateX||0,p.translateY||0,p.width||0,p.height||0,p),p.setState(2)}),r.text&&r.symbol?c.paddingLeft=z(c.paddingLeft,30):r.text||W(c,{width:r.width,height:r.height,padding:0});let p=o.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:z(i.options.lang[r._titleKey||r.titleKey],"")});p.menuClassName=e.menuClassName||"highcharts-menu-"+i.btnCount++,r.symbol&&(t=o.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(p),i.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),p.add(i.exportingGroup).align(W(r,{width:p.width,x:z(r.x,i.buttonOffset)}),!0,"spacingBox"),i.buttonOffset+=((p.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),i.exportSVGElements.push(p,t)}function s(){if(!this.printReverseInfo)return;let{childNodes:e,origDisplay:n,resetParams:i}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,i&&this.setSize.apply(this,i),delete this.printReverseInfo,t=void 0,j(this,"afterPrint")}function l(){let e=M.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),j(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function a(e){e.renderExporting(),N(e,"redraw",e.renderExporting),N(e,"destroy",e.destroyExport)}function c(e,t,n,i,o,r,s){let l=this,a=l.options.navigation,c=l.chartWidth,p=l.chartHeight,u="cache-"+e,g=Math.max(o,r),f,m=l[u];m||(l.exportContextMenu=l[u]=m=G("div",{className:e},{position:"absolute",zIndex:1e3,padding:g+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),f=G("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},m),l.styledMode||D(f,W({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),m.hideMenu=function(){D(m,{display:"none"}),s&&s.setState(0),l.openMenu=!1,D(l.renderTo,{overflow:"hidden"}),D(l.container,{overflow:"hidden"}),h().clearTimeout(m.hideTimer),j(l,"exportMenuHidden")},l.exportEvents.push(N(m,"mouseleave",function(){m.hideTimer=H.setTimeout(m.hideMenu,500)}),N(m,"mouseenter",function(){h().clearTimeout(m.hideTimer)}),N(M,"mouseup",function(t){l.pointer?.inClass(t.target,e)||m.hideMenu()}),N(m,"click",function(){l.openMenu&&m.hideMenu()})),t.forEach(function(e){if("string"==typeof e&&(e=l.options.exporting.menuItemDefinitions[e]),q(e,!0)){let t;e.separator?t=G("hr",void 0,void 0,f):("viewData"===e.textKey&&l.isDataTableVisible&&(e.textKey="hideData"),t=G("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),m.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(l,arguments)}},void 0,f),d().setElementHTML(t,e.text||l.options.lang[e.textKey]),l.styledMode||(t.onmouseover=function(){D(this,a.menuItemHoverStyle)},t.onmouseout=function(){D(this,a.menuItemStyle)},D(t,W({cursor:"pointer"},a.menuItemStyle||{})))),l.exportDivElements.push(t)}}),l.exportDivElements.push(f,m),l.exportMenuWidth=m.offsetWidth,l.exportMenuHeight=m.offsetHeight);let x={display:"block"};n+(l.exportMenuWidth||0)>c?x.right=c-n-o-g+"px":x.left=n-g+"px",i+r+(l.exportMenuHeight||0)>p&&s.alignOptions?.verticalAlign!=="top"?x.bottom=p-i-g+"px":x.top=i+r-g+"px",D(m,x),D(l.renderTo,{overflow:""}),D(l.container,{overflow:""}),l.openMenu=!0,j(l,"exportMenuShown")}function p(e){let t;let n=e?e.target:this,i=n.exportSVGElements,o=n.exportDivElements,r=n.exportEvents;i&&(i.forEach((e,o)=>{e&&(e.onclick=e.ontouchstart=null,n[t="cache-"+e.menuClassName]&&delete n[t],i[o]=e.destroy())}),i.length=0),n.exportingGroup&&(n.exportingGroup.destroy(),delete n.exportingGroup),o&&(o.forEach(function(e,t){e&&(h().clearTimeout(e.hideTimer),L(e,"mouseleave"),o[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,I(e))}),o.length=0),r&&(r.forEach(function(e){e()}),r.length=0)}function u(e,t){let n=this.getSVGForExport(e,t);e=V(this.options.exporting,e),F.post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:n},e.fetchOptions)}function f(e){return e&&this.inlineStyles(),this.container.innerHTML}function y(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):("string"==typeof e&&(t=e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!t||t.length<5)&&(t="chart"),t)}function b(e){let t,n,i=V(this.options,e);i.plotOptions=V(this.userOptions.plotOptions,e&&e.plotOptions),i.time=V(this.userOptions.time,e&&e.time);let o=G("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},M.body),r=this.renderTo.style.width,s=this.renderTo.style.height,l=i.exporting.sourceWidth||i.chart.width||/px$/.test(r)&&parseInt(r,10)||(i.isGantt?800:600),a=i.exporting.sourceHeight||i.chart.height||/px$/.test(s)&&parseInt(s,10)||400;W(i.chart,{animation:!1,renderTo:o,forExport:!0,renderer:"SVGRenderer",width:l,height:a}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(e){(n=V(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||i.series.push(n)});let c={};this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=A()),e.options.isInternal||(c[e.coll]||(c[e.coll]=!0,i[e.coll]=[]),i[e.coll].push(V(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),i.colorAxis=this.userOptions.colorAxis;let p=new this.constructor(i,this.callback);return e&&["xAxis","yAxis","series"].forEach(function(t){let n={};e[t]&&(n[t]=e[t],p.update(n))}),this.axes.forEach(function(e){let t=R(p.axes,function(t){return t.options.internalKey===e.userOptions.internalKey}),n=e.getExtremes(),i=n.userMin,o=n.userMax;t&&(void 0!==i&&i!==t.min||void 0!==o&&o!==t.max)&&t.setExtremes(i,o,!0,!1)}),t=p.getChartHTML(this.styledMode||i.exporting?.applyStyleSheets),j(this,"getSVG",{chartCopy:p}),t=this.sanitizeSVG(t,i),i=null,p.destroy(),I(o),t}function v(e,t){let n=this.options.exporting;return this.getSVG(V({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function w(){let t;let r=e.inlineAllowlist,s={},l=M.createElement("iframe");D(l,{width:"1px",height:"1px",visibility:"hidden"}),M.body.appendChild(l);let a=l.contentWindow&&l.contentWindow.document;a&&a.body.appendChild(a.createElementNS(k,"svg")),function e(l){let c,p,u,d,g,f;let m={};if(a&&1===l.nodeType&&-1===o.indexOf(l.nodeName)){if(c=H.getComputedStyle(l,null),p="svg"===l.nodeName?{}:H.getComputedStyle(l.parentNode,null),!s[l.nodeName]){t=a.getElementsByTagName("svg")[0],u=a.createElementNS(l.namespaceURI,l.nodeName),t.appendChild(u);let e=H.getComputedStyle(u,null),n={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(n[t]=e[t]);s[l.nodeName]=n,"text"===l.nodeName&&delete s.text.fill,t.removeChild(u)}for(let e in c)(h().isFirefox||h().isMS||h().isSafari||Object.hasOwnProperty.call(c,e))&&function(e,t){if(d=g=!1,r.length){for(f=r.length;f--&&!g;)g=r[f].test(t);d=!g}for("transform"===t&&"none"===e&&(d=!0),f=n.length;f--&&!d;){if(t.length>1e3)throw Error("Input too long");d=n[f].test(t)||"function"==typeof e}!d&&(p[t]!==e||"svg"===l.nodeName)&&s[l.nodeName][t]!==e&&(i&&-1===i.indexOf(t)?m[t]=e:e&&l.setAttribute(t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),e))}(c[e],e);if(D(l,m),"svg"===l.nodeName&&l.setAttribute("stroke-width","1px"),"text"===l.nodeName)return;[].forEach.call(l.children||l.childNodes,e)}}(this.container.querySelector("svg")),t.parentNode.removeChild(t),l.parentNode.removeChild(l)}function S(e){let{scrollablePlotArea:t}=this;(t?[t.fixedDiv,t.scrollingContainer]:[this.container]).forEach(function(t){e.appendChild(t)})}function C(){let e=this,t=(t,n,i)=>{e.isDirtyExporting=!0,V(!0,e.options[t],n),z(i,!0)&&e.redraw()};e.exporting={update:function(e,n){t("exporting",e,n)}},g.compose(e).navigation.addUpdate((e,n)=>{t("navigation",e,n)})}function T({alignTo:e,key:t,textPxLength:n}){let i=this.options.exporting,{align:o,buttonSpacing:r=0,verticalAlign:s,width:l=0}=V(this.options.navigation?.buttonOptions,i?.buttons?.contextButton),a=e.width-n,c=l+r;(i?.enabled??!0)&&"title"===t&&"right"===o&&"top"===s&&a<2*c&&(a{H.focus(),H.print(),h().isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function K(){let e=this,t=e.options.exporting,n=t.buttons,i=e.isDirtyExporting||!e.exportSVGElements;e.buttonOffset=0,e.isDirtyExporting&&e.destroyExport(),i&&!1!==t.enabled&&(e.exportEvents=[],e.exportingGroup=e.exportingGroup||e.renderer.g("exporting-group").attr({zIndex:3}).add(),$(n,function(t){e.addButton(t)}),e.isDirtyExporting=!1)}function B(e,t){let n=e.indexOf("")+6,i=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&i&&(i=''+i.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",i+"")),e=e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/(()=>{"use strict";var i,o,r,s={660:e=>{e.exports=t},960:e=>{e.exports=n},944:t=>{t.exports=e}},l={};function a(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}};return s[e](n,n.exports,a),n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var c={};a.d(c,{default:()=>_});var p=a(944),h=a.n(p),u=a(660),d=a.n(u);a(960),function(e){e.compose=function(e){return e.navigation||(e.navigation=new t(e)),e};class t{constructor(e){this.updates=[],this.chart=e}addUpdate(e){this.chart.navigation.updates.push(e)}update(e,t){this.updates.forEach(n=>{n.call(this.chart,e,t)})}}e.Additions=t}(i||(i={}));let g=i,{isTouchDevice:f}=h(),m={exporting:{allowTableSorting:!0,type:"image/png",url:"https://export-svg.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"],y:-5}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:f?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(e){let t=[];function n(e,t,n,i){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+i/2+.5],["L",e+n,t+i/2+.5],["M",e,t+i-1.5],["L",e+n,t+i-1.5]]}function i(e,t,n,i){let o=i/3-2;return[].concat(this.circle(n-o,t,o,o),this.circle(n-o,t+o+4,o,o),this.circle(n-o,t+2*(o+4),o,o))}e.compose=function(e){if(-1===t.indexOf(e)){t.push(e);let o=e.prototype.symbols;o.menu=n,o.menuball=i.bind(o)}}}(o||(o={}));let x=o,{composed:y}=h(),{addEvent:b,fireEvent:v,pushUnique:w}=h();function S(){this.fullscreen=new E(this)}class E{static compose(e){w(y,"Fullscreen")&&b(e,"beforeRender",S)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;v(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;v(t,"fullscreenOpen",null,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=b(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),i=b(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),i()};let o=t.renderTo[e.browserProps.requestFullscreen]();o&&o.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,i=n&&n.buttons&&n.buttons.contextButton.menuItems,o=e.options.lang;if(n&&n.menuItemDefinitions&&o&&o.exitFullscreen&&o.viewFullscreen&&i&&t){let e=t[i.indexOf("viewFullscreen")];e&&d().setElementHTML(e,this.isOpen?o.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||o.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}let{win:C}=h(),{discardElement:T,objectEach:O}=h(),F={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},n=new XMLHttpRequest;function i(t,n){e.error&&e.error(t,n)}if(!e.url)return!1;n.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||n.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),O(e.headers,function(e,t){n.setRequestHeader(t,e)}),e.responseType&&(n.responseType=e.responseType),n.onreadystatechange=function(){let t;if(4===n.readyState){if(200===n.status){if("blob"!==e.responseType&&(t=n.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return i(n,e)}return e.success&&e.success(t,n)}i(n,n.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),n.send(e.data)},getJSON:function(e,t){F.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,n){let i=new C.FormData;O(t,function(e,t){i.append(t,e)}),i.append("b64","true");let{filename:o,type:r}=t;return C.fetch(e,{method:"POST",body:i,...n}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${r};base64,${e}`,t.download=o,t.click(),T(t)})})}},{defaultOptions:P}=h(),{doc:M,SVG_NS:k,win:H}=h(),{addEvent:N,css:D,createElement:G,discardElement:I,extend:W,find:R,fireEvent:j,isObject:q,merge:V,objectEach:$,pick:z,removeEvent:L,splat:A,uniqueKey:K}=h();!function(e){let t;let n=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],i=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];e.inlineAllowlist=[];let o=["clipPath","defs","desc"];function r(e){let t,n;let i=this,o=i.renderer,r=V(i.options.navigation.buttonOptions,e),s=r.onclick,l=r.menuItems,a=r.symbolSize||12;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=i.styledMode?{}:r.theme;s?n=function(e){e&&e.stopPropagation(),s.call(i,e)}:l&&(n=function(e){e&&e.stopPropagation(),i.contextMenu(p.menuClassName,l,p.translateX||0,p.translateY||0,p.width||0,p.height||0,p),p.setState(2)}),r.text&&r.symbol?c.paddingLeft=z(c.paddingLeft,30):r.text||W(c,{width:r.width,height:r.height,padding:0});let p=o.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:z(i.options.lang[r._titleKey||r.titleKey],"")});p.menuClassName=e.menuClassName||"highcharts-menu-"+i.btnCount++,r.symbol&&(t=o.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(p),i.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),p.add(i.exportingGroup).align(W(r,{width:p.width,x:z(r.x,i.buttonOffset)}),!0,"spacingBox"),i.buttonOffset+=((p.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),i.exportSVGElements.push(p,t)}function s(){if(!this.printReverseInfo)return;let{childNodes:e,origDisplay:n,resetParams:i}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,i&&this.setSize.apply(this,i),delete this.printReverseInfo,t=void 0,j(this,"afterPrint")}function l(){let e=M.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),j(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function a(e){e.renderExporting(),N(e,"redraw",e.renderExporting),N(e,"destroy",e.destroyExport)}function c(e,t,n,i,o,r,s){let l=this,a=l.options.navigation,c=l.chartWidth,p=l.chartHeight,u="cache-"+e,g=Math.max(o,r),f,m=l[u];m||(l.exportContextMenu=l[u]=m=G("div",{className:e},{position:"absolute",zIndex:1e3,padding:g+"px",pointerEvents:"auto",...l.renderer.style},l.scrollablePlotArea?.fixedDiv||l.container),f=G("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},m),l.styledMode||D(f,W({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),m.hideMenu=function(){D(m,{display:"none"}),s&&s.setState(0),l.openMenu=!1,D(l.renderTo,{overflow:"hidden"}),D(l.container,{overflow:"hidden"}),h().clearTimeout(m.hideTimer),j(l,"exportMenuHidden")},l.exportEvents.push(N(m,"mouseleave",function(){m.hideTimer=H.setTimeout(m.hideMenu,500)}),N(m,"mouseenter",function(){h().clearTimeout(m.hideTimer)}),N(M,"mouseup",function(t){l.pointer?.inClass(t.target,e)||m.hideMenu()}),N(m,"click",function(){l.openMenu&&m.hideMenu()})),t.forEach(function(e){if("string"==typeof e&&(e=l.options.exporting.menuItemDefinitions[e]),q(e,!0)){let t;e.separator?t=G("hr",void 0,void 0,f):("viewData"===e.textKey&&l.isDataTableVisible&&(e.textKey="hideData"),t=G("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),m.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(l,arguments)}},void 0,f),d().setElementHTML(t,e.text||l.options.lang[e.textKey]),l.styledMode||(t.onmouseover=function(){D(this,a.menuItemHoverStyle)},t.onmouseout=function(){D(this,a.menuItemStyle)},D(t,W({cursor:"pointer"},a.menuItemStyle||{})))),l.exportDivElements.push(t)}}),l.exportDivElements.push(f,m),l.exportMenuWidth=m.offsetWidth,l.exportMenuHeight=m.offsetHeight);let x={display:"block"};n+(l.exportMenuWidth||0)>c?x.right=c-n-o-g+"px":x.left=n-g+"px",i+r+(l.exportMenuHeight||0)>p&&s.alignOptions?.verticalAlign!=="top"?x.bottom=p-i-g+"px":x.top=i+r-g+"px",D(m,x),D(l.renderTo,{overflow:""}),D(l.container,{overflow:""}),l.openMenu=!0,j(l,"exportMenuShown")}function p(e){let t;let n=e?e.target:this,i=n.exportSVGElements,o=n.exportDivElements,r=n.exportEvents;i&&(i.forEach((e,o)=>{e&&(e.onclick=e.ontouchstart=null,n[t="cache-"+e.menuClassName]&&delete n[t],i[o]=e.destroy())}),i.length=0),n.exportingGroup&&(n.exportingGroup.destroy(),delete n.exportingGroup),o&&(o.forEach(function(e,t){e&&(h().clearTimeout(e.hideTimer),L(e,"mouseleave"),o[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,I(e))}),o.length=0),r&&(r.forEach(function(e){e()}),r.length=0)}function u(e,t){let n=this.getSVGForExport(e,t);e=V(this.options.exporting,e),F.post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:n},e.fetchOptions)}function f(e){return e&&this.inlineStyles(),this.container.innerHTML}function y(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):("string"==typeof e&&(t=e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!t||t.length<5)&&(t="chart"),t)}function b(e){let t,n,i=V(this.options,e);i.plotOptions=V(this.userOptions.plotOptions,e&&e.plotOptions),i.time=V(this.userOptions.time,e&&e.time);let o=G("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},M.body),r=this.renderTo.style.width,s=this.renderTo.style.height,l=i.exporting.sourceWidth||i.chart.width||/px$/.test(r)&&parseInt(r,10)||(i.isGantt?800:600),a=i.exporting.sourceHeight||i.chart.height||/px$/.test(s)&&parseInt(s,10)||400;W(i.chart,{animation:!1,renderTo:o,forExport:!0,renderer:"SVGRenderer",width:l,height:a}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(e){(n=V(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||i.series.push(n)});let c={};this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=K()),e.options.isInternal||(c[e.coll]||(c[e.coll]=!0,i[e.coll]=[]),i[e.coll].push(V(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),i.colorAxis=this.userOptions.colorAxis;let p=new this.constructor(i,this.callback);return e&&["xAxis","yAxis","series"].forEach(function(t){let n={};e[t]&&(n[t]=e[t],p.update(n))}),this.axes.forEach(function(t){let n=R(p.axes,e=>e.options.internalKey===t.userOptions.internalKey);if(n){let i=t.getExtremes(),o=A(e?.[t.coll]||{})[0],r="min"in o?o.min:i.userMin,s="max"in o?o.max:i.userMax;(void 0!==r&&r!==n.min||void 0!==s&&s!==n.max)&&n.setExtremes(r??void 0,s??void 0,!0,!1)}}),t=p.getChartHTML(this.styledMode||i.exporting?.applyStyleSheets),j(this,"getSVG",{chartCopy:p}),t=this.sanitizeSVG(t,i),i=null,p.destroy(),I(o),t}function v(e,t){let n=this.options.exporting;return this.getSVG(V({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function w(){let t;let r=e.inlineAllowlist,s={},l=M.createElement("iframe");D(l,{width:"1px",height:"1px",visibility:"hidden"}),M.body.appendChild(l);let a=l.contentWindow&&l.contentWindow.document;a&&a.body.appendChild(a.createElementNS(k,"svg")),function e(l){let c,p,u,d,g,f;let m={};if(a&&1===l.nodeType&&-1===o.indexOf(l.nodeName)){if(c=H.getComputedStyle(l,null),p="svg"===l.nodeName?{}:H.getComputedStyle(l.parentNode,null),!s[l.nodeName]){t=a.getElementsByTagName("svg")[0],u=a.createElementNS(l.namespaceURI,l.nodeName),t.appendChild(u);let e=H.getComputedStyle(u,null),n={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(n[t]=e[t]);s[l.nodeName]=n,"text"===l.nodeName&&delete s.text.fill,t.removeChild(u)}for(let e in c)(h().isFirefox||h().isMS||h().isSafari||Object.hasOwnProperty.call(c,e))&&function(e,t){if(d=g=!1,r.length){for(f=r.length;f--&&!g;)g=r[f].test(t);d=!g}for("transform"===t&&"none"===e&&(d=!0),f=n.length;f--&&!d;){if(t.length>1e3)throw Error("Input too long");d=n[f].test(t)||"function"==typeof e}!d&&(p[t]!==e||"svg"===l.nodeName)&&s[l.nodeName][t]!==e&&(i&&-1===i.indexOf(t)?m[t]=e:e&&l.setAttribute(t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),e))}(c[e],e);if(D(l,m),"svg"===l.nodeName&&l.setAttribute("stroke-width","1px"),"text"===l.nodeName)return;[].forEach.call(l.children||l.childNodes,e)}}(this.container.querySelector("svg")),t.parentNode.removeChild(t),l.parentNode.removeChild(l)}function S(e){let{scrollablePlotArea:t}=this;(t?[t.fixedDiv,t.scrollingContainer]:[this.container]).forEach(function(t){e.appendChild(t)})}function C(){let e=this,t=(t,n,i)=>{e.isDirtyExporting=!0,V(!0,e.options[t],n),z(i,!0)&&e.redraw()};e.exporting={update:function(e,n){t("exporting",e,n)}},g.compose(e).navigation.addUpdate((e,n)=>{t("navigation",e,n)})}function T({alignTo:e,key:t,textPxLength:n}){let i=this.options.exporting,{align:o,buttonSpacing:r=0,verticalAlign:s,width:l=0}=V(this.options.navigation?.buttonOptions,i?.buttons?.contextButton),a=e.width-n,c=l+r;(i?.enabled??!0)&&"title"===t&&"right"===o&&"top"===s&&a<2*c&&(a{H.focus(),H.print(),h().isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function B(){let e=this,t=e.options.exporting,n=t.buttons,i=e.isDirtyExporting||!e.exportSVGElements;e.buttonOffset=0,e.isDirtyExporting&&e.destroyExport(),i&&!1!==t.enabled&&(e.exportEvents=[],e.exportingGroup=e.exportingGroup||e.renderer.g("exporting-group").attr({zIndex:3}).add(),$(n,function(t){e.addButton(t)}),e.isDirtyExporting=!1)}function J(e,t){let n=e.indexOf("")+6,i=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&i&&(i=''+i.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",i+"")),e=e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/ copy.options.internalKey === axis.userOptions.internalKey); + if (axisCopy) { + const extremes = axis.getExtremes(), + // Make sure min and max overrides in the + // `exporting.chartOptions.xAxis` settings are reflected. + // These should override user-set extremes via zooming, + // scrollbar etc (#7873). + exportOverride = splat(chartOptions?.[axis.coll] || {})[0], userMin = 'min' in exportOverride ? + exportOverride.min : + extremes.userMin, userMax = 'max' in exportOverride ? + exportOverride.max : + extremes.userMax; + if (((typeof userMin !== 'undefined' && userMin !== axisCopy.min) || (typeof userMax !== 'undefined' && userMax !== axisCopy.max))) { - axisCopy.setExtremes(userMin, userMax, true, false); + axisCopy.setExtremes(userMin ?? void 0, userMax ?? void 0, true, false); + } } }); // Get the SVG from the container's innerHTML diff --git a/modules/flowmap.js b/modules/flowmap.js index 833b479f17..f0f9136781 100644 --- a/modules/flowmap.js +++ b/modules/flowmap.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/flowmap * @requires highcharts * diff --git a/modules/flowmap.src.js b/modules/flowmap.src.js index e7d6b6b225..bfd1b745cb 100644 --- a/modules/flowmap.src.js +++ b/modules/flowmap.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/flowmap * @requires highcharts * diff --git a/modules/full-screen.js b/modules/full-screen.js index c9bc89a3e8..da21288a77 100644 --- a/modules/full-screen.js +++ b/modules/full-screen.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/full-screen * @requires highcharts * diff --git a/modules/full-screen.src.js b/modules/full-screen.src.js index b3083e5ca7..7375ca1998 100644 --- a/modules/full-screen.src.js +++ b/modules/full-screen.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/full-screen * @requires highcharts * diff --git a/modules/funnel.js b/modules/funnel.js index 7423952cad..3aff8aeee6 100644 --- a/modules/funnel.js +++ b/modules/funnel.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/funnel * @requires highcharts * diff --git a/modules/funnel.src.js b/modules/funnel.src.js index ce6ee57698..2155d512f0 100644 --- a/modules/funnel.src.js +++ b/modules/funnel.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/funnel * @requires highcharts * diff --git a/modules/funnel3d.js b/modules/funnel3d.js index 59781c3905..f4929c1bd4 100644 --- a/modules/funnel3d.js +++ b/modules/funnel3d.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/funnel3d * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/funnel3d.src.js b/modules/funnel3d.src.js index 07eed30982..ef4a3e4231 100644 --- a/modules/funnel3d.src.js +++ b/modules/funnel3d.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/funnel3d * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/gantt.js b/modules/gantt.js index 9334b57c26..8fb2433bc6 100644 --- a/modules/gantt.js +++ b/modules/gantt.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/pathfinder * @requires highcharts * @@ -8,8 +8,8 @@ * (c) 2016-2024 Øystein Moseng * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Point,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.Axis,t.Color,t.SeriesRegistry,t.RendererRegistry,t.SVGRenderer,t.SVGElement,t.Point,t.StackItem)}):"object"==typeof exports?exports["highcharts/modules/gantt"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Point,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.Axis,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.RendererRegistry,t.Highcharts.SVGRenderer,t.Highcharts.SVGElement,t.Highcharts.Point,t.Highcharts.StackItem)}("undefined"==typeof window?this:window,(t,e,i,s,o,r,n,a,l,h)=>(()=>{"use strict";let d,c,p;var u,g,x,f,m,b={532:t=>{t.exports=i},960:t=>{t.exports=e},620:t=>{t.exports=s},260:t=>{t.exports=l},608:t=>{t.exports=r},28:t=>{t.exports=a},540:t=>{t.exports=n},512:t=>{t.exports=o},184:t=>{t.exports=h},944:e=>{e.exports=t}},y={};function v(t){var e=y[t];if(void 0!==e)return e.exports;var i=y[t]={exports:{}};return b[t](i,i.exports,v),i.exports}v.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return v.d(e,{a:e}),e},v.d=(t,e)=>{for(var i in e)v.o(e,i)&&!v.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},v.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var M={};v.d(M,{default:()=>oX});var k=v(944),A=v.n(k);function w(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function P(t,e,i,s){return w(t,e,i/2,s)}function E(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function O(t,e,i,s){return E(t,e,i/2,s)}let S={compose:function(t){let e=t.prototype.symbols;e.arrow=w,e["arrow-filled"]=E,e["arrow-filled-half"]=O,e["arrow-half"]=P,e["triangle-left"]=E,e["triangle-left-half"]=O}},{defined:B,error:T,merge:C,objectEach:I}=A(),R=A().deg2rad,D=Math.max,G=Math.min,L=class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,o=this.pathfinder,r={},n=this.graphics&&this.graphics.path;o.group||(o.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),o.group.translate(i.plotLeft,i.plotTop),n&&n.renderer||(n=i.renderer.path().add(o.group),s||n.attr({opacity:0})),n.attr(e),r.d=t,s||(r.opacity=1),n.animate(r),this.graphics=this.graphics||{},this.graphics.path=n}addMarker(t,e,i){let s,o,r,n,a,l,h,d;let c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,x=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(h={x:d[1],y:d[2]},o=g.getRadiansToVector(h,x),s=g.getMarkerVector(o,e.radius,x),r=-o/R,e.width&&e.height?(a=e.width,l=e.height):a=l=2*e.radius,this.graphics=this.graphics||{},n={x:s.x-a/2,y:s.y-l/2,width:a,height:l,rotation:r,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(n):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(n).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],o=e.chartObstacles;return"function"!=typeof s?(T('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!o&&(o=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(o)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),C({chartObstacles:o,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,o={},r=C(i.options.connectors,e.options.connectors,t.options.connectors,this.options);!i.styledMode&&(o.stroke=r.lineColor||t.color,o["stroke-width"]=r.lineWidth,r.dashStyle&&(o.dashstyle=r.dashStyle)),o.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,B((r=C(o,r)).marker.radius)||(r.marker.radius=G(D(Math.ceil((r.algorithmMargin||8)/2)-1,1),5));let n=this.getPath(r),a=n.path;n.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(n.obstacles)),this.renderPath(a,o),this.addMarker("start",C(r.marker,r.startMarker),a),this.addMarker("end",C(r.marker,r.endMarker),a)}destroy(){this.graphics&&(I(this.graphics,function(t){t.destroy()}),delete this.graphics)}},{composed:z}=A(),{addEvent:N,merge:W,pushUnique:H,wrap:F}=A(),U={color:"#ccd3ff",width:2,label:{format:"%[abdYHM]",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t,!0)},rotation:0,style:{fontSize:"0.7em"}}};function X(){let t=this.options,e=t.currentDateIndicator;if(e){let i="object"==typeof e?W(U,e):W(U);i.value=Date.now(),i.className="highcharts-current-date-indicator",t.plotLines||(t.plotLines=[]),t.plotLines.push(i)}}function Y(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function V(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}var _=v(960),j=v.n(_);let{defaultOptions:q}=A(),{isArray:Z,merge:$,splat:K}=A();class J extends j(){init(t,e){let i;let s=t.xAxis,o=t.yAxis;t.xAxis=t.yAxis=void 0;let r=$(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=o,r.xAxis=(Z(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),$({grid:{borderColor:"#cccccc",enabled:!0},opposite:q.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=K(t.yAxis||{}).map(t=>$({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}!function(t){t.ganttChart=function(e,i,s){return new t(e,i,s)}}(J||(J={}));let Q=J;var tt=v(532),te=v.n(tt);let{isTouchDevice:ti}=A(),{addEvent:ts,merge:to,pick:tr}=A(),tn=[];function ta(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function tl(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=tr(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+tr(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function th(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this),tr(t.redraw,!0)&&this.redraw(t.animation))}function td(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this))}function tc(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!ti&&"x"===this.zooming.type||ti&&"x"===this.zooming.pinchType))return!1}function tp(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function tu(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(to(!0,this.options.navigator,e),to(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let tg={compose:function(t,e){if(A().pushUnique(tn,t)){let i=t.prototype;d=e,i.callbacks.push(tp),ts(t,"afterAddSeries",ta),ts(t,"afterSetChartSize",tl),ts(t,"afterUpdate",th),ts(t,"beforeRender",td),ts(t,"beforeShowResetZoom",tc),ts(t,"update",tu)}}},{isTouchDevice:tx}=A(),{addEvent:tf,correctFloat:tm,defined:tb,isNumber:ty,pick:tv}=A();function tM(){this.navigatorAxis||(this.navigatorAxis=new tA(this))}function tk(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||tx&&"xy"===n)&&this.options.range){let e=r.previousZoom;tb(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class tA{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),tf(t,"init",tM),tf(t,"setExtremes",tk))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=tv(i,o.translate(t,!0,!o.horiz)),a=tv(s,o.translate(e,!0,!o.horiz));return tb(i)||(n=tm(n+r)),tb(s)||(a=tm(a-r)),ty(n)&&ty(a)||(n=a=void 0),{min:n,max:a}}}var tw=v(620),tP=v.n(tw),tE=v(512),tO=v.n(tE);let{parse:tS}=tP(),{seriesTypes:tB}=tO(),tT={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:tS("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===tB.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{defined:tC,isNumber:tI,pick:tR}=A(),tD={rect:function(t,e,i,s,o){return o&&o.r?function(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}},{relativeLength:tG}=A(),tL={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,n=tG(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...tD.rect(-r-1,.5,2*r+1,s,{r:n})]}};var tz=v(608),tN=v.n(tz);let{defined:tW}=A(),{setOptions:tH}=A(),{composed:tF}=A(),{getRendererType:tU}=tN(),{setFixedRange:tX}={setFixedRange:function(t){let e=this.xAxis[0];tW(e.dataMax)&&tW(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:tY,extend:tV,pushUnique:t_}=A();function tj(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let tq={compose:function(t,e,i){tA.compose(e),t_(tF,"Navigator")&&(t.prototype.setFixedRange=tX,tV(tU().prototype.symbols,tL),tY(i,"afterUpdate",tj),tH({navigator:tT}))}},{composed:tZ}=A(),{addEvent:t$,defined:tK,pick:tJ,pushUnique:tQ}=A();!function(t){let e;function i(t){let e=tJ(t.options&&t.options.min,t.min),i=tJ(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:tK(t.dataMin)?Math.min(e,t.min,t.dataMin,tJ(t.threshold,1/0)):e,scrollMax:tK(t.dataMax)?Math.max(i,t.max,t.dataMax,tJ(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),t$(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:n,scrollMin:a,scrollMax:l}=i(t),h=l-a;if(tK(r)&&tK(n)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+h*this.to,o=a+h*this.from):(s=a+h*(1-this.from),o=a+h*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(n&&l){if(this.horiz)this.opposite||(l[1]+=a),n.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=n.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,n.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!tK(this.min)||!tK(this.max)||this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){tQ(tZ,"Axis.Scrollbar")&&(e=i,t$(t,"afterGetOffset",s),t$(t,"afterInit",o),t$(t,"afterRender",r))}}(u||(u={}));let t0=u,t1={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:t2}=A(),{addEvent:t3,correctFloat:t5,crisp:t6,defined:t4,destroyObjectProperties:t8,fireEvent:t9,merge:t7,pick:et,removeEvent:ee}=A();class ei{static compose(t){t0.compose(t,ei)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,t8(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(ei.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=t7(t1,t2.scrollbar,e),this.options.margin=et(this.options.margin,10),this.chart=i,this.size=et(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){ee.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-t6(0,r),y:-t6(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(ei.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-t6(0,this.scrollbarStrokeWidth),-t6(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!t4(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=t5(h-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return et(this.options.liveRedraw,A().svg&&!A().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!t4(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,t7(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=t5(1-t5(e-t)),e=1),t<0&&(e=t5(e-t),t=0),this.from=t,this.to=e}}ei.defaultOptions=t1,t2.scrollbar=t7(!0,ei.defaultOptions,t2.scrollbar);var es=v(540),eo=v.n(es);let{defaultOptions:er}=A(),{isTouchDevice:en}=A(),{prototype:{symbols:ea}}=eo(),{addEvent:el,clamp:eh,correctFloat:ed,defined:ec,destroyObjectProperties:ep,erase:eu,extend:eg,find:ex,fireEvent:ef,isArray:em,isNumber:eb,merge:ey,pick:ev,removeEvent:eM,splat:ek}=A();function eA(t,...e){let i=[].filter.call(e,eb);if(i.length)return Math[t].apply(0,i)}class ew{static compose(t,e,i){tg.compose(t,ew),tq.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,x,f;i?(x=d+e+a,e=d+t+a,f=[["M",g+c,d-l-a],["L",g+c,x],["L",g,x],["M",g,e],["L",g+c,e],["L",g+c,d+h+l]],o&&f.push(["M",g+c,x-n],["L",g+c,e+n])):(g-=l,t+=g+l-a,e+=g+l-a,f=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+h+2*l,p]],o&&f.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,r,n,a;let l=this.left,h=this.top,d=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=ea[h].call(ea,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(ey(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),ec(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{eM(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(el(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,b,y;if(this.hasDragged&&!ec(i))return;if(this.isDirty&&this.renderElements(),t=ed(t-n/2),e=ed(e+n/2),!eb(t)||!eb(e)){if(!h)return;i=0,s=ev(r.width,a.width)}this.left=ev(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=b=ev(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?m:b+2*u,i=ev(i,r.toPixels(t,!0)),s=ev(s,r.toPixels(e,!0)),eb(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=r.toValue(i,!0),k=r.toValue(s,!0),A=Math.abs(ed(k-M));Ap&&(this.grabbedLeft?i=r.toPixels(k-p-n,!0):this.grabbedRight&&(s=r.toPixels(M+p+n,!0))),this.zoomedMax=eh(Math.max(i,s),0,v),this.zoomedMin=eh(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),y=h&&!this.hasDragged?"animate":"attr",this.drawMasks(w,v,d,y),this.drawOutline(w,v,d,y),this.navigatorOptions.handles.enabled&&(this.drawHandle(w,0,d,y),this.drawHandle(v,1,d,y))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),m=b+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,ef(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(el(e.renderTo,"mousemove",o),el(i.ownerDocument,"mouseup",r),el(e.renderTo,"touchmove",o),el(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(el(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(el(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-o):(p=l-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,ec((c=s.navigatorAxis.toFixedRange(p,p+n,d,h)).min)&&ef(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&ev(e.scrollbar.options.liveRedraw,!en&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n;let a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),ec((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&ef(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&eb(this.zoomedMin)&&eb(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){eM(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&eM(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,d=h.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(te())(t,ey({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),h.yAxis=new(te())(t,ey(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:ev(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),d||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=el(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*l,n=eA("min",s.options.min,o.dataMin),a=eA("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=tA.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=ey(t.options.scrollbar,{vertical:t.inverted});!eb(e.margin)&&h.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new ei(t.renderer,e,t),el(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=ev(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:ev(s.parse(r?.min),eA("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:ev(s.parse(r?.max),eA("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?ex(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(eM(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,h=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=eg({color:t.color,visible:t.visible},em(h)?er.navigator.series:h);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},p.dataLabels=ek(p.dataLabels),(l=ey(a,r,p,d)).pointRange=ev(p.pointRange,d.pointRange,er.plotOptions[l.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,l.data=u||a.data?.slice(0),c&&c.options?c.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(h.data&&!(o&&o.length)||em(h))&&(i.hasNavigatorData=!1,(h=ek(h)).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(l=ey(er.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(el(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(el(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(el(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(el(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(el(i,"remove",function(){e&&eu(e,i),this.navigatorSeries&&t.series&&(eu(t.series,this.navigatorSeries),ec(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=ev(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),d&&(t=a+c,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&eb(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=ev(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(eb(o)&&eb(r))&&(n&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{ep(t)}),this.navigatorEnabled=!1}}let eP={lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%[ebY]",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}},{defaultOptions:eE}=A(),{composed:eO}=A(),{addEvent:eS,defined:eB,extend:eT,isNumber:eC,merge:eI,pick:eR,pushUnique:eD}=A(),eG=[];function eL(){let t,e;let i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i=r.toParts(t),o=i.slice();"year"===s?o[0]+=e:o[1]+=e;let n=r.makeTime.apply(r,o),a=r.toParts(n);return"month"===s&&i[1]===a[1]&&1===Math.abs(e)&&(o[0]=i[0],o[1]=i[1],o[2]=0),(n=r.makeTime.apply(r,o))-t};eC(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=eR(this.dataMin,Number.MIN_VALUE);return eC(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,eR(this.dataMax,Number.MAX_VALUE))),eC(o)?!eC(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function ez(){this.rangeSelector?.redrawElements()}function eN(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new c(this))}function eW(){let t=this.rangeSelector;if(t){eC(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"top"!==e||(this.extraTopMargin=!0))}}function eH(){let t;let e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;eC(i.min)&&e.render(i.min,i.max),s.display&&"top"===o&&o===s.options.verticalAlign&&(t=eI(this.spacingBox),"vertical"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function eF(){for(let t=0,e=eG.length;tt()),eG.splice(t,1);return}}}function eU(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function eX(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;if(e&&e.enabled&&!eB(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new c(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o){let t=e&&e.verticalAlign||o.options&&o.options.verticalAlign;o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}let eY={compose:function(t,e,i){if(c=i,eD(eO,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=eL,eS(e,"afterGetContainer",eN),eS(e,"beforeRender",eW),eS(e,"destroy",eF),eS(e,"getMargins",eU),eS(e,"redraw",eH),eS(e,"update",eX),eS(e,"beforeRedraw",ez),i.callbacks.push(eH),eT(eE,{rangeSelector:eP.rangeSelector}),eT(eE.lang,eP.lang)}}};var eV=v(28),e_=v.n(eV);let{fireEvent:ej,isArray:eq,objectEach:eZ,uniqueKey:e$}=A(),eK=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||e$(),this.modified=this,this.rowCount=0,this.versionTag=e$();let e=0;eZ(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,eZ(this.columns,e=>{eq(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;eZ(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ej(this,"afterSetColumns"),this.versionTag=e$())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;eZ(t,(t,n)=>{let a=o[n]||s?.addColumns!==!1&&Array(r);a&&(i?a.splice(e,0,t):a[e]=t,o[n]=a)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(ej(this,"afterSetRows"),this.versionTag=e$())}},{addEvent:eJ,correctFloat:eQ,css:e0,defined:e1,error:e2,isNumber:e3,pick:e5,timeUnits:e6,isString:e4}=A();!function(t){function e(t,i,s,o,r=[],n=0,a){let l={},h=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,x,f,m=0,b=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*n||f){if(r[p]>y){for(u=d.getTimeTicks(t,r[m],r[p],o);u.length&&u[0]<=y;)u.shift();u.length&&(y=u[u.length-1]),c.push(b.length),b=b.concat(u)}m=p+1}if(f)break}if(u){if(x=u.info,a&&x.unitRange<=e6.hour){for(m=1,p=b.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*h&&(a=null),c=b[t-1]>s?t-1:t,n=void 0;c--;)d=Math.abs(n-(r=e[c])),n&&d<.8*h&&(null===a||d<.8*a)?(l[b[c]]&&!l[b[c+1]]?(o=c+1,n=r):o=c,b.splice(o,1)):n=r}return b}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=eQ((t-i)*s+this.minPixelPadding),n=eQ(e.getIndexOfPoint(r,o)),a=eQ(n%1);if(n>=0&&n<=o.length-1){let t=o[Math.floor(n)],e=o[Math.ceil(n)];return o[Math.floor(n)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function n(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&e1(e.overscroll)&&0!==e.overscroll&&e3(this.max)&&e3(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&e1(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function l(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function h(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let n=this.mouseDownX,a=e.getExtremes(),l=a.dataMin,h=a.dataMax,d=a.min,c=a.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||u))),x=e.ordinal.getExtendedPositions(),f={ordinal:{positions:x,extendedOrdinalPositions:x}},m=e.index2val,b=e.val2lin;if(d<=l&&g<0||c+i>=h&&g>0)return;f.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),h>(o=f.ordinal.positions)[o.length-1]&&o.push(h),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,m.apply(f,[b.apply(f,[d,!0])+g]),m.apply(f,[b.apply(f,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,e0(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,n=s.slope,a;if(!r)return t;let l=r.length;if(r[0]<=t&&r[l-1]>=t)i=o(r,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let l=a.length;n||(n=(a[l-1]-a[0])/l);let h=o(a,r[0]);if(t>=a[0]&&t<=a[l-1])i=o(a,t)-h;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(m=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),x=Math.min(x,e5(t.closestPointRange,x)),a)){for(e=0;e2){for(h=g[1]-g[0],u=a-1;u--&&!f;)g[u+1]-g[u]!==h&&(f=!0);!t.options.keepOrdinalPadding&&(g[0]-s>h||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===a?x=g[1]-g[0]:1===a?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=e5(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),n=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),l,h,d=e.index;return d||(d=e.index={}),!d[r]&&((l={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+n}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=l,i.series.forEach(i=>{h={xAxis:l,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:A().noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);h.dataTable=new eK({columns:{x:s}}),h.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},l.series.push(h),i.processData.apply(h)}),l.applyGrouping({hasExtremesChanged:!0}),h?.closestPointRange!==h?.basePointRange&&h.currentDataGrouping&&(l.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:l}),!i.ordinal.originalOrdinalRange&&l.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=l.ordinal.originalOrdinalRange),l.ordinal.positions&&(d[r]=l.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],n,a,l=this.groupIntervalFactor;if(!l){for(a=0;aRegExp(`%[[a-zA-Z]*${e}`).test(t);if(id(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=id(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=id(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class im{static compose(t,e){eY.compose(t,e,im)}constructor(t){this.isDirty=!1,this.buttonOptions=im.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},n=s.type,a=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,c=ih(o?.max)?Math.round(Math.min(o.max,h??o.max)):void 0,p,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,te().prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===n||"year"===n)o?(x={range:s,max:c,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),ih(x.newMax)&&(c=x.newMax),m=!1):u=s;else if(u)ih(c)&&(c=Math.min((d=Math.max(c-u,l))+u,h),m=!1);else if("ytd"===n){if(o)!o.hasData()||ih(h)&&ih(l)||(l=Number.MAX_VALUE,h=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(l=Math.min(e[0],l),h=Math.max(e[e.length-1],h))}),e=!1),ih(h)&&ih(l)&&(d=g=(f=this.getYTDExtremes(h,l)).min,c=f.max);else{this.deferredYTDClick=t;return}}else"all"===n&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,c=h);if(m&&s._offsetMin&&ii(d)&&(d+=s._offsetMin),s._offsetMax&&ii(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)ih(d)&&ih(c)&&(o.setExtremes(d,c,iu(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=ig(i.options.xAxis||{})[0];let t=e7(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});e7(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}il(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&il(t,"blur"),i&&i.blur&&il(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(e7(t.container,"mousedown",r)),this.eventsToUnbind.push(e7(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(e7(t,"load",function(){t.xAxis&&t.xAxis[0]&&e7(t.xAxis[0],"setExtremes",function(i){ih(this.max)&&ih(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),n=!o.hasVisibleSeries,a=24*36e5,l=e.scroller&&e.scroller.getUnionExtremes()||o,h=l.dataMin,d=l.dataMax,c=t.getYTDExtremes(d,h),p=c.min,u=c.max,g=t.selected,x=t.options.allButtonsEnabled,f=Array(t.buttonOptions.length).fill(0),m=ih(g),b=t.buttons,y=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,l=e.type,c=e.count||1,b=e._offsetMax-e._offsetMin,M=i===g,k=s>d-h,A=ss&&(P=!0)}else("month"===l||"year"===l)&&r+36e5>=({month:28,year:365})[l]*a*c-b&&r-36e5<=({month:31,year:366})[l]*a*c+b?P=!0:"ytd"===l?(P=u-p+b===r,w=!M):"all"===l&&(P=o.max-o.min>=d-h);let E=!x&&!(y&&"all"===l)&&(k||A||n),O=y&&"all"===l||!w&&P||M&&t.frozenStates;E?f[i]=3:O&&(!m||i===g)&&(v=i)}),null!==v?(f[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(e9.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:cl&&(c=l)),void 0!==c&&r.setExtremes(h?c:r.min,h?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=l[h?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=n.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?a.inputBoxHeight:0}).add(s),u=n.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=it("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",ix(a.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(ic(r,a.labelStyle)),u.css(ic({color:"#333333"},r,a.inputStyle)),ie(g,ia({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===A().doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let x=!1;return g.onchange=()=>{x||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{x=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=iu(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=it("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(ii(o.dataMin)&&ii(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=e9.lang,o=e.renderer,r=ic(i.buttonTheme),n=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=it("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),l=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},ic(r,{"stroke-width":iu(r["stroke-width"],0),width:"auto",paddingLeft:iu(i.buttonTheme.paddingLeft,l?.padding,8),paddingRight:iu(i.buttonTheme.paddingRight,l?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),e7(a,"touchstart",()=>{a.style.fontSize="16px"});let h=A().isMS?"mouseover":"mouseenter",d=A().isMS?"mouseout":"mouseleave";e7(a,h,()=>{il(this.dropdownLabel.element,h)}),e7(a,d,()=>{il(this.dropdownLabel.element,d)}),e7(a,"change",()=>{il(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),it("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=ic(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:n,options:a}=this,l=n.renderer,h=ic(a.buttonTheme);o?.add(it("option",{textContent:t.title||t.text}),e+2),r[e]=l.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},h,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>l&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,h,"right"===h.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;r.inputEnabled&&o&&(l=p(o,d,"right"===h.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,x=s.getBBox().height+20,f=0;if("bottom"===c){let t=i.legend&&i.legend.options;f=g-(x=x+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+iu(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(f=0),i.titleOffset&&i.titleOffset[0]&&(f=i.titleOffset[0]),f+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===h.y?f=g:(d.y||h.y)&&(d.y<0||h.y<0?f-=Math.min(d.y,h.y):f=g-x)),s.translate(r.x,r.y+Math.floor(f));let{minInput:m,maxInput:b,dropdown:y}=this;r.inputEnabled&&m&&b&&(m.style.marginTop=s.translateY+"px",b.style.marginTop=s.translateY+"px"),y&&(y.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=ic(s.buttonTheme),r=o&&o.states,n=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(io(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,n,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i&&(n.align===o.align?(a(),this.initialButtonGroupWidth>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):this.initialButtonGroupWidth-t+s.getBBox().width>e.plotWidth?"responsive"===r?this.collapseButtons():a():this.expandButtons()),i&&("always"===r&&this.collapseButtons(),"never"===r&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),ie(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),ie(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(ic(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),ii(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),is(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),ip(t,function(e,i){e&&"chart"!==i&&(e instanceof e_()?e.destroy():e instanceof window.HTMLElement&&ir(e),delete t[i]),e!==im.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}ia(im.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let ib={applyRadius:function(t,e){let i=[];for(let s=0;s>1].xMin)>0)o=n+1;else{if(!(a<0))return n;r=n-1}return o>0?o-1:0}function iw(t,e){let i=iA(t,e.x+1)+1;for(;i--;){var s;if(t[i].xMax>=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return -1}function iP(t){let e=[];if(t.length){e.push(["M",t[0].start.x,t[0].start.y]);for(let i=0;iik(e.y-t.y))?"x":"y",h,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){let s=ik(e[i]-t[i+"Min"])>ik(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}n>-1?(a={start:d=g(o[n],e,l),end:e},p=d):p=e,r>-1&&(d=g(h=o[r],t,l),s.push({start:t,end:d}),d[l]>=t[l]==d[l]>=p[l]&&(c=t[l="y"===l?"x":"y"]ik(e.y-t.y)),o=s?"x":"y",r=[],n=i.obstacleMetrics,a=iv(t.x,e.x)-n.maxWidth-10,l=iM(t.x,e.x)+n.maxWidth+10,h=iv(t.y,e.y)-n.maxHeight-10,d=iM(t.y,e.y)+n.maxHeight+10,c,p,u,g=!1,x=i.chartObstacles,f=iA(x,l),m=iA(x,a);function b(t,e,i){let s,o,r,n;let a=t.x0&&x[l].xMin<=o.x||a<0&&x[l].xMax>=s.x);){if(x[l].xMin<=o.x&&x[l].xMax>=s.x&&x[l].yMin<=r.y&&x[l].yMax>=n.y){if(i)return{y:t.y,x:t.x=r[a+"Max"],c=t[a+"Min"]<=r[a+"Min"],p=t[a+"Max"]>=n[a+"Max"],u=t[a+"Min"]<=n[a+"Min"],g=ik(t[a+"Min"]-e[a]),x=ik(t[a+"Max"]-e[a]),f=10>ik(g-x)?e[a]-1&&(u=function(t,e,s){let o=iv(t.xMax-e.x,e.x-t.xMin)-1;)p=e[o]-t[o]<0,(u={x:e.x,y:e.y})[o]=x[f][p?o+"Max":o+"Min"]+(p?1:-1),r.push({end:e,start:u}),e=u;return{path:iP(c=(c=function t(e,s,o){let r,n,c,p,u,f,m;if(e.x===s.x&&e.y===s.y)return[];let v=o?"x":"y",M=i.obstacleOptions.margin,k={soft:{xMin:a,xMax:l,yMin:h,yMax:d},hard:i.hardBounds};return(u=iw(x,e))>-1?(p=y(u=x[u],e,s,o,k),iE(u,i.hardBounds),m=o?{y:e.y,x:u[p?"xMax":"xMin"]+(p?1:-1)}:{x:e.x,y:u[p?"yMax":"yMin"]+(p?1:-1)},(f=iw(x,m))>-1&&(iE(f=x[f],i.hardBounds),m[v]=p?iM(u[v+"Max"]-M+1,(f[v+"Min"]+u[v+"Max"])/2):iv(u[v+"Min"]+M-1,(f[v+"Max"]+u[v+"Min"])/2),e.x===m.x&&e.y===m.y?(g&&(m[v]=p?iM(u[v+"Max"],f[v+"Max"])+1:iv(u[v+"Min"],f[v+"Min"])-1),g=!g):g=!1),n=[{start:e,end:m}]):(r=b(e,{x:o?s.x:e.x,y:o?e.y:s.y},o),n=[{start:e,end:{x:r.x,y:r.y}}],r[o?"x":"y"]!==s[o?"x":"y"]&&(p=y(r.obstacle,r,s,!o,k),iE(r.obstacle,i.hardBounds),c={x:o?r.x:r.obstacle[p?"xMax":"xMin"]+(p?1:-1),y:o?r.obstacle[p?"yMax":"yMin"]+(p?1:-1):r.y},o=!o,n=n.concat(t({x:r.x,y:r.y},c,o)))),n=n.concat(t(n[n.length-1].end,s,!o))}(t,e,s)).concat(r.reverse())),obstacles:c}}iO.requiresObstacles=!0,iS.requiresObstacles=!0;let iB={connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}},{setOptions:iT}=A(),{defined:iC,error:iI,merge:iR}=A();function iD(t){let e=t.shapeArgs;if(e)return{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)};let i=t.graphic&&t.graphic.getBBox();return i?{xMin:t.plotX-i.width/2,xMax:t.plotX+i.width/2,yMin:t.plotY-i.height/2,yMax:t.plotY+i.height/2}:null}!function(t){function e(t){let e,i;let s=iD(this);switch(t.align){case"right":e="xMax";break;case"left":e="xMin"}switch(t.verticalAlign){case"top":i="yMin";break;case"bottom":i="yMax"}return{x:e?s[e]:(s.xMin+s.xMax)/2,y:i?s[i]:(s.yMin+s.yMax)/2}}function i(t,e){let i;return!iC(e)&&(i=iD(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)}function s(t,e,i){let s=2*Math.PI,o=iD(this),r=o.xMax-o.xMin,n=o.yMax-o.yMin,a=Math.atan2(n,r),l=r/2,h=n/2,d=o.xMin+l,c=o.yMin+h,p={x:d,y:c},u=t,g=1,x=!1,f=1,m=1;for(;u<-Math.PI;)u+=s;for(;u>Math.PI;)u-=s;return g=Math.tan(u),u>-a&&u<=a?(m=-1,x=!0):u>a&&u<=Math.PI-a?m=-1:u>Math.PI-a||u<=-(Math.PI-a)?(f=-1,x=!0):f=-1,x?(p.x+=f*l,p.y+=m*l*g):(p.x+=n/(2*g)*f,p.y+=m*h),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}t.compose=function(t,o,r){let n=r.prototype;n.getPathfinderAnchorPoint||(t.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&((t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&iR(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(iR(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),iI('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new o(this),this.pathfinder.update(!0))}),n.getMarkerVector=s,n.getPathfinderAnchorPoint=e,n.getRadiansToVector=i,iT(iB))}}(x||(x={}));let iG=x;var iL=v(260),iz=v.n(iL);let{addEvent:iN,defined:iW,pick:iH,splat:iF}=A(),iU=Math.max,iX=Math.min;class iY{static compose(t,e){iG.compose(t,iY,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],iN(t,"redraw",function(){this.pathfinder.update()})}update(t){let e=this.chart,i=this,s=i.connections;i.connections=[],e.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(t){let s;let o=t.options;o&&o.dependency&&(o.connect=o.dependency);let r=t.options?.connect?iF(t.options.connect):[];t.visible&&!1!==t.isInside&&r.forEach(o=>{let r="string"==typeof o?o:o.to;r&&(s=e.get(r)),s instanceof iz()&&s.series.visible&&s.visible&&!1!==s.isInside&&i.connections.push(new L(t,s,"string"==typeof o?{}:o))})})});for(let t=0,e,o,r=s.length,n=i.connections.length;ti.yMin-o&&e.yMin-oi.xMin-o&&e.xMin-oi.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,l=n?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return n&&r?o?t(e,i,Math.floor(o/2)):1/0:iX(a,l)}(t[o],t[r]))<80&&s.push(e);return s.push(80),iU(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}(s),s.forEach(function(t){t.xMin-=o,t.xMax+=o,t.yMin-=o,t.yMax+=o})),s}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e=1&&(e.plotHeight=o,e.redrawTrigger="adjustHeight",e.setSize(void 0,e.chartHeight+r,i)),t.series.forEach(function(t){let i=t.sharedClipKey&&e.sharedClips[t.sharedClipKey];i&&i.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}let iJ={compose:function(t,e){let i=e.prototype;i.adjustHeight||(i_(t,"afterSetOptions",i$),i.adjustHeight=iK,i_(e,"render",i.adjustHeight))}},iQ=A();iJ.compose(iQ.Axis,iQ.Chart);let{correctFloat:i0,isNumber:i1,isObject:i2}=A(),{column:{prototype:{pointClass:i3}}}=tO().seriesTypes,{extend:i5}=A();class i6 extends i3{static getColorByCategory(t,e){let i=t.options.colors||t.chart.options.colors,s=i?i.length:t.chart.options.chart.colorCount,o=e.y%s,r=i&&i[o];return{colorIndex:o,color:r}}resolveColor(){let t=this.series;if(t.options.colorByPoint&&!this.options.color){let e=i6.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color=this.options.color||t.color}constructor(t,e){super(t,e),this.y||(this.y=0)}applyOptions(t,e){return super.applyOptions(t,e),this.x2=this.series.chart.time.parse(this.x2),this.isNull=!this.isValid?.(),this}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}i5(i6.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});let{composed:i4,noop:i8}=A(),{parse:i9}=tP(),{column:i7}=tO().seriesTypes,{addEvent:st,clamp:se,crisp:si,defined:ss,extend:so,find:sr,isNumber:sn,isObject:sa,merge:sl,pick:sh,pushUnique:sd,relativeLength:sc}=A();function sp(){let t,e;if(this.isXAxis){for(let i of(t=sh(this.dataMax,-Number.MAX_VALUE),this.series)){let s=i.dataTable.getColumn("x2",!0)||i.dataTable.getColumn("end",!0);if(s)for(let i of s)sn(i)&&i>t&&(t=i,e=!0)}e&&(this.dataMax=t)}}class su extends i7{static compose(t){sd(i4,"Series.XRange")&&st(t,"afterGetSeriesExtremes",sp)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let t=()=>{for(let t of this.chart.series){let e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}};t();let e=super.getColumnMetrics();return t(),e}cropData(t,e,i){let s=t.getColumn("x")||[],o=t.getColumn("x2");t.setColumn("x",o,void 0,{silent:!0});let r=super.cropData(t,e,i);return t.setColumn("x",s.slice(r.start,r.end),void 0,{silent:!0}),r}findPointIndex(t){let e;let{cropStart:i,points:s}=this,{id:o}=t;if(o){let t=sr(s,t=>t.id===o);e=t?t.index:void 0}if(void 0===e){let i=sr(s,e=>e.x===t.x&&e.x2===t.x2&&!e.touched);e=i?i.index:void 0}return this.cropped&&sn(e)&&sn(i)&&e>=i&&(e-=i),e}alignDataLabel(t){let e=t.plotX;t.plotX=sh(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:`${t.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=s.offset,l=sh(t.x2,t.x+(t.len||0)),h=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(l,0,0,0,1),g=Math.abs(u-p),x=this.chart.inverted,f=sh(o.borderWidth,1),m,b,y=s.offset,v=Math.round(s.width),M,k,A,w;r&&((m=r-g)<0&&(m=0),p-=m/2,u+=m/2),p=Math.max(p,-10),u=se(u,-10,e.len+10),ss(t.options.pointWidth)&&(y-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),o.pointPlacement&&sn(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));let P=si(Math.min(p,u),f),E=si(Math.max(p,u),f)-P,O=Math.min(sc("object"==typeof h?h.radius:h||0,v),Math.min(E,v)/2),S={x:P,y:si((t.plotY||0)+y,f),width:E,height:v,r:O};t.shapeArgs=S,x?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-S.width/2,k=(M=S.x)+S.width,M<0||k>e.len?(M=se(M,0,e.len),A=(k=se(k,0,e.len))-M,t.dlBox=sl(S,{x:M,width:k-M,centerX:A?A/2:null})):t.dlBox=null;let B=t.tooltipPos,T=x?1:0,C=x?0:1,I=this.columnMetrics?this.columnMetrics.offset:-s.width/2;x?B[T]+=S.width/2:B[T]=se(B[T]+(e.reversed?-1:0)*S.width,e.left-c,e.left+e.len-c-1),B[C]=se(B[C]+(x?-1:1)*I,i.top-d,i.top+i.len-d-1),(b=t.partialFill)&&(sa(b)&&(b=b.amount),sn(b)||(b=0),t.partShapeArgs=sl(S),w=Math.max(Math.round(g*b+t.plotX-p),0),t.clipRectArgs={x:e.reversed?S.x+g-w:S.x,y:S.y,width:w,height:S.height}),t.key=t.category||t.name,t.yCategory=i.categories?.[t.y??-1]}translate(){for(let t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,n=t.partShapeArgs,a=t.clipRectArgs,l=t.state,h=i.states[l||"normal"]||{},d=void 0===l?"attr":e,c=this.pointAttribs(t,l),p=sh(this.chart.options.chart.animation,h.animation),u=t.graphic,g=t.partialFill;if(t.isNull||!1===t.visible)u&&(t.graphic=u.destroy());else if(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](sl(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),n&&(u.partRect?(u.partRect[e](sl(n)),u.partialClipRect[e](sl(a))):(u.partialClipRect=s.clipRect(a.x,a.y,a.width,a.height),u.partRect=s[o](n).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),n)){sa(g)||(g={}),sa(i.partialFill)&&(g=sl(i.partialFill,g));let e=g.fill||i9(c.fill).brighten(-.3).get()||i9(t.color||this.color).brighten(-.3).get();c.fill=e,u.partRect[d](c,p).shadow(i.shadow)}}drawPoints(){let t=this.getAnimationVerb();for(let e of this.points)this.drawPoint(e,t)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){let e=t.shapeArgs,i=t.plotX,s=t.plotY;return e?void 0!==i&&void 0!==s&&s>=0&&s<=this.yAxis.len&&(e.x||0)+(e.width||0)>=0&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}su.defaultOptions=sl(i7.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){let t=this.partialFill;if(i2(t)&&(t=t.amount),i1(t)&&t>0)return i0(100*t)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{ucfirst point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}),so(su.prototype,{pointClass:i6,pointArrayMap:["x2","y"],getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:tO().series.prototype.animate,autoIncrement:i8,buildKDTree:i8}),tO().registerSeriesType("xrange",su);/** - * @license Highcharts JS v12.1.0 (2024-12-17) + */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Point,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.Axis,t.Color,t.SeriesRegistry,t.RendererRegistry,t.SVGRenderer,t.SVGElement,t.Point,t.StackItem)}):"object"==typeof exports?exports["highcharts/modules/gantt"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Point,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.Axis,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.RendererRegistry,t.Highcharts.SVGRenderer,t.Highcharts.SVGElement,t.Highcharts.Point,t.Highcharts.StackItem)}("undefined"==typeof window?this:window,(t,e,i,s,o,r,n,a,l,h)=>(()=>{"use strict";let d,c,p;var u,g,x,f,m,b={532:t=>{t.exports=i},960:t=>{t.exports=e},620:t=>{t.exports=s},260:t=>{t.exports=l},608:t=>{t.exports=r},28:t=>{t.exports=a},540:t=>{t.exports=n},512:t=>{t.exports=o},184:t=>{t.exports=h},944:e=>{e.exports=t}},y={};function v(t){var e=y[t];if(void 0!==e)return e.exports;var i=y[t]={exports:{}};return b[t](i,i.exports,v),i.exports}v.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return v.d(e,{a:e}),e},v.d=(t,e)=>{for(var i in e)v.o(e,i)&&!v.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},v.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var M={};v.d(M,{default:()=>oX});var k=v(944),A=v.n(k);function w(t,e,i,s){return[["M",t,e+s/2],["L",t+i,e],["L",t,e+s/2],["L",t+i,e+s]]}function P(t,e,i,s){return w(t,e,i/2,s)}function E(t,e,i,s){return[["M",t+i,e],["L",t,e+s/2],["L",t+i,e+s],["Z"]]}function O(t,e,i,s){return E(t,e,i/2,s)}let S={compose:function(t){let e=t.prototype.symbols;e.arrow=w,e["arrow-filled"]=E,e["arrow-filled-half"]=O,e["arrow-half"]=P,e["triangle-left"]=E,e["triangle-left-half"]=O}},{defined:B,error:T,merge:C,objectEach:I}=A(),R=A().deg2rad,D=Math.max,L=Math.min,G=class{constructor(t,e,i){this.init(t,e,i)}init(t,e,i){this.fromPoint=t,this.toPoint=e,this.options=i,this.chart=t.series.chart,this.pathfinder=this.chart.pathfinder}renderPath(t,e){let i=this.chart,s=i.styledMode,o=this.pathfinder,r={},n=this.graphics&&this.graphics.path;o.group||(o.group=i.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(i.seriesGroup)),o.group.translate(i.plotLeft,i.plotTop),n&&n.renderer||(n=i.renderer.path().add(o.group),s||n.attr({opacity:0})),n.attr(e),r.d=t,s||(r.opacity=1),n.animate(r),this.graphics=this.graphics||{},this.graphics.path=n}addMarker(t,e,i){let s,o,r,n,a,l,h,d;let c=this.fromPoint.series.chart,p=c.pathfinder,u=c.renderer,g="start"===t?this.fromPoint:this.toPoint,x=g.getPathfinderAnchorPoint(e);e.enabled&&((d="start"===t?i[1]:i[i.length-2])&&"M"===d[0]||"L"===d[0])&&(h={x:d[1],y:d[2]},o=g.getRadiansToVector(h,x),s=g.getMarkerVector(o,e.radius,x),r=-o/R,e.width&&e.height?(a=e.width,l=e.height):a=l=2*e.radius,this.graphics=this.graphics||{},n={x:s.x-a/2,y:s.y-l/2,width:a,height:l,rotation:r,rotationOriginX:s.x,rotationOriginY:s.y},this.graphics[t]?this.graphics[t].animate(n):(this.graphics[t]=u.symbol(e.symbol).addClass("highcharts-point-connecting-path-"+t+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(n).add(p.group),u.styledMode||this.graphics[t].attr({fill:e.color||this.fromPoint.color,stroke:e.lineColor,"stroke-width":e.lineWidth,opacity:0}).animate({opacity:1},g.series.options.animation)))}getPath(t){let e=this.pathfinder,i=this.chart,s=e.algorithms[t.type],o=e.chartObstacles;return"function"!=typeof s?(T('"'+t.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]}):(s.requiresObstacles&&!o&&(o=e.chartObstacles=e.getChartObstacles(t),i.options.connectors.algorithmMargin=t.algorithmMargin,e.chartObstacleMetrics=e.getObstacleMetrics(o)),s(this.fromPoint.getPathfinderAnchorPoint(t.startMarker),this.toPoint.getPathfinderAnchorPoint(t.endMarker),C({chartObstacles:o,lineObstacles:e.lineObstacles||[],obstacleMetrics:e.chartObstacleMetrics,hardBounds:{xMin:0,xMax:i.plotWidth,yMin:0,yMax:i.plotHeight},obstacleOptions:{margin:t.algorithmMargin},startDirectionX:e.getAlgorithmStartDirection(t.startMarker)},t)))}render(){let t=this.fromPoint,e=t.series,i=e.chart,s=i.pathfinder,o={},r=C(i.options.connectors,e.options.connectors,t.options.connectors,this.options);!i.styledMode&&(o.stroke=r.lineColor||t.color,o["stroke-width"]=r.lineWidth,r.dashStyle&&(o.dashstyle=r.dashStyle)),o.class="highcharts-point-connecting-path highcharts-color-"+t.colorIndex,B((r=C(o,r)).marker.radius)||(r.marker.radius=L(D(Math.ceil((r.algorithmMargin||8)/2)-1,1),5));let n=this.getPath(r),a=n.path;n.obstacles&&(s.lineObstacles=s.lineObstacles||[],s.lineObstacles=s.lineObstacles.concat(n.obstacles)),this.renderPath(a,o),this.addMarker("start",C(r.marker,r.startMarker),a),this.addMarker("end",C(r.marker,r.endMarker),a)}destroy(){this.graphics&&(I(this.graphics,function(t){t.destroy()}),delete this.graphics)}},{composed:z}=A(),{addEvent:N,merge:W,pushUnique:H,wrap:F}=A(),U={color:"#ccd3ff",width:2,label:{format:"%[abdYHM]",formatter:function(t,e){return this.axis.chart.time.dateFormat(e||"",t,!0)},rotation:0,style:{fontSize:"0.7em"}}};function X(){let t=this.options,e=t.currentDateIndicator;if(e){let i="object"==typeof e?W(U,e):W(U);i.value=Date.now(),i.className="highcharts-current-date-indicator",t.plotLines||(t.plotLines=[]),t.plotLines.push(i)}}function Y(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})}function V(t,e){let i=this.options;return i&&i.className&&-1!==i.className.indexOf("highcharts-current-date-indicator")&&i.label&&"function"==typeof i.label.formatter?(i.value=Date.now(),i.label.formatter.call(this,i.value,i.label.format)):t.call(this,e)}var _=v(960),j=v.n(_);let{defaultOptions:q}=A(),{isArray:Z,merge:$,splat:K}=A();class J extends j(){init(t,e){let i;let s=t.xAxis,o=t.yAxis;t.xAxis=t.yAxis=void 0;let r=$(!0,{chart:{type:"gantt"},title:{text:""},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},t,{isGantt:!0});t.xAxis=s,t.yAxis=o,r.xAxis=(Z(t.xAxis)?t.xAxis:[t.xAxis||{},{}]).map((t,e)=>(1===e&&(i=0),$({grid:{borderColor:"#cccccc",enabled:!0},opposite:q.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:"datetime"}))),r.yAxis=K(t.yAxis||{}).map(t=>$({grid:{borderColor:"#cccccc",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:"treegrid"},t)),super.init(r,e)}}!function(t){t.ganttChart=function(e,i,s){return new t(e,i,s)}}(J||(J={}));let Q=J;var tt=v(532),te=v.n(tt);let{isTouchDevice:ti}=A(),{addEvent:ts,merge:to,pick:tr}=A(),tn=[];function ta(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function tl(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=tr(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+tr(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function th(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this),tr(t.redraw,!0)&&this.redraw(t.animation))}function td(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this))}function tc(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!ti&&"x"===this.zooming.type||ti&&"x"===this.zooming.pinchType))return!1}function tp(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function tu(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(to(!0,this.options.navigator,e),to(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let tg={compose:function(t,e){if(A().pushUnique(tn,t)){let i=t.prototype;d=e,i.callbacks.push(tp),ts(t,"afterAddSeries",ta),ts(t,"afterSetChartSize",tl),ts(t,"afterUpdate",th),ts(t,"beforeRender",td),ts(t,"beforeShowResetZoom",tc),ts(t,"update",tu)}}},{isTouchDevice:tx}=A(),{addEvent:tf,correctFloat:tm,defined:tb,isNumber:ty,pick:tv}=A();function tM(){this.navigatorAxis||(this.navigatorAxis=new tA(this))}function tk(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||tx&&"xy"===n)&&this.options.range){let e=r.previousZoom;tb(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class tA{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),tf(t,"init",tM),tf(t,"setExtremes",tk))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=tv(i,o.translate(t,!0,!o.horiz)),a=tv(s,o.translate(e,!0,!o.horiz));return tb(i)||(n=tm(n+r)),tb(s)||(a=tm(a-r)),ty(n)&&ty(a)||(n=a=void 0),{min:n,max:a}}}var tw=v(620),tP=v.n(tw),tE=v(512),tO=v.n(tE);let{parse:tS}=tP(),{seriesTypes:tB}=tO(),tT={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:tS("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===tB.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{defined:tC,isNumber:tI,pick:tR}=A(),tD={rect:function(t,e,i,s,o){return o&&o.r?function(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}},{relativeLength:tL}=A(),tG={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,n=tL(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...tD.rect(-r-1,.5,2*r+1,s,{r:n})]}};var tz=v(608),tN=v.n(tz);let{defined:tW}=A(),{setOptions:tH}=A(),{composed:tF}=A(),{getRendererType:tU}=tN(),{setFixedRange:tX}={setFixedRange:function(t){let e=this.xAxis[0];tW(e.dataMax)&&tW(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:tY,extend:tV,pushUnique:t_}=A();function tj(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let tq={compose:function(t,e,i){tA.compose(e),t_(tF,"Navigator")&&(t.prototype.setFixedRange=tX,tV(tU().prototype.symbols,tG),tY(i,"afterUpdate",tj),tH({navigator:tT}))}},{composed:tZ}=A(),{addEvent:t$,defined:tK,pick:tJ,pushUnique:tQ}=A();!function(t){let e;function i(t){let e=tJ(t.options&&t.options.min,t.min),i=tJ(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:tK(t.dataMin)?Math.min(e,t.min,t.dataMin,tJ(t.threshold,1/0)):e,scrollMax:tK(t.dataMax)?Math.max(i,t.max,t.dataMax,tJ(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),t$(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:n,scrollMin:a,scrollMax:l}=i(t),h=l-a;if(tK(r)&&tK(n)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+h*this.to,o=a+h*this.from):(s=a+h*(1-this.from),o=a+h*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(n&&l){if(this.horiz)this.opposite||(l[1]+=a),n.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=n.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,n.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!tK(this.min)||!tK(this.max)||this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){tQ(tZ,"Axis.Scrollbar")&&(e=i,t$(t,"afterGetOffset",s),t$(t,"afterInit",o),t$(t,"afterRender",r))}}(u||(u={}));let t0=u,t1={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:t2}=A(),{addEvent:t3,correctFloat:t5,crisp:t6,defined:t4,destroyObjectProperties:t8,fireEvent:t9,merge:t7,pick:et,removeEvent:ee}=A();class ei{static compose(t){t0.compose(t,ei)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,t8(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(ei.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=t7(t1,t2.scrollbar,e),this.options.margin=et(this.options.margin,10),this.chart=i,this.size=et(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){ee.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-t6(0,r),y:-t6(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(ei.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-t6(0,this.scrollbarStrokeWidth),-t6(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!t4(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=t5(h-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return et(this.options.liveRedraw,A().svg&&!A().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!t4(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),t9(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,t7(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=t5(1-t5(e-t)),e=1),t<0&&(e=t5(e-t),t=0),this.from=t,this.to=e}}ei.defaultOptions=t1,t2.scrollbar=t7(!0,ei.defaultOptions,t2.scrollbar);var es=v(540),eo=v.n(es);let{defaultOptions:er}=A(),{isTouchDevice:en}=A(),{prototype:{symbols:ea}}=eo(),{addEvent:el,clamp:eh,correctFloat:ed,defined:ec,destroyObjectProperties:ep,erase:eu,extend:eg,find:ex,fireEvent:ef,isArray:em,isNumber:eb,merge:ey,pick:ev,removeEvent:eM,splat:ek}=A();function eA(t,...e){let i=[].filter.call(e,eb);if(i.length)return Math[t].apply(0,i)}class ew{static compose(t,e,i){tg.compose(t,ew),tq.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,x,f;i?(x=d+e+a,e=d+t+a,f=[["M",g+c,d-l-a],["L",g+c,x],["L",g,x],["M",g,e],["L",g+c,e],["L",g+c,d+h+l]],o&&f.push(["M",g+c,x-n],["L",g+c,e+n])):(g-=l,t+=g+l-a,e+=g+l-a,f=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+h+2*l,p]],o&&f.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,r,n,a;let l=this.left,h=this.top,d=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=ea[h].call(ea,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(ey(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),ec(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{eM(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(el(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,x,f,m=this.scrollbarHeight,b,y;if(this.hasDragged&&!ec(i))return;if(this.isDirty&&this.renderElements(),t=ed(t-n/2),e=ed(e+n/2),!eb(t)||!eb(e)){if(!h)return;i=0,s=ev(r.width,a.width)}this.left=ev(r.left,o.plotLeft+u+(d?o.plotWidth:0));let v=this.size=b=ev(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?m:b+2*u,i=ev(i,r.toPixels(t,!0)),s=ev(s,r.toPixels(e,!0)),eb(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=r.toValue(i,!0),k=r.toValue(s,!0),A=Math.abs(ed(k-M));Ap&&(this.grabbedLeft?i=r.toPixels(k-p-n,!0):this.grabbedRight&&(s=r.toPixels(M+p+n,!0))),this.zoomedMax=eh(Math.max(i,s),0,v),this.zoomedMin=eh(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),y=h&&!this.hasDragged?"animate":"attr",this.drawMasks(w,v,d,y),this.drawOutline(w,v,d,y),this.navigatorOptions.handles.enabled&&(this.drawHandle(w,0,d,y),this.drawHandle(v,1,d,y))),this.scrollbar&&(d?(f=this.top-u,x=this.left-m+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),m=b+2*u):(f=this.top+(l?this.height:-m),x=this.left-u),this.scrollbar.position(x,f,g,m),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,ef(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(el(e.renderTo,"mousemove",o),el(i.ownerDocument,"mouseup",r),el(e.renderTo,"touchmove",o),el(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(el(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(el(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-o):(p=l-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,ec((c=s.navigatorAxis.toFixedRange(p,p+n,d,h)).min)&&ef(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&ev(e.scrollbar.options.liveRedraw,!en&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n;let a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),ec((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&ef(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&eb(this.zoomedMin)&&eb(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){eM(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&eM(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,d=h.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(te())(t,ey({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),h.yAxis=new(te())(t,ey(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:ev(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),d||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=el(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*l,n=eA("min",s.options.min,o.dataMin),a=eA("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=tA.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=ey(t.options.scrollbar,{vertical:t.inverted});!eb(e.margin)&&h.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new ei(t.renderer,e,t),el(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=ev(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:ev(s.parse(r?.min),eA("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:ev(s.parse(r?.max),eA("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?ex(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(eM(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,h=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=eg({color:t.color,visible:t.visible},em(h)?er.navigator.series:h);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},p.dataLabels=ek(p.dataLabels),(l=ey(a,r,p,d)).pointRange=ev(p.pointRange,d.pointRange,er.plotOptions[l.type||"line"].pointRange);let u=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!u,l.data=u||a.data?.slice(0),c&&c.options?c.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(h.data&&!(o&&o.length)||em(h))&&(i.hasNavigatorData=!1,(h=ek(h)).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(l=ey(er.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(el(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(el(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(el(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(el(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(el(i,"remove",function(){e&&eu(e,i),this.navigatorSeries&&t.series&&(eu(t.series,this.navigatorSeries),ec(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=ev(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),d&&(t=a+c,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&eb(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=ev(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(eb(o)&&eb(r))&&(n&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{ep(t)}),this.navigatorEnabled=!1}}let eP={lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%[ebY]",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}},{defaultOptions:eE}=A(),{composed:eO}=A(),{addEvent:eS,defined:eB,extend:eT,isNumber:eC,merge:eI,pick:eR,pushUnique:eD}=A(),eL=[];function eG(){let t,e;let i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i=r.toParts(t),o=i.slice();"year"===s?o[0]+=e:o[1]+=e;let n=r.makeTime.apply(r,o),a=r.toParts(n);return"month"===s&&i[1]===a[1]&&1===Math.abs(e)&&(o[0]=i[0],o[1]=i[1],o[2]=0),(n=r.makeTime.apply(r,o))-t};eC(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=eR(this.dataMin,Number.MIN_VALUE);return eC(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,eR(this.dataMax,Number.MAX_VALUE))),eC(o)?!eC(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function ez(){this.rangeSelector?.redrawElements()}function eN(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new c(this))}function eW(){let t=this.rangeSelector;if(t){eC(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"top"!==e||(this.extraTopMargin=!0))}}function eH(){let t;let e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;eC(i.min)&&e.render(i.min,i.max),s.display&&"top"===o&&o===s.options.verticalAlign&&(t=eI(this.spacingBox),"vertical"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function eF(){for(let t=0,e=eL.length;tt()),eL.splice(t,1);return}}}function eU(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function eX(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;if(e&&e.enabled&&!eB(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new c(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o){let t=e&&e.verticalAlign||o.options&&o.options.verticalAlign;o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}let eY={compose:function(t,e,i){if(c=i,eD(eO,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=eG,eS(e,"afterGetContainer",eN),eS(e,"beforeRender",eW),eS(e,"destroy",eF),eS(e,"getMargins",eU),eS(e,"redraw",eH),eS(e,"update",eX),eS(e,"beforeRedraw",ez),i.callbacks.push(eH),eT(eE,{rangeSelector:eP.rangeSelector}),eT(eE.lang,eP.lang)}}};var eV=v(28),e_=v.n(eV);let{fireEvent:ej,isArray:eq,objectEach:eZ,uniqueKey:e$}=A(),eK=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||e$(),this.modified=this,this.rowCount=0,this.versionTag=e$();let e=0;eZ(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,eZ(this.columns,e=>{eq(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;eZ(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ej(this,"afterSetColumns"),this.versionTag=e$())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;eZ(t,(t,n)=>{let a=o[n]||s?.addColumns!==!1&&Array(r);a&&(i?a.splice(e,0,t):a[e]=t,o[n]=a)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(ej(this,"afterSetRows"),this.versionTag=e$())}},{addEvent:eJ,correctFloat:eQ,css:e0,defined:e1,error:e2,isNumber:e3,pick:e5,timeUnits:e6,isString:e4}=A();!function(t){function e(t,i,s,o,r=[],n=0,a){let l={},h=this.options.tickPixelInterval,d=this.chart.time,c=[],p,u,g,x,f,m=0,b=[],y=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let v=r.length;for(p=0;ps,r[p]5*n||f){if(r[p]>y){for(u=d.getTimeTicks(t,r[m],r[p],o);u.length&&u[0]<=y;)u.shift();u.length&&(y=u[u.length-1]),c.push(b.length),b=b.concat(u)}m=p+1}if(f)break}if(u){if(x=u.info,a&&x.unitRange<=e6.hour){for(m=1,p=b.length-1;mt-e),(a=i[Math.floor(i.length/2)])<.6*h&&(a=null),c=b[t-1]>s?t-1:t,n=void 0;c--;)d=Math.abs(n-(r=e[c])),n&&d<.8*h&&(null===a||d<.8*a)?(l[b[c]]&&!l[b[c+1]]?(o=c+1,n=r):o=c,b.splice(o,1)):n=r}return b}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let r=eQ((t-i)*s+this.minPixelPadding),n=eQ(e.getIndexOfPoint(r,o)),a=eQ(n%1);if(n>=0&&n<=o.length-1){let t=o[Math.floor(n)],e=o[Math.ceil(n)];return o[Math.floor(n)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function r(){this.ordinal||(this.ordinal=new t.Additions(this))}function n(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&e1(e.overscroll)&&0!==e.overscroll&&e3(this.max)&&e3(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&e1(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function l(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function h(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let n=this.mouseDownX,a=e.getExtremes(),l=a.dataMin,h=a.dataMax,d=a.min,c=a.max,p=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||u))),x=e.ordinal.getExtendedPositions(),f={ordinal:{positions:x,extendedOrdinalPositions:x}},m=e.index2val,b=e.val2lin;if(d<=l&&g<0||c+i>=h&&g>0)return;f.ordinal.positions?Math.abs(g)>1&&(p&&p.forEach(function(t){t.setState()}),h>(o=f.ordinal.positions)[o.length-1]&&o.push(h),this.setFixedRange(c-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,m.apply(f,[b.apply(f,[d,!0])+g]),m.apply(f,[b.apply(f,[c,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],c)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,e0(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function c(t,e){let i;let s=this.ordinal,r=s.positions,n=s.slope,a;if(!r)return t;let l=r.length;if(r[0]<=t&&r[l-1]>=t)i=o(r,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let l=a.length;n||(n=(a[l-1]-a[0])/l);let h=o(a,r[0]);if(t>=a[0]&&t<=a[l-1])i=o(a,t)-h;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(m=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),x=Math.min(x,e5(t.closestPointRange,x)),a)){for(e=0;e2){for(h=g[1]-g[0],u=a-1;u--&&!f;)g[u+1]-g[u]!==h&&(f=!0);!t.options.keepOrdinalPadding&&(g[0]-s>h||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===a?x=g[1]-g[0]:1===a?(x=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+x]):x=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=x,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),c=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=p=(o-s)/(c-d),e.offset=s-d*p):(e.overscrollPointsRange=e5(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),n=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),l,h,d=e.index;return d||(d=e.index={}),!d[r]&&((l={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+n}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=l,i.series.forEach(i=>{h={xAxis:l,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:A().noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);h.dataTable=new eK({columns:{x:s}}),h.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},l.series.push(h),i.processData.apply(h)}),l.applyGrouping({hasExtremesChanged:!0}),h?.closestPointRange!==h?.basePointRange&&h.currentDataGrouping&&(l.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:l}),!i.ordinal.originalOrdinalRange&&l.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=l.ordinal.originalOrdinalRange),l.ordinal.positions&&(d[r]=l.ordinal.positions)),d[r]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,r=[],n,a,l=this.groupIntervalFactor;if(!l){for(a=0;aRegExp(`%[[a-zA-Z]*${e}`).test(t);if(id(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=id(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=id(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class im{static compose(t,e){eY.compose(t,e,im)}constructor(t){this.isDirty=!1,this.buttonOptions=im.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},n=s.type,a=s.dataGrouping,l=r.dataMin,h=r.dataMax,d,c=ih(o?.max)?Math.round(Math.min(o.max,h??o.max)):void 0,p,u=s._range,g,x,f,m=!0;if(null!==l&&null!==h){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,te().prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===n||"year"===n)o?(x={range:s,max:c,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(x),ih(x.newMax)&&(c=x.newMax),m=!1):u=s;else if(u)ih(c)&&(c=Math.min((d=Math.max(c-u,l))+u,h),m=!1);else if("ytd"===n){if(o)!o.hasData()||ih(h)&&ih(l)||(l=Number.MAX_VALUE,h=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(l=Math.min(e[0],l),h=Math.max(e[e.length-1],h))}),e=!1),ih(h)&&ih(l)&&(d=g=(f=this.getYTDExtremes(h,l)).min,c=f.max);else{this.deferredYTDClick=t;return}}else"all"===n&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,c=h);if(m&&s._offsetMin&&ii(d)&&(d+=s._offsetMin),s._offsetMax&&ii(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)ih(d)&&ih(c)&&(o.setExtremes(d,c,iu(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{p=ig(i.options.xAxis||{})[0];let t=e7(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});e7(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=p.range,e.options.min=p.min,t()})}il(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&il(t,"blur"),i&&i.blur&&il(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(e7(t.container,"mousedown",r)),this.eventsToUnbind.push(e7(t,"resize",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(e7(t,"load",function(){t.xAxis&&t.xAxis[0]&&e7(t.xAxis[0],"setExtremes",function(i){ih(this.max)&&ih(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),n=!o.hasVisibleSeries,a=24*36e5,l=e.scroller&&e.scroller.getUnionExtremes()||o,h=l.dataMin,d=l.dataMax,c=t.getYTDExtremes(d,h),p=c.min,u=c.max,g=t.selected,x=t.options.allButtonsEnabled,f=Array(t.buttonOptions.length).fill(0),m=ih(g),b=t.buttons,y=!1,v=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,l=e.type,c=e.count||1,b=e._offsetMax-e._offsetMin,M=i===g,k=s>d-h,A=ss&&(P=!0)}else("month"===l||"year"===l)&&r+36e5>=({month:28,year:365})[l]*a*c-b&&r-36e5<=({month:31,year:366})[l]*a*c+b?P=!0:"ytd"===l?(P=u-p+b===r,w=!M):"all"===l&&(P=o.max-o.min>=d-h);let E=!x&&!(y&&"all"===l)&&(k||A||n),O=y&&"all"===l||!w&&P||M&&t.frozenStates;E?f[i]=3:O&&(!m||i===g)&&(v=i)}),null!==v?(f[v]=2,t.setSelected(v),this.dropdown&&(this.dropdown.selectedIndex=v+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(e9.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?c=void 0:cl&&(c=l)),void 0!==c&&r.setExtremes(h?c:r.min,h?r.max:c,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=l[h?"rangeSelectorFrom":"rangeSelectorTo"]||"",p=n.label(c,0).addClass("highcharts-range-label").attr({padding:c?2:0,height:c?a.inputBoxHeight:0}).add(s),u=n.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=it("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",ix(a.inputDateFormat||"%e %b %Y")),e.styledMode||(p.css(ic(r,a.labelStyle)),u.css(ic({color:"#333333"},r,a.inputStyle)),ie(g,ia({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===A().doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let x=!1;return g.onchange=()=>{x||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{x=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{x=!1},{dateBox:u,input:g,label:p}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=iu(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=it("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(ii(o.dataMin)&&ii(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=e9.lang,o=e.renderer,r=ic(i.buttonTheme),n=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=it("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),l=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},ic(r,{"stroke-width":iu(r["stroke-width"],0),width:"auto",paddingLeft:iu(i.buttonTheme.paddingLeft,l?.padding,8),paddingRight:iu(i.buttonTheme.paddingRight,l?.padding,8)}),n&&n.hover,n&&n.select,n&&n.disabled).hide().add(this.group),e7(a,"touchstart",()=>{a.style.fontSize="16px"});let h=A().isMS?"mouseover":"mouseenter",d=A().isMS?"mouseout":"mouseleave";e7(a,h,()=>{il(this.dropdownLabel.element,h)}),e7(a,d,()=>{il(this.dropdownLabel.element,d)}),e7(a,"change",()=>{il(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),it("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=ic(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:n,options:a}=this,l=n.renderer,h=ic(a.buttonTheme);o?.add(it("option",{textContent:t.title||t.text}),e+2),r[e]=l.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},h,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:c}=r,p=(t,e,s)=>l&&this.titleCollision(i)&&"top"===c&&s&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,h,"right"===h.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;r.inputEnabled&&o&&(l=p(o,d,"right"===h.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,x=s.getBBox().height+20,f=0;if("bottom"===c){let t=i.legend&&i.legend.options;f=g-(x=x+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+iu(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(f=0),i.titleOffset&&i.titleOffset[0]&&(f=i.titleOffset[0]),f+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===h.y?f=g:(d.y||h.y)&&(d.y<0||h.y<0?f-=Math.min(d.y,h.y):f=g-x)),s.translate(r.x,r.y+Math.floor(f));let{minInput:m,maxInput:b,dropdown:y}=this;r.inputEnabled&&m&&b&&(m.style.marginTop=s.translateY+"px",b.style.marginTop=s.translateY+"px"),y&&(y.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=ic(s.buttonTheme),r=o&&o.states,n=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(io(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,n,r),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i?a.align===r.align?(l(),o>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):o-t+s.getBBox().width>e.plotWidth?"responsive"===n?this.collapseButtons():l():this.expandButtons():i&&"responsive"===n&&(o>e.plotWidth?this.collapseButtons():this.expandButtons()),i&&("always"===n&&this.collapseButtons(),"never"===n&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),ie(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),ie(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(ic(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),ii(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),is(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),ip(t,function(e,i){e&&"chart"!==i&&(e instanceof e_()?e.destroy():e instanceof window.HTMLElement&&ir(e),delete t[i]),e!==im.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}ia(im.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let ib={applyRadius:function(t,e){let i=[];for(let s=0;s>1].xMin)>0)o=n+1;else{if(!(a<0))return n;r=n-1}return o>0?o-1:0}function iw(t,e){let i=iA(t,e.x+1)+1;for(;i--;){var s;if(t[i].xMax>=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return -1}function iP(t){let e=[];if(t.length){e.push(["M",t[0].start.x,t[0].start.y]);for(let i=0;iik(e.y-t.y))?"x":"y",h,d,c,p;function u(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function g(t,e,i){let s=ik(e[i]-t[i+"Min"])>ik(e[i]-t[i+"Max"]);return u(e,i,t,i+(s?"Max":"Min"),s?1:-1)}n>-1?(a={start:d=g(o[n],e,l),end:e},p=d):p=e,r>-1&&(d=g(h=o[r],t,l),s.push({start:t,end:d}),d[l]>=t[l]==d[l]>=p[l]&&(c=t[l="y"===l?"x":"y"]ik(e.y-t.y)),o=s?"x":"y",r=[],n=i.obstacleMetrics,a=iv(t.x,e.x)-n.maxWidth-10,l=iM(t.x,e.x)+n.maxWidth+10,h=iv(t.y,e.y)-n.maxHeight-10,d=iM(t.y,e.y)+n.maxHeight+10,c,p,u,g=!1,x=i.chartObstacles,f=iA(x,l),m=iA(x,a);function b(t,e,i){let s,o,r,n;let a=t.x0&&x[l].xMin<=o.x||a<0&&x[l].xMax>=s.x);){if(x[l].xMin<=o.x&&x[l].xMax>=s.x&&x[l].yMin<=r.y&&x[l].yMax>=n.y){if(i)return{y:t.y,x:t.x=r[a+"Max"],c=t[a+"Min"]<=r[a+"Min"],p=t[a+"Max"]>=n[a+"Max"],u=t[a+"Min"]<=n[a+"Min"],g=ik(t[a+"Min"]-e[a]),x=ik(t[a+"Max"]-e[a]),f=10>ik(g-x)?e[a]-1&&(u=function(t,e,s){let o=iv(t.xMax-e.x,e.x-t.xMin)-1;)p=e[o]-t[o]<0,(u={x:e.x,y:e.y})[o]=x[f][p?o+"Max":o+"Min"]+(p?1:-1),r.push({end:e,start:u}),e=u;return{path:iP(c=(c=function t(e,s,o){let r,n,c,p,u,f,m;if(e.x===s.x&&e.y===s.y)return[];let v=o?"x":"y",M=i.obstacleOptions.margin,k={soft:{xMin:a,xMax:l,yMin:h,yMax:d},hard:i.hardBounds};return(u=iw(x,e))>-1?(p=y(u=x[u],e,s,o,k),iE(u,i.hardBounds),m=o?{y:e.y,x:u[p?"xMax":"xMin"]+(p?1:-1)}:{x:e.x,y:u[p?"yMax":"yMin"]+(p?1:-1)},(f=iw(x,m))>-1&&(iE(f=x[f],i.hardBounds),m[v]=p?iM(u[v+"Max"]-M+1,(f[v+"Min"]+u[v+"Max"])/2):iv(u[v+"Min"]+M-1,(f[v+"Max"]+u[v+"Min"])/2),e.x===m.x&&e.y===m.y?(g&&(m[v]=p?iM(u[v+"Max"],f[v+"Max"])+1:iv(u[v+"Min"],f[v+"Min"])-1),g=!g):g=!1),n=[{start:e,end:m}]):(r=b(e,{x:o?s.x:e.x,y:o?e.y:s.y},o),n=[{start:e,end:{x:r.x,y:r.y}}],r[o?"x":"y"]!==s[o?"x":"y"]&&(p=y(r.obstacle,r,s,!o,k),iE(r.obstacle,i.hardBounds),c={x:o?r.x:r.obstacle[p?"xMax":"xMin"]+(p?1:-1),y:o?r.obstacle[p?"yMax":"yMin"]+(p?1:-1):r.y},o=!o,n=n.concat(t({x:r.x,y:r.y},c,o)))),n=n.concat(t(n[n.length-1].end,s,!o))}(t,e,s)).concat(r.reverse())),obstacles:c}}iO.requiresObstacles=!0,iS.requiresObstacles=!0;let iB={connectors:{type:"straight",radius:0,lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}},{setOptions:iT}=A(),{defined:iC,error:iI,merge:iR}=A();function iD(t){let e=t.shapeArgs;if(e)return{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)};let i=t.graphic&&t.graphic.getBBox();return i?{xMin:t.plotX-i.width/2,xMax:t.plotX+i.width/2,yMin:t.plotY-i.height/2,yMax:t.plotY+i.height/2}:null}!function(t){function e(t){let e,i;let s=iD(this);switch(t.align){case"right":e="xMax";break;case"left":e="xMin"}switch(t.verticalAlign){case"top":i="yMin";break;case"bottom":i="yMax"}return{x:e?s[e]:(s.xMin+s.xMax)/2,y:i?s[i]:(s.yMin+s.yMax)/2}}function i(t,e){let i;return!iC(e)&&(i=iD(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)}function s(t,e,i){let s=2*Math.PI,o=iD(this),r=o.xMax-o.xMin,n=o.yMax-o.yMin,a=Math.atan2(n,r),l=r/2,h=n/2,d=o.xMin+l,c=o.yMin+h,p={x:d,y:c},u=t,g=1,x=!1,f=1,m=1;for(;u<-Math.PI;)u+=s;for(;u>Math.PI;)u-=s;return g=Math.tan(u),u>-a&&u<=a?(m=-1,x=!0):u>a&&u<=Math.PI-a?m=-1:u>Math.PI-a||u<=-(Math.PI-a)?(f=-1,x=!0):f=-1,x?(p.x+=f*l,p.y+=m*l*g):(p.x+=n/(2*g)*f,p.y+=m*h),i.x!==d&&(p.x=i.x),i.y!==c&&(p.y=i.y),{x:p.x+e*Math.cos(u),y:p.y-e*Math.sin(u)}}t.compose=function(t,o,r){let n=r.prototype;n.getPathfinderAnchorPoint||(t.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&((t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&iR(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(iR(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),iI('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')),this.pathfinder=new o(this),this.pathfinder.update(!0))}),n.getMarkerVector=s,n.getPathfinderAnchorPoint=e,n.getRadiansToVector=i,iT(iB))}}(x||(x={}));let iL=x;var iG=v(260),iz=v.n(iG);let{addEvent:iN,defined:iW,pick:iH,splat:iF}=A(),iU=Math.max,iX=Math.min;class iY{static compose(t,e){iL.compose(t,iY,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],iN(t,"redraw",function(){this.pathfinder.update()})}update(t){let e=this.chart,i=this,s=i.connections;i.connections=[],e.series.forEach(function(t){t.visible&&!t.options.isInternal&&t.points.forEach(function(t){let s;let o=t.options;o&&o.dependency&&(o.connect=o.dependency);let r=t.options?.connect?iF(t.options.connect):[];t.visible&&!1!==t.isInside&&r.forEach(o=>{let r="string"==typeof o?o:o.to;r&&(s=e.get(r)),s instanceof iz()&&s.series.visible&&s.visible&&!1!==s.isInside&&i.connections.push(new G(t,s,"string"==typeof o?{}:o))})})});for(let t=0,e,o,r=s.length,n=i.connections.length;ti.yMin-o&&e.yMin-oi.xMin-o&&e.xMin-oi.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,l=n?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return n&&r?o?t(e,i,Math.floor(o/2)):1/0:iX(a,l)}(t[o],t[r]))<80&&s.push(e);return s.push(80),iU(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}(s),s.forEach(function(t){t.xMin-=o,t.xMax+=o,t.yMin-=o,t.yMax+=o})),s}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e=1&&(e.plotHeight=o,e.redrawTrigger="adjustHeight",e.setSize(void 0,e.chartHeight+r,i)),t.series.forEach(function(t){let i=t.sharedClipKey&&e.sharedClips[t.sharedClipKey];i&&i.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}let iJ={compose:function(t,e){let i=e.prototype;i.adjustHeight||(i_(t,"afterSetOptions",i$),i.adjustHeight=iK,i_(e,"render",i.adjustHeight))}},iQ=A();iJ.compose(iQ.Axis,iQ.Chart);let{correctFloat:i0,isNumber:i1,isObject:i2}=A(),{column:{prototype:{pointClass:i3}}}=tO().seriesTypes,{extend:i5}=A();class i6 extends i3{static getColorByCategory(t,e){let i=t.options.colors||t.chart.options.colors,s=i?i.length:t.chart.options.chart.colorCount,o=e.y%s,r=i&&i[o];return{colorIndex:o,color:r}}resolveColor(){let t=this.series;if(t.options.colorByPoint&&!this.options.color){let e=i6.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color=this.options.color||t.color}constructor(t,e){super(t,e),this.y||(this.y=0)}applyOptions(t,e){return super.applyOptions(t,e),this.x2=this.series.chart.time.parse(this.x2),this.isNull=!this.isValid?.(),this}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}isValid(){return"number"==typeof this.x&&"number"==typeof this.x2}}i5(i6.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});let{composed:i4,noop:i8}=A(),{parse:i9}=tP(),{column:i7}=tO().seriesTypes,{addEvent:st,clamp:se,crisp:si,defined:ss,extend:so,find:sr,isNumber:sn,isObject:sa,merge:sl,pick:sh,pushUnique:sd,relativeLength:sc}=A();function sp(){let t,e;if(this.isXAxis){for(let i of(t=sh(this.dataMax,-Number.MAX_VALUE),this.series)){let s=i.dataTable.getColumn("x2",!0)||i.dataTable.getColumn("end",!0);if(s)for(let i of s)sn(i)&&i>t&&(t=i,e=!0)}e&&(this.dataMax=t)}}class su extends i7{static compose(t){sd(i4,"Series.XRange")&&st(t,"afterGetSeriesExtremes",sp)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let t=()=>{for(let t of this.chart.series){let e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}};t();let e=super.getColumnMetrics();return t(),e}cropData(t,e,i){let s=t.getColumn("x")||[],o=t.getColumn("x2");t.setColumn("x",o,void 0,{silent:!0});let r=super.cropData(t,e,i);return t.setColumn("x",s.slice(r.start,r.end),void 0,{silent:!0}),r}findPointIndex(t){let e;let{cropStart:i,points:s}=this,{id:o}=t;if(o){let t=sr(s,t=>t.id===o);e=t?t.index:void 0}if(void 0===e){let i=sr(s,e=>e.x===t.x&&e.x2===t.x2&&!e.touched);e=i?i.index:void 0}return this.cropped&&sn(e)&&sn(i)&&e>=i&&(e-=i),e}alignDataLabel(t){let e=t.plotX;t.plotX=sh(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:`${t.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=s.offset,l=sh(t.x2,t.x+(t.len||0)),h=o.borderRadius,d=this.chart.plotTop,c=this.chart.plotLeft,p=t.plotX,u=e.translate(l,0,0,0,1),g=Math.abs(u-p),x=this.chart.inverted,f=sh(o.borderWidth,1),m,b,y=s.offset,v=Math.round(s.width),M,k,A,w;r&&((m=r-g)<0&&(m=0),p-=m/2,u+=m/2),p=Math.max(p,-10),u=se(u,-10,e.len+10),ss(t.options.pointWidth)&&(y-=(Math.ceil(t.options.pointWidth)-v)/2,v=Math.ceil(t.options.pointWidth)),o.pointPlacement&&sn(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));let P=si(Math.min(p,u),f),E=si(Math.max(p,u),f)-P,O=Math.min(sc("object"==typeof h?h.radius:h||0,v),Math.min(E,v)/2),S={x:P,y:si((t.plotY||0)+y,f),width:E,height:v,r:O};t.shapeArgs=S,x?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-S.width/2,k=(M=S.x)+S.width,M<0||k>e.len?(M=se(M,0,e.len),A=(k=se(k,0,e.len))-M,t.dlBox=sl(S,{x:M,width:k-M,centerX:A?A/2:null})):t.dlBox=null;let B=t.tooltipPos,T=x?1:0,C=x?0:1,I=this.columnMetrics?this.columnMetrics.offset:-s.width/2;x?B[T]+=S.width/2:B[T]=se(B[T]+(e.reversed?-1:0)*S.width,e.left-c,e.left+e.len-c-1),B[C]=se(B[C]+(x?-1:1)*I,i.top-d,i.top+i.len-d-1),(b=t.partialFill)&&(sa(b)&&(b=b.amount),sn(b)||(b=0),t.partShapeArgs=sl(S),w=Math.max(Math.round(g*b+t.plotX-p),0),t.clipRectArgs={x:e.reversed?S.x+g-w:S.x,y:S.y,width:w,height:S.height}),t.key=t.category||t.name,t.yCategory=i.categories?.[t.y??-1]}translate(){for(let t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,n=t.partShapeArgs,a=t.clipRectArgs,l=t.state,h=i.states[l||"normal"]||{},d=void 0===l?"attr":e,c=this.pointAttribs(t,l),p=sh(this.chart.options.chart.animation,h.animation),u=t.graphic,g=t.partialFill;if(t.isNull||!1===t.visible)u&&(t.graphic=u.destroy());else if(u?u.rect[e](r):(t.graphic=u=s.g("point").addClass(t.getClassName()).add(t.group||this.group),u.rect=s[o](sl(r)).addClass(t.getClassName()).addClass("highcharts-partfill-original").add(u)),n&&(u.partRect?(u.partRect[e](sl(n)),u.partialClipRect[e](sl(a))):(u.partialClipRect=s.clipRect(a.x,a.y,a.width,a.height),u.partRect=s[o](n).addClass("highcharts-partfill-overlay").add(u).clip(u.partialClipRect))),!this.chart.styledMode&&(u.rect[e](c,p).shadow(i.shadow),n)){sa(g)||(g={}),sa(i.partialFill)&&(g=sl(i.partialFill,g));let e=g.fill||i9(c.fill).brighten(-.3).get()||i9(t.color||this.color).brighten(-.3).get();c.fill=e,u.partRect[d](c,p).shadow(i.shadow)}}drawPoints(){let t=this.getAnimationVerb();for(let e of this.points)this.drawPoint(e,t)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(t){let e=t.shapeArgs,i=t.plotX,s=t.plotY;return e?void 0!==i&&void 0!==s&&s>=0&&s<=this.yAxis.len&&(e.x||0)+(e.width||0)>=0&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}su.defaultOptions=sl(i7.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){let t=this.partialFill;if(i2(t)&&(t=t.amount),i1(t)&&t>0)return i0(100*t)+"%"},inside:!0,verticalAlign:"middle",style:{whiteSpace:"nowrap"}},tooltip:{headerFormat:'{ucfirst point.x} - {point.x2}
',pointFormat:' {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}),so(su.prototype,{pointClass:i6,pointArrayMap:["x2","y"],getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:tO().series.prototype.animate,autoIncrement:i8,buildKDTree:i8}),tO().registerSeriesType("xrange",su);/** + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/xrange * @requires highcharts * @@ -18,8 +18,8 @@ * (c) 2010-2024 Torstein Honsi, Lars A. V. Cabrera * * License: www.highcharts.com/license - */let sg=A();su.compose(sg.Axis);let{xrange:{prototype:{pointClass:sx}}}=tO().seriesTypes;class sf extends sx{static setGanttPointAliases(t,e){t.x=t.start=e.time.parse(t.start??t.x),t.x2=t.end=e.time.parse(t.end??t.x2),t.partialFill=t.completed=t.completed??t.partialFill}applyOptions(t,e){let i=super.applyOptions(t,e);return sf.setGanttPointAliases(i,i.series.chart),this.isNull=!this.isValid?.(),i}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}let{isNumber:sm}=A();var sb=v(184),sy=v.n(sb);let{addEvent:sv,find:sM,fireEvent:sk,isArray:sA,isNumber:sw,pick:sP}=A();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,n;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(n&&!1!==n.visible||(n=i[r+1]),t=i[r],!1!==n.visible&&!1!==t.visible){if(n.x-t.x>o){let e=(t.x+n.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(sy())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}n=t}}return this.getGraphPath(i)}t.compose=function(t,h){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),sv(t,"init",o),sv(t,"afterInit",e),sv(t,"afterSetTickPositions",s),sv(t,"afterSetOptions",i);let d=h.prototype;d.drawBreaks=a,d.gappedPath=l,sv(h,"afterGeneratePoints",r),sv(h,"afterRender",n)}return t};class h{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(h.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return sM(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==h.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=h.lin2Val,s.val2lin=h.val2Lin,s.setExtremes=function(t,e,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=l;for(;p{t.getOffset()})}i&&t.apply(this)}function sF(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:s,left:o,offset:r,opposite:n,options:a,top:l,width:h}=this,d=this.tickSize(),c=e&&e.getBBox().width,p=a.title.x,u=a.title.y,g=sG(a.title.margin,s?5:10),x=e?this.chart.renderer.fontMetrics(e).f:0,f=(s?l+i:o)+(s?1:-1)*(n?-1:1)*(d?d[0]/2:0)+(this.side===m.bottom?x:0);t.titlePosition.x=s?o-(c||0)/2-g+p:f+(n?h:0)+r+p,t.titlePosition.y=s?f-(n?i:0)+(n?x:-x)/2+r+u:l-g+u}}function sU(){let{chart:t,options:{grid:e={}},userOptions:i}=this;if(e.enabled&&function(t){let e=t.options;e.labels.align=sG(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}(this),e.columns){let s=this.grid.columns=[],o=this.grid.columnIndex=0;for(;++ot.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;let i=this.tickmarkOffset,r=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[r].label)&&(r-o>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[r].mark;a&&r-o0&&this.ticks[r].isLast&&this.hiddenMarks.push(a.hide())}}}function sY(){let t=this.tickPositions&&this.tickPositions.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!sB(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align="left",sB(s.x)||(e.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function sV(t){let e;let i=this.options,s=t.userOptions,o=i&&sN(i.grid)?i.grid:{};!0===o.enabled&&(e=sD(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[E]"]},week:{list:["Week %W","W%W"]},month:{list:["%[B]","%[b]","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(sB(s.linkedTo)&&!sB(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!sB(s.tickPixelInterval)&&sB(s.linkedTo))||sB(s.tickPositioner)||sB(s.tickInterval)||sB(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=e.units||[],r,n=1,a="year";for(let t=0;tt.setScale())}function sq(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=e?s.cellHeight||o+i.height:o+i.width;sI(t.tickSize)?t.tickSize[0]=r:t.tickSize=[r,0]}}function sZ(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function s$(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function sK(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&sB(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new s2(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function sJ(t){let e=this.label,i=this.axis,s=i.reversed,o=i.chart,r=i.options.grid||{},n=i.options.labels,a=n.align,l=m[i.side],h=t.tickmarkOffset,d=i.tickPositions,c=this.pos-h,p=sR(d[t.index+1])?d[t.index+1]-h:(i.max||0)+h,u=i.tickSize("tick"),g=u?u[0]:0,x=u?u[1]/2:0;if(!0===r.enabled){let r,h,d,u;if("top"===l?h=(r=i.top+i.offset)-g:"bottom"===l?r=(h=o.chartHeight-i.bottom+i.offset)+g:(r=i.top+i.len-(i.translate(s?p:c)||0),h=i.top+i.len-(i.translate(s?c:p)||0)),"right"===l?u=(d=o.chartWidth-i.right+i.offset)+g:"left"===l?d=(u=i.left+i.offset)-g:(d=Math.round(i.left+(i.translate(s?p:c)||0))-x,u=Math.min(Math.round(i.left+(i.translate(s?c:p)||0))-x,i.left+i.len)),this.slotWidth=u-d,t.pos.x="left"===a?d:"right"===a?u:d+(u-d)/2,t.pos.y=h+(r-h)/2,e){let i=o.renderer.fontMetrics(e),s=e.getBBox().height;if(n.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&n.x||0}}function sQ(t){let{axis:e,value:i}=t;if(e.options.grid&&e.options.grid.enabled){let s;let o=e.tickPositions,r=(e.linkedParent||e).series[0],n=i===o[0],a=i===o[o.length-1],l=r&&sC(r.options.data,function(t){return t[e.isXAxis?"x":"y"]===i});l&&r.is("gantt")&&(s=sD(l),A().seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,e.chart)),t.isFirst=n,t.isLast=a,t.point=s}}function s0(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,h=this.linkedParent&&this.linkedParent.max,d=l||this.min,c=h||this.max,p=this.tickInterval,u=sR(d)&&d>=o+p&&dd,x=sR(c)&&n>c&&n-pa;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!t.startOnTick&&(s[0]=d),(x||f)&&!t.endOnTick&&(s[s.length-1]=c))}function s1(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}!function(t){t[t.top=0]="top",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.left=3]="left"}(m||(m={}));class s2{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],o=i?t.linkedParent:t,r=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e!==o||(r=i))}),n===r&&(!sR(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}sO.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},sO.W=function(t){let e=this.toParts(t),i=(e[7]+6)%7,s=e.slice(0);s[2]=e[2]-i+3;let o=this.toParts(this.makeTime(s[0],0,1));return 4!==o[7]&&(e[1]=0,e[2]=1+(11-o[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(o[0],o[1],o[2]))/6048e5)).toString()};let s3={compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=sW,sz(t.prototype,"unsquish",s1),sz(t.prototype,"getOffset",sH),sS(t,"init",sK),sS(t,"afterGetTitlePosition",sF),sS(t,"afterInit",sU),sS(t,"afterRender",sX),sS(t,"afterSetAxisTranslation",sY),sS(t,"afterSetOptions",sV),sS(t,"afterSetOptions",s_),sS(t,"afterSetScale",sj),sS(t,"afterTickSize",sq),sS(t,"trimTicks",s0),sS(t,"destroy",s$),sS(e,"afterSetChartSize",sZ),sS(i,"afterGetLabelPosition",sJ),sS(i,"labelFormat",sQ)),t}},{extend:s5,isNumber:s6,pick:s4}=A();function s8(t,e,i,s,o,r){let n=r&&r.after,a=r&&r.before,l={data:s,depth:i-1,id:t,level:i,parent:e||""},h=0,d=0,c,p;"function"==typeof a&&a(l,r);let u=(o[t]||[]).map(e=>{let s=s8(e.id,t,i+1,e,o,r),n=e.start||NaN,a=!0===e.milestone?n:e.end||NaN;return c=!s6(c)||np?a:p,h=h+1+s.descendants,d=Math.max(s.height+1,d),s});return s&&(s.start=s4(s.start,c),s.end=s4(s.end,p)),s5(l,{children:u,descendants:h,height:d}),"function"==typeof n&&n(l,r),l}let s9={getNode:s8,getTree:function(t,e){return s8("",null,1,null,function(t){let e=[],i=t.reduce((t,i)=>{let{parent:s="",id:o}=i;return void 0===t[s]&&(t[s]=[]),t[s].push(i),o&&e.push(o),t},{});return Object.keys(i).forEach(t=>{if(""!==t&&-1===e.indexOf(t)){let e=i[t].map(function(t){let{...e}=t;return e});i[""].push(...e),delete i[t]}}),i}(t),e)}},{addEvent:s7,removeEvent:ot,isObject:oe,isNumber:oi,pick:os,wrap:oo}=A();function or(){this.treeGrid||(this.treeGrid=new ol(this))}function on(t,e,i,s,o,r,n,a,l){let h,d,c;let p=os(this.options&&this.options.labels,r),u=this.pos,g=this.axis,x="treegrid"===g.type,f=t.apply(this,[e,i,s,o,p,n,a,l]);if(x){let{width:t=0,padding:e=g.linkedParent?0:5}=p&&oe(p.symbol,!0)?p.symbol:{},i=p&&oi(p.indentation)?p.indentation:0;c=(d=(h=g.treeGrid.mapOfPosToGridNode)&&h[u])&&d.depth||1,f.x+=t+2*e+(c-1)*i}return f}function oa(t){let e,i,s;let{pos:o,axis:r,label:n,treeGrid:a,options:l}=this,h=a?.labelIcon,d=n?.element,{treeGrid:c,options:p,chart:u,tickPositions:g}=r,x=c.mapOfPosToGridNode,f=os(l?.labels,p?.labels),m=f&&oe(f.symbol,!0)?f.symbol:{},b=x&&x[o],{descendants:y,depth:v}=b||{},M=b&&y&&y>0,k="treegrid"===r.type&&d,A=g.indexOf(o)>-1,w="highcharts-treegrid-node-",P=w+"level-",E=u.styledMode;k&&b&&n.removeClass(RegExp(P+".*")).addClass(P+v),t.apply(this,Array.prototype.slice.call(arguments,1)),k&&M?(e=c.isCollapsed(b),function(t,e){let i=t.treeGrid,s=!i.labelIcon,o=e.renderer,r=e.xy,n=e.options,a=n.width||0,l=n.height||0,h=n.padding??t.axis.linkedParent?0:5,d={x:r.x-a/2-h,y:r.y-l/2},c=e.collapsed?90:180,p=e.show&&oi(d.y),u=i.labelIcon;u||(i.labelIcon=u=o.path(o.symbols[n.type](n.x||0,n.y||0,a,l)).addClass("highcharts-label-icon").add(e.group)),u[p?"show":"hide"](),o.styledMode||u.attr({cursor:"pointer",fill:os(e.color,"#666666"),"stroke-width":1,stroke:n.lineColor,strokeWidth:n.lineWidth||0}),u[s?"attr":"animate"]({translateX:d.x,translateY:d.y,rotation:c})}(this,{color:!E&&n.styles.color||"",collapsed:e,group:n.parentGroup,options:m,renderer:n.renderer,show:A,xy:n.xy}),i=w+(e?"collapsed":"expanded"),s=w+(e?"expanded":"collapsed"),n.addClass(i).removeClass(s),E||n.css({cursor:"pointer"}),[n,h].forEach(t=>{t&&!t.attachedTreeGridEvents&&(s7(t.element,"mouseover",function(){n.addClass("highcharts-treegrid-node-active"),n.renderer.styledMode||n.css({textDecoration:"underline"})}),s7(t.element,"mouseout",function(){!function(t,e){let i=oe(e.style)?e.style:{};t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:i.textDecoration||"none"})}(n,f)}),s7(t.element,"click",function(){a.toggleCollapse()}),t.attachedTreeGridEvents=!0)})):h&&(ot(d),n?.css({cursor:"default"}),h.destroy())}class ol{static compose(t){let e=t.prototype;e.toggleCollapse||(s7(t,"init",or),oo(e,"getLabelPosition",on),oo(e,"renderLabel",oa),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.collapse(r);s.setBreaks(n,os(t,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;if(o&&r){let i=r[e],n=s.expand(i);o.setBreaks(n,os(t,!0))}}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.toggleCollapse(r);s.setBreaks(n,os(t,!0))}}}let{extend:oh,isArray:od,isNumber:oc,isObject:op,merge:ou,pick:og,relativeLength:ox}=A(),{getLevelOptions:of}={getColor:function(t,e){let i,s,o,r,n,a;let l=e.index,h=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,x=p.points,f=p.chart.options.chart;return t&&(i=x[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:f.colorCount),o=u&&u[r]),p.chart.styledMode||(n=og(i&&i.options.color,s&&s.color,o,d&&(t=>{let e=s&&s.colorVariation;return e&&"brightness"===e.key&&l&&g?tP().parse(t).brighten(e.to*(l/g)).get():t})(d),p.color)),a=og(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:n,colorIndex:a}},getLevelOptions:function(t){let e,i,s,o,r,n;let a={};if(op(t))for(o=oc(t.from)?t.from:1,n=t.levels,i={},e=op(t.defaults)?t.defaults:{},od(n)&&(i=n.reduce((t,i)=>{let s,r,n;return op(i)&&oc(i.level)&&(r=og((n=ou({},i)).levelIsConstant,e.levelIsConstant),delete n.levelIsConstant,delete n.level,op(t[s=i.level+(r?0:o-1)])?ou(!0,t[s],n):t[s]=n),t},{})),r=oc(t.to)?t.to:1,s=0;s<=r;s++)a[s]=ou({},e,op(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(e+parseFloat(o)/100*(e-1));let t=Number(o);return(n+t)/(e||1)-t}return ox(r,n)},setTreeValues:function t(e,i){let s=i.before,o=i.idRoot,r=i.mapIdToNode[o],n=!1!==i.levelIsConstant,a=i.points[e.i],l=a&&a.options||{},h=[],d=0;e.levelDynamic=e.level-(n?0:r.level),e.name=og(a&&a.name,""),e.visible=o===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,o)=>{let r=oh({},i);oh(r,{index:o,siblings:e.children.length,visible:e.visible}),s=t(s,r),h.push(s),s.visible&&(d+=s.val)});let c=og(l.value,d);return e.visible=c>=0&&(d>0||e.visible),e.children=h,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=c,e},updateRootId:function(t){let e,i;return op(t)&&(i=op(t.options)?t.options:{},e=og(t.rootNode,i.rootId,""),op(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}},{addEvent:om,isArray:ob,splat:oy,find:ov,fireEvent:oM,isObject:ok,isString:oA,merge:ow,pick:oP,removeEvent:oE,wrap:oO}=A();function oS(t,e){let i=t.collapseEnd||0,s=t.collapseStart||0;return i>=e&&(s-=.5),{from:s,to:i,showPoints:!1}}function oB(t,e,i){let s=[],o=[],r={},n=e||!1,a={},l=-1,h=s9.getTree(t,{after:function(t){let e=a[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&o.push(e)},before:function(t){let e,i;let o=ok(t.data,!0)?t.data:{},h=oA(o.name)?o.name:"",d=r[t.parent],c=ok(d,!0)?a[d.pos]:null;n&&ok(c,!0)&&(e=ov(c.children,function(t){return t.name===h}))?(i=e.pos,e.nodes.push(t)):i=l++,!a[i]&&(a[i]=e={depth:c?c.depth+1:0,name:h,id:o.id,nodes:[t],children:[],pos:i},-1!==i&&s.push(h),ok(c,!0)&&c.children.push(e)),oA(t.id)&&(r[t.id]=t),e&&!0===o.collapsed&&(e.collapsed=!0),t.pos=i}});return{categories:s,mapOfIdToNode:r,mapOfPosToGridNode:a=function(t,e){let i=function(t,s,o){let r=t.nodes,n=s+(-1===s?0:e-1),a=(n-s)/2,l=s+a;return r.forEach(function(t){let e=t.data;ok(e,!0)&&(e.y=s+(e.seriesIndex||0),delete e.seriesIndex),t.pos=l}),o[l]=t,t.pos=l,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){i(t,n+1,o),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,o};return i(t["-1"],-1,{})}(a,i),collapsedNodes:o,tree:h}}function oT(t){let e=t.target;e.axes.filter(t=>"treegrid"===t.type).forEach(function(i){let s=i.options||{},o=s.labels,r=i.uniqueNames,n=e.time.parse(s.max),a=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),l=0,h,d;if(a){let s=[];if(h=i.series.reduce(function(t,i){let o=i.options.data||[],n=o[0],a=Array.isArray(n)&&!n.find(t=>"object"==typeof t);return s.push(a),i.visible&&(o.forEach(function(s){(a||i.options.keys&&i.options.keys.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,e)),ok(s,!0)&&(s.seriesIndex=l,t.push(s))}),!0===r&&l++),t},[]),n&&h.length=0&&e.indexOf(t.x2||0)>=0&&(i=t)}),ok(i,!0)?ow(i):i});t.visible&&t.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=of({defaults:o,from:1,levels:o&&o.levels,to:i.treeGrid.tree&&i.treeGrid.tree.height}),"beforeRender"===t.type&&(i.treeGrid.collapsedNodes=d.collapsedNodes)}})}function oC(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,o=this.ticks,r=o[e],n,a,l;s&&this.treeGrid.mapOfPosToGridNode?((n=i[(l=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(a={labels:n}),!r&&p?o[e]=r=new p(this,e,void 0,void 0,{category:l.name,tickmarkOffset:l.tickmarkOffset,options:a}):(r.parameters.category=l.name,r.options=a,r.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function oI(t,e,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new oG(o)),r&&(om(e,"beforeRender",oT),om(e,"beforeRedraw",oT),om(e,"addSeries",function(t){if(t.options.data){let e=oB(t.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),om(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){let e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),om(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=ow({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function oR(t){let e=this.options,i=this.chart.time,s="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(e.min)??this.dataMin,this.max=this.userMax??i.parse(e.max)??this.dataMax,oM(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let t=s.getExtremes();this.min=oP(t.min,t.dataMin),this.max=oP(t.max,t.dataMax),this.tickPositions=s.tickPositions}this.linkedParent=s}else t.apply(this,Array.prototype.slice.call(arguments,1))}function oD(t){let e=this;"treegrid"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label&&i.label.attachedTreeGridEvents&&(oE(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class oG{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),oO(e,"generateTick",oC),oO(e,"init",oI),oO(e,"setTickInterval",oR),oO(e,"redraw",oD),e.utils={getNode:s9.getNode},p||(p=s)}return s3.compose(t,e,s),sE.compose(t,i),ol.compose(s),t}constructor(t){this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let o=i.get(t.id),r=s[e.data.indexOf(o)];o&&r&&(o.collapsed=t.collapsed,r.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return(e.to!==s.to||e.from!==s.from)&&t.push(e),t},[])}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=e&&r<=i&&!(t.brokenAxis&&t.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}let{series:oL,seriesTypes:{xrange:oz}}=tO(),{extend:oN,isNumber:oW,merge:oH}=A();class oF extends oz{static compose(t,e,i,s){oz.compose(t),e&&(iJ.compose(t,e),i)&&(iY.compose(e,i.prototype.pointClass),s&&oG.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,n=t.selected&&"select",a=i.stacking&&!i.borderRadius,l=t.graphic,h;t.options.milestone?oW(r)&&null!==t.y&&!1!==t.visible?(h=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),l?l[e]({d:h}):t.graphic=l=s.path(h).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,n)).shadow(i.shadow,null,a)):l&&(t.graphic=l.destroy()):super.drawPoint(t,e)}translatePoint(t){let e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}oF.defaultOptions=oH(oz.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,n=o.xDateFormat,a=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!n&&sm(this.start)&&(n=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));let l=t.chart.time.dateFormat(n,this.start),h=t.chart.time.dateFormat(n,this.end);return a+="
",r?a+=l+"
":a+="Start: "+l+"
End: "+h+"
",a}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),oN(oF.prototype,{pointArrayMap:["start","end","y"],pointClass:sf,setData:oL.prototype.setData}),tO().registerSeriesType("gantt",oF);/** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + */let sg=A();su.compose(sg.Axis);let{xrange:{prototype:{pointClass:sx}}}=tO().seriesTypes;class sf extends sx{static setGanttPointAliases(t,e){t.x=t.start=e.time.parse(t.start??t.x),t.x2=t.end=e.time.parse(t.end??t.x2),t.partialFill=t.completed=t.completed??t.partialFill}applyOptions(t,e){let i=super.applyOptions(t,e);return sf.setGanttPointAliases(i,i.series.chart),this.isNull=!this.isValid?.(),i}isValid(){return("number"==typeof this.start||"number"==typeof this.x)&&("number"==typeof this.end||"number"==typeof this.x2||this.milestone)}}let{isNumber:sm}=A();var sb=v(184),sy=v.n(sb);let{addEvent:sv,find:sM,fireEvent:sk,isArray:sA,isNumber:sw,pick:sP}=A();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,n;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);r--;)if(n&&!1!==n.visible||(n=i[r+1]),t=i[r],!1!==n.visible&&!1!==t.visible){if(n.x-t.x>o){let e=(t.x+n.x)/2;i.splice(r+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(sy())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}n=t}}return this.getGraphPath(i)}t.compose=function(t,h){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),sv(t,"init",o),sv(t,"afterInit",e),sv(t,"afterSetTickPositions",s),sv(t,"afterSetOptions",i);let d=h.prototype;d.drawBreaks=a,d.gappedPath=l,sv(h,"afterGeneratePoints",r),sv(h,"afterRender",n)}return t};class h{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(h.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return sM(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),r||s.val2lin!==h.val2Lin||(delete s.val2lin,delete s.lin2val),r&&(s.userOptions.ordinal=!1,s.lin2val=h.lin2Val,s.val2lin=h.val2Lin,s.setExtremes=function(t,e,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)p-=l;for(;p{t.getOffset()})}i&&t.apply(this)}function sF(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:s,left:o,offset:r,opposite:n,options:a,top:l,width:h}=this,d=this.tickSize(),c=e&&e.getBBox().width,p=a.title.x,u=a.title.y,g=sL(a.title.margin,s?5:10),x=e?this.chart.renderer.fontMetrics(e).f:0,f=(s?l+i:o)+(s?1:-1)*(n?-1:1)*(d?d[0]/2:0)+(this.side===m.bottom?x:0);t.titlePosition.x=s?o-(c||0)/2-g+p:f+(n?h:0)+r+p,t.titlePosition.y=s?f-(n?i:0)+(n?x:-x)/2+r+u:l-g+u}}function sU(){let{chart:t,options:{grid:e={}},userOptions:i}=this;if(e.enabled&&function(t){let e=t.options;e.labels.align=sL(e.labels.align,"center"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}(this),e.columns){let s=this.grid.columns=[],o=this.grid.columnIndex=0;for(;++ot.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;let i=this.tickmarkOffset,r=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(s-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[r].label)&&(r-o>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[r].mark;a&&r-o0&&this.ticks[r].isLast&&this.hiddenMarks.push(a.hide())}}}function sY(){let t=this.tickPositions&&this.tickPositions.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!sB(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align="left",sB(s.x)||(e.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function sV(t){let e;let i=this.options,s=t.userOptions,o=i&&sN(i.grid)?i.grid:{};!0===o.enabled&&(e=sD(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[E]"]},week:{list:["Week %W","W%W"]},month:{list:["%[B]","%[b]","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(sB(s.linkedTo)&&!sB(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!sB(s.tickPixelInterval)&&sB(s.linkedTo))||sB(s.tickPositioner)||sB(s.tickInterval)||sB(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=e.units||[],r,n=1,a="year";for(let t=0;tt.setScale())}function sq(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=e?s.cellHeight||o+i.height:o+i.width;sI(t.tickSize)?t.tickSize[0]=r:t.tickSize=[r,0]}}function sZ(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function s$(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function sK(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&sB(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new s2(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function sJ(t){let e=this.label,i=this.axis,s=i.reversed,o=i.chart,r=i.options.grid||{},n=i.options.labels,a=n.align,l=m[i.side],h=t.tickmarkOffset,d=i.tickPositions,c=this.pos-h,p=sR(d[t.index+1])?d[t.index+1]-h:(i.max||0)+h,u=i.tickSize("tick"),g=u?u[0]:0,x=u?u[1]/2:0;if(!0===r.enabled){let r,h,d,u;if("top"===l?h=(r=i.top+i.offset)-g:"bottom"===l?r=(h=o.chartHeight-i.bottom+i.offset)+g:(r=i.top+i.len-(i.translate(s?p:c)||0),h=i.top+i.len-(i.translate(s?c:p)||0)),"right"===l?u=(d=o.chartWidth-i.right+i.offset)+g:"left"===l?d=(u=i.left+i.offset)-g:(d=Math.round(i.left+(i.translate(s?p:c)||0))-x,u=Math.min(Math.round(i.left+(i.translate(s?c:p)||0))-x,i.left+i.len)),this.slotWidth=u-d,t.pos.x="left"===a?d:"right"===a?u:d+(u-d)/2,t.pos.y=h+(r-h)/2,e){let i=o.renderer.fontMetrics(e),s=e.getBBox().height;if(n.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&n.x||0}}function sQ(t){let{axis:e,value:i}=t;if(e.options.grid&&e.options.grid.enabled){let s;let o=e.tickPositions,r=(e.linkedParent||e).series[0],n=i===o[0],a=i===o[o.length-1],l=r&&sC(r.options.data,function(t){return t[e.isXAxis?"x":"y"]===i});l&&r.is("gantt")&&(s=sD(l),A().seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,e.chart)),t.isFirst=n,t.isLast=a,t.point=s}}function s0(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,h=this.linkedParent&&this.linkedParent.max,d=l||this.min,c=h||this.max,p=this.tickInterval,u=sR(d)&&d>=o+p&&dd,x=sR(c)&&n>c&&n-pa;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!t.startOnTick&&(s[0]=d),(x||f)&&!t.endOnTick&&(s[s.length-1]=c))}function s1(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}!function(t){t[t.top=0]="top",t[t.right=1]="right",t[t.bottom=2]="bottom",t[t.left=3]="left"}(m||(m={}));class s2{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],o=i?t.linkedParent:t,r=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e!==o||(r=i))}),n===r&&(!sR(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass("highcharts-axis-line").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}sO.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},sO.W=function(t){let e=this.toParts(t),i=(e[7]+6)%7,s=e.slice(0);s[2]=e[2]-i+3;let o=this.toParts(this.makeTime(s[0],0,1));return 4!==o[7]&&(e[1]=0,e[2]=1+(11-o[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(o[0],o[1],o[2]))/6048e5)).toString()};let s3={compose:function(t,e,i){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=sW,sz(t.prototype,"unsquish",s1),sz(t.prototype,"getOffset",sH),sS(t,"init",sK),sS(t,"afterGetTitlePosition",sF),sS(t,"afterInit",sU),sS(t,"afterRender",sX),sS(t,"afterSetAxisTranslation",sY),sS(t,"afterSetOptions",sV),sS(t,"afterSetOptions",s_),sS(t,"afterSetScale",sj),sS(t,"afterTickSize",sq),sS(t,"trimTicks",s0),sS(t,"destroy",s$),sS(e,"afterSetChartSize",sZ),sS(i,"afterGetLabelPosition",sJ),sS(i,"labelFormat",sQ)),t}},{extend:s5,isNumber:s6,pick:s4}=A();function s8(t,e,i,s,o,r){let n=r&&r.after,a=r&&r.before,l={data:s,depth:i-1,id:t,level:i,parent:e||""},h=0,d=0,c,p;"function"==typeof a&&a(l,r);let u=(o[t]||[]).map(e=>{let s=s8(e.id,t,i+1,e,o,r),n=e.start||NaN,a=!0===e.milestone?n:e.end||NaN;return c=!s6(c)||np?a:p,h=h+1+s.descendants,d=Math.max(s.height+1,d),s});return s&&(s.start=s4(s.start,c),s.end=s4(s.end,p)),s5(l,{children:u,descendants:h,height:d}),"function"==typeof n&&n(l,r),l}let s9={getNode:s8,getTree:function(t,e){return s8("",null,1,null,function(t){let e=[],i=t.reduce((t,i)=>{let{parent:s="",id:o}=i;return void 0===t[s]&&(t[s]=[]),t[s].push(i),o&&e.push(o),t},{});return Object.keys(i).forEach(t=>{if(""!==t&&-1===e.indexOf(t)){let e=i[t].map(function(t){let{...e}=t;return e});i[""].push(...e),delete i[t]}}),i}(t),e)}},{addEvent:s7,removeEvent:ot,isObject:oe,isNumber:oi,pick:os,wrap:oo}=A();function or(){this.treeGrid||(this.treeGrid=new ol(this))}function on(t,e,i,s,o,r,n,a,l){let h,d,c;let p=os(this.options&&this.options.labels,r),u=this.pos,g=this.axis,x="treegrid"===g.type,f=t.apply(this,[e,i,s,o,p,n,a,l]);if(x){let{width:t=0,padding:e=g.linkedParent?0:5}=p&&oe(p.symbol,!0)?p.symbol:{},i=p&&oi(p.indentation)?p.indentation:0;c=(d=(h=g.treeGrid.mapOfPosToGridNode)&&h[u])&&d.depth||1,f.x+=t+2*e+(c-1)*i}return f}function oa(t){let e,i,s;let{pos:o,axis:r,label:n,treeGrid:a,options:l}=this,h=a?.labelIcon,d=n?.element,{treeGrid:c,options:p,chart:u,tickPositions:g}=r,x=c.mapOfPosToGridNode,f=os(l?.labels,p?.labels),m=f&&oe(f.symbol,!0)?f.symbol:{},b=x&&x[o],{descendants:y,depth:v}=b||{},M=b&&y&&y>0,k="treegrid"===r.type&&d,A=g.indexOf(o)>-1,w="highcharts-treegrid-node-",P=w+"level-",E=u.styledMode;k&&b&&n.removeClass(RegExp(P+".*")).addClass(P+v),t.apply(this,Array.prototype.slice.call(arguments,1)),k&&M?(e=c.isCollapsed(b),function(t,e){let i=t.treeGrid,s=!i.labelIcon,o=e.renderer,r=e.xy,n=e.options,a=n.width||0,l=n.height||0,h=n.padding??t.axis.linkedParent?0:5,d={x:r.x-a/2-h,y:r.y-l/2},c=e.collapsed?90:180,p=e.show&&oi(d.y),u=i.labelIcon;u||(i.labelIcon=u=o.path(o.symbols[n.type](n.x||0,n.y||0,a,l)).addClass("highcharts-label-icon").add(e.group)),u[p?"show":"hide"](),o.styledMode||u.attr({cursor:"pointer",fill:os(e.color,"#666666"),"stroke-width":1,stroke:n.lineColor,strokeWidth:n.lineWidth||0}),u[s?"attr":"animate"]({translateX:d.x,translateY:d.y,rotation:c})}(this,{color:!E&&n.styles.color||"",collapsed:e,group:n.parentGroup,options:m,renderer:n.renderer,show:A,xy:n.xy}),i=w+(e?"collapsed":"expanded"),s=w+(e?"expanded":"collapsed"),n.addClass(i).removeClass(s),E||n.css({cursor:"pointer"}),[n,h].forEach(t=>{t&&!t.attachedTreeGridEvents&&(s7(t.element,"mouseover",function(){n.addClass("highcharts-treegrid-node-active"),n.renderer.styledMode||n.css({textDecoration:"underline"})}),s7(t.element,"mouseout",function(){!function(t,e){let i=oe(e.style)?e.style:{};t.removeClass("highcharts-treegrid-node-active"),t.renderer.styledMode||t.css({textDecoration:i.textDecoration||"none"})}(n,f)}),s7(t.element,"click",function(){a.toggleCollapse()}),t.attachedTreeGridEvents=!0)})):h&&(ot(d),n?.css({cursor:"default"}),h.destroy())}class ol{static compose(t){let e=t.prototype;e.toggleCollapse||(s7(t,"init",or),oo(e,"getLabelPosition",on),oo(e,"renderLabel",oa),e.collapse=function(t){this.treeGrid.collapse(t)},e.expand=function(t){this.treeGrid.expand(t)},e.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.collapse(r);s.setBreaks(n,os(t,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,r=s.mapOfPosToGridNode;if(o&&r){let i=r[e],n=s.expand(i);o.setBreaks(n,os(t,!0))}}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,r=i.treeGrid.mapOfPosToGridNode[o],n=i.treeGrid.toggleCollapse(r);s.setBreaks(n,os(t,!0))}}}let{extend:oh,isArray:od,isNumber:oc,isObject:op,merge:ou,pick:og,relativeLength:ox}=A(),{getLevelOptions:of}={getColor:function(t,e){let i,s,o,r,n,a;let l=e.index,h=e.mapOptionsToLevel,d=e.parentColor,c=e.parentColorIndex,p=e.series,u=e.colors,g=e.siblings,x=p.points,f=p.chart.options.chart;return t&&(i=x[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(r=i.index%(u?u.length:f.colorCount),o=u&&u[r]),p.chart.styledMode||(n=og(i&&i.options.color,s&&s.color,o,d&&(t=>{let e=s&&s.colorVariation;return e&&"brightness"===e.key&&l&&g?tP().parse(t).brighten(e.to*(l/g)).get():t})(d),p.color)),a=og(i&&i.options.colorIndex,s&&s.colorIndex,r,c,e.colorIndex)),{color:n,colorIndex:a}},getLevelOptions:function(t){let e,i,s,o,r,n;let a={};if(op(t))for(o=oc(t.from)?t.from:1,n=t.levels,i={},e=op(t.defaults)?t.defaults:{},od(n)&&(i=n.reduce((t,i)=>{let s,r,n;return op(i)&&oc(i.level)&&(r=og((n=ou({},i)).levelIsConstant,e.levelIsConstant),delete n.levelIsConstant,delete n.level,op(t[s=i.level+(r?0:o-1)])?ou(!0,t[s],n):t[s]=n),t},{})),r=oc(t.to)?t.to:1,s=0;s<=r;s++)a[s]=ou({},e,op(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(e+parseFloat(o)/100*(e-1));let t=Number(o);return(n+t)/(e||1)-t}return ox(r,n)},setTreeValues:function t(e,i){let s=i.before,o=i.idRoot,r=i.mapIdToNode[o],n=!1!==i.levelIsConstant,a=i.points[e.i],l=a&&a.options||{},h=[],d=0;e.levelDynamic=e.level-(n?0:r.level),e.name=og(a&&a.name,""),e.visible=o===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,o)=>{let r=oh({},i);oh(r,{index:o,siblings:e.children.length,visible:e.visible}),s=t(s,r),h.push(s),s.visible&&(d+=s.val)});let c=og(l.value,d);return e.visible=c>=0&&(d>0||e.visible),e.children=h,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=c,e},updateRootId:function(t){let e,i;return op(t)&&(i=op(t.options)?t.options:{},e=og(t.rootNode,i.rootId,""),op(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}},{addEvent:om,isArray:ob,splat:oy,find:ov,fireEvent:oM,isObject:ok,isString:oA,merge:ow,pick:oP,removeEvent:oE,wrap:oO}=A();function oS(t,e){let i=t.collapseEnd||0,s=t.collapseStart||0;return i>=e&&(s-=.5),{from:s,to:i,showPoints:!1}}function oB(t,e,i){let s=[],o=[],r={},n=e||!1,a={},l=-1,h=s9.getTree(t,{after:function(t){let e=a[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&o.push(e)},before:function(t){let e,i;let o=ok(t.data,!0)?t.data:{},h=oA(o.name)?o.name:"",d=r[t.parent],c=ok(d,!0)?a[d.pos]:null;n&&ok(c,!0)&&(e=ov(c.children,function(t){return t.name===h}))?(i=e.pos,e.nodes.push(t)):i=l++,!a[i]&&(a[i]=e={depth:c?c.depth+1:0,name:h,id:o.id,nodes:[t],children:[],pos:i},-1!==i&&s.push(h),ok(c,!0)&&c.children.push(e)),oA(t.id)&&(r[t.id]=t),e&&!0===o.collapsed&&(e.collapsed=!0),t.pos=i}});return{categories:s,mapOfIdToNode:r,mapOfPosToGridNode:a=function(t,e){let i=function(t,s,o){let r=t.nodes,n=s+(-1===s?0:e-1),a=(n-s)/2,l=s+a;return r.forEach(function(t){let e=t.data;ok(e,!0)&&(e.y=s+(e.seriesIndex||0),delete e.seriesIndex),t.pos=l}),o[l]=t,t.pos=l,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){i(t,n+1,o),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,o};return i(t["-1"],-1,{})}(a,i),collapsedNodes:o,tree:h}}function oT(t){let e=t.target;e.axes.filter(t=>"treegrid"===t.type).forEach(function(i){let s=i.options||{},o=s.labels,r=i.uniqueNames,n=e.time.parse(s.max),a=!i.treeGrid.mapOfPosToGridNode||i.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),l=0,h,d;if(a){let s=[];if(h=i.series.reduce(function(t,i){let o=i.options.data||[],n=o[0],a=Array.isArray(n)&&!n.find(t=>"object"==typeof t);return s.push(a),i.visible&&(o.forEach(function(s){(a||i.options.keys&&i.options.keys.length)&&(s=i.pointClass.prototype.optionsToObject.call({series:i},s),i.pointClass.setGanttPointAliases(s,e)),ok(s,!0)&&(s.seriesIndex=l,t.push(s))}),!0===r&&l++),t},[]),n&&h.length=0&&e.indexOf(t.x2||0)>=0&&(i=t)}),ok(i,!0)?ow(i):i});t.visible&&t.setData(i,!1)}),i.treeGrid.mapOptionsToLevel=of({defaults:o,from:1,levels:o&&o.levels,to:i.treeGrid.tree&&i.treeGrid.tree.height}),"beforeRender"===t.type&&(i.treeGrid.collapsedNodes=d.collapsedNodes)}})}function oC(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,o=this.ticks,r=o[e],n,a,l;s&&this.treeGrid.mapOfPosToGridNode?((n=i[(l=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(a={labels:n}),!r&&p?o[e]=r=new p(this,e,void 0,void 0,{category:l.name,tickmarkOffset:l.tickmarkOffset,options:a}):(r.parameters.category=l.name,r.options=a,r.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function oI(t,e,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new oL(o)),r&&(om(e,"beforeRender",oT),om(e,"beforeRedraw",oT),om(e,"addSeries",function(t){if(t.options.data){let e=oB(t.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),om(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){let e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),om(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=ow({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function oR(t){let e=this.options,i=this.chart.time,s="number"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=this.userMin??i.parse(e.min)??this.dataMin,this.max=this.userMax??i.parse(e.max)??this.dataMax,oM(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],s){let t=s.getExtremes();this.min=oP(t.min,t.dataMin),this.max=oP(t.max,t.dataMax),this.tickPositions=s.tickPositions}this.linkedParent=s}else t.apply(this,Array.prototype.slice.call(arguments,1))}function oD(t){let e=this;"treegrid"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label&&i.label.attachedTreeGridEvents&&(oE(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class oL{static compose(t,e,i,s){if(!t.keepProps.includes("treeGrid")){let e=t.prototype;t.keepProps.push("treeGrid"),oO(e,"generateTick",oC),oO(e,"init",oI),oO(e,"setTickInterval",oR),oO(e,"redraw",oD),e.utils={getNode:s9.getNode},p||(p=s)}return s3.compose(t,e,s),sE.compose(t,i),ol.compose(s),t}constructor(t){this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let o=i.get(t.id),r=s[e.data.indexOf(o)];o&&r&&(o.collapsed=t.collapsed,r.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return(e.to!==s.to||e.from!==s.from)&&t.push(e),t},[])}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=e&&r<=i&&!(t.brokenAxis&&t.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=oS(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}let{series:oG,seriesTypes:{xrange:oz}}=tO(),{extend:oN,isNumber:oW,merge:oH}=A();class oF extends oz{static compose(t,e,i,s){oz.compose(t),e&&(iJ.compose(t,e),i)&&(iY.compose(e,i.prototype.pointClass),s&&oL.compose(t,e,i,s))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,n=t.selected&&"select",a=i.stacking&&!i.borderRadius,l=t.graphic,h;t.options.milestone?oW(r)&&null!==t.y&&!1!==t.visible?(h=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),l?l[e]({d:h}):t.graphic=l=s.path(h).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,n)).shadow(i.shadow,null,a)):l&&(t.graphic=l.destroy()):super.drawPoint(t,e)}translatePoint(t){let e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}oF.defaultOptions=oH(oz.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,e=t.xAxis,i=t.tooltipOptions.dateTimeLabelFormats,s=e.options.startOfWeek,o=t.tooltipOptions,r=this.options.milestone,n=o.xDateFormat,a=""+(this.name||this.yCategory)+"";if(o.pointFormat)return this.tooltipFormatter(o.pointFormat);!n&&sm(this.start)&&(n=t.chart.time.getDateFormat(e.closestPointRange,this.start,s,i||{}));let l=t.chart.time.dateFormat(n,this.start),h=t.chart.time.dateFormat(n,this.end);return a+="
",r?a+=l+"
":a+="Start: "+l+"
End: "+h+"
",a}},connectors:{type:"simpleConnect",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}}),oN(oF.prototype,{pointArrayMap:["start","end","y"],pointClass:sf,setData:oG.prototype.setData}),tO().registerSeriesType("gantt",oF);/** + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/gantt * @requires highcharts * @@ -28,4 +28,4 @@ * (c) 2016-2024 Lars A. V. Cabrera * * License: www.highcharts.com/license - */let oU=A();oU.Connection=oU.Connection||L,oU.GanttChart=oU.GanttChart||Q,oU.Navigator=oU.Navigator||ew,oU.RangeSelector=oU.RangeSelector||im,oU.Scrollbar=oU.Scrollbar||ei,oU.ganttChart=oU.GanttChart.ganttChart,S.compose(oU.SVGRenderer),({compose:function(t,e){H(z,"CurrentDateIndication")&&(N(t,"afterSetOptions",X),N(e,"render",Y),F(e.prototype,"getLabelText",V))}}).compose(oU.Axis,oU.PlotLineOrBand),oF.compose(oU.Axis,oU.Chart,oU.Series,oU.Tick),oU.Navigator.compose(oU.Chart,oU.Axis,oU.Series),oU.RangeSelector.compose(oU.Axis,oU.Chart),oU.Scrollbar.compose(oU.Axis);let oX=A();return M.default})()); \ No newline at end of file + */let oU=A();oU.Connection=oU.Connection||G,oU.GanttChart=oU.GanttChart||Q,oU.Navigator=oU.Navigator||ew,oU.RangeSelector=oU.RangeSelector||im,oU.Scrollbar=oU.Scrollbar||ei,oU.ganttChart=oU.GanttChart.ganttChart,S.compose(oU.SVGRenderer),({compose:function(t,e){H(z,"CurrentDateIndication")&&(N(t,"afterSetOptions",X),N(e,"render",Y),F(e.prototype,"getLabelText",V))}}).compose(oU.Axis,oU.PlotLineOrBand),oF.compose(oU.Axis,oU.Chart,oU.Series,oU.Tick),oU.Navigator.compose(oU.Chart,oU.Axis,oU.Series),oU.RangeSelector.compose(oU.Axis,oU.Chart),oU.Scrollbar.compose(oU.Axis);let oX=A();return M.default})()); \ No newline at end of file diff --git a/modules/gantt.src.js b/modules/gantt.src.js index ad47315baf..b1ddeee4b9 100644 --- a/modules/gantt.src.js +++ b/modules/gantt.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/pathfinder * @requires highcharts * @@ -8316,7 +8316,7 @@ class RangeSelector { * exporting button */ handleCollision(xOffsetForExportButton) { - const { chart, buttonGroup, inputGroup } = this; + const { chart, buttonGroup, inputGroup, initialButtonGroupWidth } = this; const { buttonPosition, dropdown, inputPosition } = this.options; const moveInputsDown = () => { if (inputGroup && buttonGroup) { @@ -8333,7 +8333,7 @@ class RangeSelector { if (inputGroup && buttonGroup) { if (inputPosition.align === buttonPosition.align) { moveInputsDown(); - if (this.initialButtonGroupWidth > + if (initialButtonGroupWidth > chart.plotWidth + xOffsetForExportButton - 20) { this.collapseButtons(); } @@ -8341,7 +8341,7 @@ class RangeSelector { this.expandButtons(); } } - else if (this.initialButtonGroupWidth - + else if (initialButtonGroupWidth - xOffsetForExportButton + inputGroup.getBBox().width > chart.plotWidth) { @@ -8356,6 +8356,14 @@ class RangeSelector { this.expandButtons(); } } + else if (buttonGroup && dropdown === 'responsive') { + if (initialButtonGroupWidth > chart.plotWidth) { + this.collapseButtons(); + } + else { + this.expandButtons(); + } + } // Forced states if (buttonGroup) { if (dropdown === 'always') { @@ -10511,7 +10519,7 @@ const StaticScale = { ;// ./code/es-modules/masters/modules/static-scale.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/static-scale * @requires highcharts * @@ -11322,7 +11330,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart ;// ./code/es-modules/masters/modules/xrange.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/xrange * @requires highcharts * @@ -14873,7 +14881,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart ;// ./code/es-modules/masters/modules/gantt.src.js /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/gantt * @requires highcharts * diff --git a/modules/geoheatmap.js b/modules/geoheatmap.js index 67a9241cfc..bfdb8a8725 100644 --- a/modules/geoheatmap.js +++ b/modules/geoheatmap.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/geoheatmap * @requires highcharts * diff --git a/modules/geoheatmap.src.js b/modules/geoheatmap.src.js index 7ded7719c2..330142bb2e 100644 --- a/modules/geoheatmap.src.js +++ b/modules/geoheatmap.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/geoheatmap * @requires highcharts * diff --git a/modules/grid-axis.js b/modules/grid-axis.js index f1f1223e2d..36a67fd6e0 100644 --- a/modules/grid-axis.js +++ b/modules/grid-axis.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/grid-axis * @requires highcharts * diff --git a/modules/grid-axis.src.js b/modules/grid-axis.src.js index f3aabb2110..269e719354 100644 --- a/modules/grid-axis.src.js +++ b/modules/grid-axis.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/grid-axis * @requires highcharts * diff --git a/modules/heatmap.js b/modules/heatmap.js index 0a5e1d2318..d1cc1ac300 100644 --- a/modules/heatmap.js +++ b/modules/heatmap.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * @@ -9,7 +9,7 @@ * * License: www.highcharts.com/license */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.LegendSymbol,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.SVGRenderer):"function"==typeof define&&define.amd?define("highcharts/modules/heatmap",["highcharts/highcharts"],function(t){return e(t,t.Axis,t.Color,t.LegendSymbol,t.SeriesRegistry,t.SVGElement,t.SVGRenderer)}):"object"==typeof exports?exports["highcharts/modules/heatmap"]=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.LegendSymbol,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.SVGRenderer):t.Highcharts=e(t.Highcharts,t.Highcharts.Axis,t.Highcharts.Color,t.Highcharts.LegendSymbol,t.Highcharts.SeriesRegistry,t.Highcharts.SVGElement,t.Highcharts.SVGRenderer)}("undefined"==typeof window?this:window,(t,e,s,i,o,r,a)=>(()=>{"use strict";var l,n,h,d={532:t=>{t.exports=e},620:t=>{t.exports=s},500:t=>{t.exports=i},28:t=>{t.exports=r},540:t=>{t.exports=a},512:t=>{t.exports=o},944:e=>{e.exports=t}},p={};function c(t){var e=p[t];if(void 0!==e)return e.exports;var s=p[t]={exports:{}};return d[t](s,s.exports,c),s.exports}c.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return c.d(e,{a:e}),e},c.d=(t,e)=>{for(var s in e)c.o(e,s)&&!c.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},c.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var u={};c.d(u,{default:()=>tM});var g=c(944),m=c.n(g),f=c(532),x=c.n(f),y=c(620),b=c.n(y);let{parse:v}=b(),{addEvent:C,extend:A,merge:M,pick:k,splat:w}=m();!function(t){let e;function s(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=w(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function i(t){let e=this.chart.colorAxis||[],s=e=>{let s=t.allItems.indexOf(e);-1!==s&&(this.destroyItem(t.allItems[s]),t.allItems.splice(s,1))},i=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?i=i.concat(t.getDataClassLegendSymbols()):o.visible&&i.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){s(t)}):s(t))}))}),r=i.length;r--;)t.allItems.unshift(i[r])}function o(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function r(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function a(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function l(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function n(t){let e=this,s=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][s]()}),this.series.buildKDTree()}function h(){let t=this,e=this.getPointsCollection(),s=this.options.nullColor,i=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?s:i&&void 0!==r?i.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function d(){this.elem.attr("fill",v(this.start).tweenTo(v(this.end),this.pos),void 0,!0)}function p(){this.elem.attr("stroke",v(this.start).tweenTo(v(this.end),this.pos),void 0,!0)}t.compose=function(t,c,u,g,m){let f=c.prototype,x=u.prototype,y=m.prototype;f.collectionsWithUpdate.includes("colorAxis")||(e=t,f.collectionsWithUpdate.push("colorAxis"),f.collectionsWithInit.colorAxis=[f.addColorAxis],C(c,"afterCreateAxes",s),function(t){let s=t.prototype.createAxis;t.prototype.createAxis=function(t,i){if("colorAxis"!==t)return s.apply(this,arguments);let o=new e(this,M(i.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),k(i.redraw,!0)&&this.redraw(i.animation),o}}(c),x.fillSetter=d,x.strokeSetter=p,C(g,"afterGetAllItems",i),C(g,"afterColorizeItem",o),C(g,"afterUpdate",r),A(y,{optionalAxis:"colorAxis",translateColors:h}),A(y.pointClass.prototype,{setVisible:n}),C(m,"afterTranslate",a,{order:1}),C(m,"bindAxes",l))},t.pointSetVisible=n}(l||(l={}));let L=l,{parse:I}=b(),{merge:S}=m();!function(t){t.initDataClasses=function(t){let e=this.chart,s=this.legendItem=this.legendItem||{},i=this.options,o=t.dataClasses||[],r,a,l=e.options.chart.colorCount,n=0,h;this.dataClasses=a=[],s.labels=[];for(let t=0,s=o.length;t=i)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=l,e.colorIndex=a.colorIndex);break}}else{for(s=this.normalizedValue(t),l=h.length;l--&&!(s>h[l][0]););i=h[l]||h[l+1],s=1-((o=h[l+1]||i)[0]-s)/(o[0]-i[0]||1),r=i.color.tweenTo(o.color,s)}return r}}(n||(n={}));let P=n;var T=c(500),D=c.n(T),E=c(512),V=c.n(E);let{defaultOptions:H}=m(),{series:O}=V(),{defined:z,extend:R,fireEvent:G,isArray:_,isNumber:W,merge:N,pick:K,relativeLength:X}=m();H.colorAxis=N(H.xAxis,{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});class j extends x(){static compose(t,e,s,i){L.compose(j,t,e,s,i)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let s=t.options.legend||{},i=e.layout?"vertical"!==e.layout:"vertical"!==s.layout;this.side=e.side||i?2:1,this.reversed=e.reversed||!i,this.opposite=!i,super.init(t,e,"colorAxis"),this.userOptions=e,_(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=i,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=N(H.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:s,height:i}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=s=+e.attr("width"),this.height=i=+e.attr("height"),this.right=t.chartWidth-this.left-s,this.bottom=t.chartHeight-this.top-i,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?s:i)||j.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let s=this.chart.legend;s.allItems.forEach(function(t){t instanceof j&&t.drawLegendSymbol(s,t)}),s.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,s=e?1:0,i=e?0:1,o=t?[s,0,i,0]:[0,i,0,s];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let s=e.legendItem||{},i=t.padding,o=t.options,r=this.options.labels,a=K(o.itemDistance,10),l=this.horiz,{width:n,height:h}=this.getSize(),d=K(o.labelPadding,l?16:30);this.setLegendColor(),s.symbol||(s.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(s.group)),s.symbol.attr({x:0,y:(t.baseline||0)-11,width:n,height:h}),s.labelWidth=n+i+(l?a:K(r.x,r.distance)+(this.maxLabelLength||0)),s.labelHeight=h+i+(l?d:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,s,i,o,r=t.length;for(this.dataMin=1/0,this.dataMax=-1/0;r--;){for(let a of(s=(o=t[r]).colorKey=K(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),i=o[s+"Min"]&&o[s+"Max"],[s,"value","y"]))if((e=o.getColumn(a)).length)break;if(i)o.minColorValue=o[s+"Min"],o.maxColorValue=o[s+"Max"];else{let t=O.prototype.getExtremes.call(o,e);o.minColorValue=t.dataMin,o.maxColorValue=t.dataMax}z(o.minColorValue)&&z(o.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,o.minColorValue),this.dataMax=Math.max(this.dataMax,o.maxColorValue)),i||O.prototype.applyExtremes.call(o)}}drawCrosshair(t,e){let s;let i=this.legendItem||{},o=e&&e.plotX,r=e&&e.plotY,a=this.pos,l=this.len;e&&((s=this.toPixels(e.getNestedProperty(e.series.colorKey)))a+l&&(s=a+l+2),e.plotX=s,e.plotY=this.len-s,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&i.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(i.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,s=t.translatedValue,i=this.top;return W(s)?this.horiz?[["M",s-4,i-6],["L",s+4,i-6],["L",s,i],["Z"]]:[["M",e,s],["L",e-6,s+6],["L",e-6,s-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let s=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&s.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),s.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let s of e.labels)t.legend.destroyItem(s);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t;let e=this,s=e.chart,i=e.legendItem&&e.legendItem.labels||[],o=s.options.legend,r=K(o.valueDecimals,-1),a=K(o.valueSuffix,""),l=t=>e.series.reduce((e,s)=>(e.push(...s.points.filter(e=>e.dataClass===t)),e),[]);return i.length||e.dataClasses.forEach((o,n)=>{let h=o.from,d=o.to,{numberFormatter:p}=s,c=!0;t="",void 0===h?t="< ":void 0===d&&(t="> "),void 0!==h&&(t+=p(h,r)+a),void 0!==h&&void 0!==d&&(t+=" - "),void 0!==d&&(t+=p(d,r)+a),i.push(R({chart:s,name:t,options:{},drawLegendSymbol:D().rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of l(n))e.setState(t)},setVisible:function(){this.visible=c=e.visible=!c;let t=[];for(let e of l(n))e.setVisible(c),e.hiddenInDataClass=!c,-1===t.indexOf(e.series)&&t.push(e.series);s.legend.colorizeItem(this,c),t.forEach(t=>{G(t,"afterDataClassLegendClick")})}},o))}),i}getSize(){let{chart:t,horiz:e}=this,{height:s,width:i}=this.options,{legend:o}=t.options;return{width:K(z(i)?X(i,t.chartWidth):void 0,o?.symbolWidth,e?j.defaultLegendLength:12),height:K(z(s)?X(s,t.chartHeight):void 0,o?.symbolHeight,e?12:j.defaultLegendLength)}}}j.defaultLegendLength=200,j.keepProps=["legendItem"],R(j.prototype,P),Array.prototype.push.apply(x().keepProps,j.keepProps);let F=m();F.ColorAxis=F.ColorAxis||j,F.ColorAxis.compose(F.Chart,F.Fx,F.Legend,F.Series);var U=c(28),Y=c.n(U);let{column:{prototype:Z}}=V().seriesTypes,{addEvent:q,defined:$}=m();!function(t){function e(t){let e=this.series,s=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(Y())(s,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${s.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}t.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))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return $(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:Z.pointAttribs},t.compose=function(t){return q(t.prototype.pointClass,"afterSetState",e),t}}(h||(h={}));let B=h,{scatter:{prototype:{pointClass:J}}}=V().seriesTypes,{clamp:Q,defined:tt,extend:te,pick:ts}=m();class ti extends J{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,s=(e.colsize||1)/2,i=(e.rowsize||1)/2,o=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,l=t.pointPlacementToXValue(),n=ts(this.pointPadding,e.pointPadding,0),h={x1:Q(Math.round(o.len-o.translate(this.x-s,!1,!0,!1,!0,-l)),-o.len,2*o.len),x2:Q(Math.round(o.len-o.translate(this.x+s,!1,!0,!1,!0,-l)),-o.len,2*o.len),y1:Q(Math.round(r.translate(this.y-i,!1,!0,!1,!0)),-r.len,2*r.len),y2:Q(Math.round(r.translate(this.y+i,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],s=t[1],i=s+"1",l=s+"2",d=Math.abs(h[i]-h[l]),p=a&&a.lineWidth||0,c=Math.abs(h[i]+h[l])/2,u=a&&a[e];if(tt(u)&&uth(parseFloat(t),parseInt(t,10)));return i[3]=255*th(i[3],1),tn(t)&&e.visible||(i[3]=0),i}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:s}=t;return e&&s?(s.clearRect(0,0,e.width,e.height),s):(t.canvas=tl.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class tA extends tc{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,s=e.interpolation,i=e.marker||{};if(s){let{image:e,chart:s,xAxis:i,yAxis:o}=t,{reversed:r=!1,len:a}=i,{reversed:l=!1,len:n}=o,h={width:a,height:n};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=tC(t),{canvas:n,options:{colsize:d=1,rowsize:p=1},points:c,points:{length:u}}=t,g=s.colorAxis&&s.colorAxis[0];if(n&&a&&g){let{min:g,max:m}=i.getExtremes(),{min:f,max:x}=o.getExtremes(),y=m-g,b=x-f,v=Math.round(y/d/8*8),C=Math.round(b/p/8*8),[A,M]=[[v,v/y,r,"ceil"],[C,C/b,!l,"floor"]].map(([t,e,s,i])=>s?s=>Math[i](t-e*s):t=>Math[i](e*t)),k=n.width=v+1,w=k*(n.height=C+1),L=(u-1)/w,I=new Uint8ClampedArray(4*w),S=(t,e)=>4*Math.ceil(k*M(e-f)+A(t-g));t.buildKDTree();for(let t=0;t{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=td.prototype.getExtremes.call(this,this.getColumn("value"));return tx(t)&&(this.valueMin=t),tx(e)&&(this.valueMax=e),td.prototype.getExtremes.call(this)}getValidPoints(t,e){return td.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=tb(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,tu.ellipse=tu.circle,t.marker&&tx(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let s=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let i=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=i.states&&i.states[e]||{},l=(a.width||r.width||s.width||0)+(a.widthPlus||r.widthPlus||0),n=(a.height||r.height||s.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(s.x||0)+((s.width||0)-l)/2,y:(s.y||0)+((s.height||0)-n)/2,width:l,height:n}}return s}pointAttribs(t,e){let s=td.prototype.pointAttribs.call(this,t,e),i=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},l=t&&t.options.borderColor||i.borderColor||a.borderColor||r.borderColor,n=t&&t.options.borderWidth||i.borderWidth||a.borderWidth||r.borderWidth||s["stroke-width"];if(s.stroke=t&&t.marker&&t.marker.lineColor||i.marker&&i.marker.lineColor||l||this.color,s["stroke-width"]=n,e&&"normal"!==e){let o=ty(i.states&&i.states[e],i.marker&&i.marker.states&&i.marker.states[e],t&&t.options.states&&t.options.states[e]||{});s.fill=o.color||b().parse(s.fill).brighten(o.brightness||0).get(),s.stroke=o.lineColor||s.stroke}return s}translate(){let{borderRadius:t,marker:e}=this.options,s=e&&e.symbol||"rect",i=tu[s]?s:"rect",o=-1!==["circle","square"].indexOf(i);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),l=Math.min(r.y1,r.y2),n=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||s||"").indexOf("url"),o){let t=Math.abs(n-h);a=Math.min(r.x1,r.x2)+(n"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),tg(tA,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),tm(tA.prototype,{axisTypes:B.seriesMembers.axisTypes,colorKey:B.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:B.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:ti,specialGroup:"group",trackerGroups:B.seriesMembers.trackerGroups,alignDataLabel:tp.prototype.alignDataLabel,colorAttribs:B.seriesMembers.colorAttribs,getSymbol:td.prototype.getSymbol}),B.compose(tA),V().registerSeriesType("heatmap",tA);/** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/heatmap * @requires highcharts * diff --git a/modules/heatmap.src.js b/modules/heatmap.src.js index 3b820881d2..9d8d091363 100644 --- a/modules/heatmap.src.js +++ b/modules/heatmap.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * @@ -2914,7 +2914,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart ;// ./code/es-modules/masters/modules/heatmap.src.js /** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/heatmap * @requires highcharts * diff --git a/modules/heikinashi.js b/modules/heikinashi.js index 8148cf6ff4..b2394c52d5 100644 --- a/modules/heikinashi.js +++ b/modules/heikinashi.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/heikinashi * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/heikinashi.src.js b/modules/heikinashi.src.js index ef24ebbbc2..90de7ca628 100644 --- a/modules/heikinashi.src.js +++ b/modules/heikinashi.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/heikinashi * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/histogram-bellcurve.js b/modules/histogram-bellcurve.js index 431b913a58..066184bcb7 100644 --- a/modules/histogram-bellcurve.js +++ b/modules/histogram-bellcurve.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/histogram-bellcurve * @requires highcharts * diff --git a/modules/histogram-bellcurve.src.js b/modules/histogram-bellcurve.src.js index 43e26cdecf..5c2a6fbeb4 100644 --- a/modules/histogram-bellcurve.src.js +++ b/modules/histogram-bellcurve.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/histogram-bellcurve * @requires highcharts * diff --git a/modules/hollowcandlestick.js b/modules/hollowcandlestick.js index 373e5f2d36..dcdf53ee63 100644 --- a/modules/hollowcandlestick.js +++ b/modules/hollowcandlestick.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/hollowcandlestick * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/hollowcandlestick.src.js b/modules/hollowcandlestick.src.js index ebb98b0698..2845dbf0f3 100644 --- a/modules/hollowcandlestick.src.js +++ b/modules/hollowcandlestick.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/hollowcandlestick * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/item-series.js b/modules/item-series.js index ecfbf6b5b4..491bee7bcc 100644 --- a/modules/item-series.js +++ b/modules/item-series.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/item-series * @requires highcharts * diff --git a/modules/item-series.src.js b/modules/item-series.src.js index e2625880aa..ebcf9a937f 100644 --- a/modules/item-series.src.js +++ b/modules/item-series.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/item-series * @requires highcharts * diff --git a/modules/lollipop.js b/modules/lollipop.js index a95ee2671c..3c2257fe10 100644 --- a/modules/lollipop.js +++ b/modules/lollipop.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/lollipop * @requires highcharts * diff --git a/modules/lollipop.src.js b/modules/lollipop.src.js index 0f97284f7a..d4859b23fb 100644 --- a/modules/lollipop.src.js +++ b/modules/lollipop.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/lollipop * @requires highcharts * diff --git a/modules/map.js b/modules/map.js index b5f15a0ae7..36b177f534 100644 --- a/modules/map.js +++ b/modules/map.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * @@ -9,7 +9,7 @@ * * License: www.highcharts.com/license */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.LegendSymbol,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series,t._Highcharts.Chart,t._Highcharts.SVGRenderer,t._Highcharts.Templating,t._Highcharts.Series.types.scatter,t._Highcharts.Point):"function"==typeof define&&define.amd?define("highcharts/modules/map",["highcharts/highcharts"],function(t){return e(t,t.Axis,t.Color,t.LegendSymbol,t.SeriesRegistry,t.SVGElement,t.Series,t.Chart,t.SVGRenderer,t.Templating,t.Series,["types"],["scatter"],t.Point)}):"object"==typeof exports?exports["highcharts/modules/map"]=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Color,t._Highcharts.LegendSymbol,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series,t._Highcharts.Chart,t._Highcharts.SVGRenderer,t._Highcharts.Templating,t._Highcharts.Series.types.scatter,t._Highcharts.Point):t.Highcharts=e(t.Highcharts,t.Highcharts.Axis,t.Highcharts.Color,t.Highcharts.LegendSymbol,t.Highcharts.SeriesRegistry,t.Highcharts.SVGElement,t.Highcharts.Series,t.Highcharts.Chart,t.Highcharts.SVGRenderer,t.Highcharts.Templating,t.Highcharts.Series.types.scatter,t.Highcharts.Point)}("undefined"==typeof window?this:window,(t,e,i,s,o,r,a,n,l,h,p,d)=>(()=>{"use strict";let c;var u,m,g,f,b,y,x,M={532:t=>{t.exports=e},960:t=>{t.exports=n},620:t=>{t.exports=i},500:t=>{t.exports=s},260:t=>{t.exports=d},28:t=>{t.exports=r},540:t=>{t.exports=l},632:t=>{t.exports=p},820:t=>{t.exports=a},512:t=>{t.exports=o},984:t=>{t.exports=h},944:e=>{e.exports=t}},v={};function w(t){var e=v[t];if(void 0!==e)return e.exports;var i=v[t]={exports:{}};return M[t](i,i.exports,w),i.exports}w.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return w.d(e,{a:e}),e},w.d=(t,e)=>{for(var i in e)w.o(e,i)&&!w.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},w.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};w.d(C,{default:()=>sD});var T=w(944),L=w.n(T),P=w(532),A=w.n(P),k=w(620),j=w.n(k);let{parse:z}=j(),{addEvent:S,extend:I,merge:B,pick:E,splat:D}=L();!function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=D(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function s(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},s=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)t.allItems.unshift(s[r])}function o(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function r(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function a(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function n(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function l(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function h(){let t=this,e=this.getPointsCollection(),i=this.options.nullColor,s=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?i:s&&void 0!==r?s.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function p(){this.elem.attr("fill",z(this.start).tweenTo(z(this.end),this.pos),void 0,!0)}function d(){this.elem.attr("stroke",z(this.start).tweenTo(z(this.end),this.pos),void 0,!0)}t.compose=function(t,c,u,m,g){let f=c.prototype,b=u.prototype,y=g.prototype;f.collectionsWithUpdate.includes("colorAxis")||(e=t,f.collectionsWithUpdate.push("colorAxis"),f.collectionsWithInit.colorAxis=[f.addColorAxis],S(c,"afterCreateAxes",i),function(t){let i=t.prototype.createAxis;t.prototype.createAxis=function(t,s){if("colorAxis"!==t)return i.apply(this,arguments);let o=new e(this,B(s.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),E(s.redraw,!0)&&this.redraw(s.animation),o}}(c),b.fillSetter=p,b.strokeSetter=d,S(m,"afterGetAllItems",s),S(m,"afterColorizeItem",o),S(m,"afterUpdate",r),I(y,{optionalAxis:"colorAxis",translateColors:h}),I(y.pointClass.prototype,{setVisible:l}),S(g,"afterTranslate",a,{order:1}),S(g,"bindAxes",n))},t.pointSetVisible=l}(u||(u={}));let V=u,{parse:O}=j(),{merge:N}=L();!function(t){t.initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,o=t.dataClasses||[],r,a,n=e.options.chart.colorCount,l=0,h;this.dataClasses=a=[],i.labels=[];for(let t=0,i=o.length;t=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r}}(m||(m={}));let G=m;var X=w(500),R=w.n(X),H=w(512),W=w.n(H);let{defaultOptions:Y}=L(),{series:U}=W(),{defined:F,extend:Z,fireEvent:_,isArray:K,isNumber:q,merge:$,pick:J,relativeLength:Q}=L();Y.colorAxis=$(Y.xAxis,{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});class tt extends A(){static compose(t,e,i,s){V.compose(tt,t,e,i,s)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},s=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||s?2:1,this.reversed=e.reversed||!s,this.opposite=!s,super.init(t,e,"colorAxis"),this.userOptions=e,K(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=s,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=$(Y.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||tt.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof tt&&t.drawLegendSymbol(i,t)}),i.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=e?1:0,s=e?0:1,o=t?[i,0,s,0]:[0,s,0,i];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=J(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),p=J(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:J(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?p:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r=t.length;for(this.dataMin=1/0,this.dataMax=-1/0;r--;){for(let a of(i=(o=t[r]).colorKey=J(o.options.colorKey,o.colorKey,o.pointValKey,o.zoneAxis,"y"),s=o[i+"Min"]&&o[i+"Max"],[i,"value","y"]))if((e=o.getColumn(a)).length)break;if(s)o.minColorValue=o[i+"Min"],o.maxColorValue=o[i+"Max"];else{let t=U.prototype.getExtremes.call(o,e);o.minColorValue=t.dataMin,o.maxColorValue=t.dataMax}F(o.minColorValue)&&F(o.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,o.minColorValue),this.dataMax=Math.max(this.dataMax,o.maxColorValue)),s||U.prototype.applyExtremes.call(o)}}drawCrosshair(t,e){let i;let s=this.legendItem||{},o=e&&e.plotX,r=e&&e.plotY,a=this.pos,n=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))a+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,s=this.top;return q(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t;let e=this,i=e.chart,s=e.legendItem&&e.legendItem.labels||[],o=i.options.legend,r=J(o.valueDecimals,-1),a=J(o.valueSuffix,""),n=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return s.length||e.dataClasses.forEach((o,l)=>{let h=o.from,p=o.to,{numberFormatter:d}=i,c=!0;t="",void 0===h?t="< ":void 0===p&&(t="> "),void 0!==h&&(t+=d(h,r)+a),void 0!==h&&void 0!==p&&(t+=" - "),void 0!==p&&(t+=d(p,r)+a),s.push(Z({chart:i,name:t,options:{},drawLegendSymbol:R().rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of n(l))e.setState(t)},setVisible:function(){this.visible=c=e.visible=!c;let t=[];for(let e of n(l))e.setVisible(c),e.hiddenInDataClass=!c,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,c),t.forEach(t=>{_(t,"afterDataClassLegendClick")})}},o))}),s}getSize(){let{chart:t,horiz:e}=this,{height:i,width:s}=this.options,{legend:o}=t.options;return{width:J(F(s)?Q(s,t.chartWidth):void 0,o?.symbolWidth,e?tt.defaultLegendLength:12),height:J(F(i)?Q(i,t.chartHeight):void 0,o?.symbolHeight,e?12:tt.defaultLegendLength)}}}tt.defaultLegendLength=200,tt.keepProps=["legendItem"],Z(tt.prototype,G),Array.prototype.push.apply(A().keepProps,tt.keepProps);let te=L();te.ColorAxis=te.ColorAxis||tt,te.ColorAxis.compose(te.Chart,te.Fx,te.Legend,te.Series);let ti={lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}},{defined:ts,extend:to,pick:tr,wrap:ta}=L();!function(t){let e,i=0;function s(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function o(t){let s=this.chart,o=ts((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(o)>=1&&(i+=Math.abs(o),e&&clearTimeout(e),e=setTimeout(()=>{i=0},50)),i<10&&s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop)&&s.mapView&&s.mapView.zoomBy(-((s.options.mapNavigation.mouseWheelSensitivity-1)*o),void 0,[t.chartX,t.chartY],!(1>Math.abs(o))&&void 0)}function r(t,e,i){let s=this.chart;if(e=t.call(this,e,i),s&&s.mapView){let t=s.mapView.pixelsToLonLat({x:e.chartX-s.plotLeft,y:e.chartY-s.plotTop});t&&to(e,t)}return e}function a(t){let e=this.chart.options.mapNavigation;e&&tr(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(to(e,{onContainerDblClick:s,onContainerMouseWheel:o}),ta(e,"normalize",r),ta(e,"zoomOption",a))}}(g||(g={}));let tn=g;function tl(t,e,i,s,o){if(o){let t=o?.r||0;o.brBoxY=e-t,o.brBoxHeight=s+t}return c.roundedRect(t,e,i,s,o)}function th(t,e,i,s,o){if(o){let t=o?.r||0;o.brBoxHeight=s+t}return c.roundedRect(t,e,i,s,o)}let tp={compose:function(t){(c=t.prototype.symbols).bottombutton=tl,c.topbutton=th}},{setOptions:td}=L(),{composed:tc}=L(),{addEvent:tu,extend:tm,merge:tg,objectEach:tf,pick:tb,pushUnique:ty}=L();function tx(t){t&&(t.preventDefault?.(),t.stopPropagation?.(),t.cancelBubble=!0)}class tM{static compose(t,e,i){tn.compose(e),tp.compose(i),ty(tc,"Map.Navigation")&&(tu(t,"beforeRender",function(){this.mapNavigation=new tM(this),this.mapNavigation.update()}),td(ti))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,s=e.navButtons,o=function(t){this.handler.call(i,t),tx(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=tg(i.options.mapNavigation,t));s.length;)s.pop()?.destroy();if(!i.renderer.forExport&&tb(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),tf(r.buttons,(t,a)=>{let n={padding:(t=tg(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(tm(n,t.theme),n.style=tg(t.theme.style,t.style));let{text:l,width:h=0,height:p=0,padding:d=0}=t,c=i.renderer.button("+"!==l&&"-"!==l&&l||"",0,0,o,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom-out"})[a]).attr({width:h,height:p,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===l||"-"===l){let e=h+1,s=[["M",d+3,d+p/2],["L",d+e-3,d+p/2]];"+"===l&&s.push(["M",d+e/2,d+3],["L",d+e/2,d+p-3]),i.renderer.path(s).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(c)}if(c.handler=t.onclick,tu(c.element,"dblclick",tx),s.push(c),tm(t,{width:c.width,height:2*(c.height||0)}),i.hasLoaded)c.align(t,!1,t.alignTo);else{let e=tu(i,"load",()=>{c.element&&c.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||tu(i,"render",function(){let s=i.exportingGroup?.getBBox();if(s){let i=e.navButtonsGroup.getBBox();if(t(s,i)){let t=-i.y-i.height+s.y-5,o=s.y+s.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:o})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;tb(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||tu(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),tb(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||tu(e.container,"wheel",function(t){if(!e.pointer.inClass(t.target,"highcharts-no-mousewheel")){let i=e.mapView?.zoom;e.pointer.onContainerMouseWheel(t),i!==e.mapView?.zoom&&tx(t)}return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}var tv=w(28),tw=w.n(tv);let{column:{prototype:tC}}=W().seriesTypes,{addEvent:tT,defined:tL}=L();!function(t){function e(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(tw())(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}t.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))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return tL(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:tC.pointAttribs},t.compose=function(t){return tT(t.prototype.pointClass,"afterSetState",e),t}}(f||(f={}));let tP=f;var tA=w(820),tk=w.n(tA);let{deg2rad:tj}=L(),{fireEvent:tz,isNumber:tS,pick:tI,relativeLength:tB}=L();!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,l,h=t.size,p=t.innerSize||0,d,c;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof p&&(p=parseFloat(p));let u=[tI(r?.[0],"50%"),tI(r?.[1],"50%"),tI(h&&h<0?void 0:t.size,"100%"),tI(p&&p<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof tk()||(u[3]=0),d=0;d<4;++d)c=u[d],l=d<2||2===d&&/%$/.test(c),u[d]=tB(c,[s,o,a,u[2]][d])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),tS(n)&&2*n0&&(u[3]=u[2]-2*n),tz(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=tS(t)?t:0,s=tS(e)&&e>i&&e-i<360?e:i+360;return{start:tj*(i+-90),end:tj*(s+-90)}}}(b||(b={}));let tE=b;var tD=w(960),tV=w.n(tD),tO=w(540),tN=w.n(tO);let{getOptions:tG}=L(),{isNumber:tX,merge:tR,pick:tH}=L();class tW extends tV(){init(t,e){let i=tG().credits,s=tR({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:tH(i.mapText,' \xa9 {geojson.copyrightShort}'),mapTextFull:tH(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(s,e)}mapZoom(t,e,i,s,o){this.mapView&&(tX(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,tX(e)&&tX(i)?this.mapView.projection.inverse([e,i]):void 0,tX(s)&&tX(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}!function(t){t.maps={},t.mapChart=function(e,i,s){return new t(e,i,s)},t.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Z])/gi," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Z]/i.test(t)?t:parseFloat(t)):t,tN().prototype.pathToSegments(e)}}(tW||(tW={}));let tY=tW,tU={boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,o=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),o=Math.min(o,n),s=Math.max(s,n),r=!0)}),r)return{x1:i,y1:o,x2:e,y2:s}}},{boundsFromPath:tF}=tU,tZ=W().seriesTypes.scatter.prototype.pointClass,{extend:t_,isNumber:tK,pick:tq}=L();class t$ extends tZ{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;if(i.mapData&&i.mapMap){let t=o[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?t_(s,{...r,name:s.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)}return s}getProjectedBounds(t){let e=tF(t$.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){let o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&tK(o)&&tK(r)){let i=t.forward([o,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],s=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*tq(this.middleX,tK(t)?t:.5);let o=tq(this.middleY,tK(s)?s:.5);this.geometry||(o=1-o),e.midY=e.y2-(e.y2-e.y1)*o}return e}}onMouseOver(t){L().clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,s=this.bounds;if(i&&s){let o=tK(this.insetIndex)&&i.insets[this.insetIndex];if(o){let t=o.projectedUnitsToPixels({x:s.x1,y:s.y1}),e=o.projectedUnitsToPixels({x:s.x2,y:s.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});s={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(s,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}t_(t$.prototype,{dataLabelOnNull:tP.pointMembers.dataLabelOnNull,moveToTopOnHover:tP.pointMembers.moveToTopOnHover,isValid:tP.pointMembers.isValid});let{isNumber:tJ}=L(),tQ={center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}};var t0=w(984),t1=w.n(t0);let{win:t2}=L(),{format:t6}=t1(),{error:t3,extend:t8,merge:t7,wrap:t9}=L();!function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function s(t,e){let i=this.options.chart.proj4||t2.proj4;if(!i){t3(21,!1,this);return}let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d=i(e.crs,[t.lon,t.lat]),c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=e.rotation?[d[0]*c+d[1]*u,-d[0]*u+d[1]*c]:d;return{x:((m[0]-n)*a+l)*r+s,y:-(((h-m[1])*a+p)*r-o)}}function o(t,e){let i=this.options.chart.proj4||t2.proj4;if(!i){t3(21,!1,this);return}if(null===t.y)return;let{jsonmarginX:s=0,jsonmarginY:o=0,jsonres:r=1,scale:a=1,xoffset:n=0,xpan:l=0,yoffset:h=0,ypan:p=0}=e,d={x:((t.x-s)/r-l)/a+n,y:((t.y-o)/r+p)/a+h},c=e.cosAngle||e.rotation&&Math.cos(e.rotation),u=e.sinAngle||e.rotation&&Math.sin(e.rotation),m=i(e.crs,"WGS84",e.rotation?{x:d.x*c+-(d.y*u),y:d.x*u+d.y*c}:d);return{lat:m.y,lon:m.x}}function r(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let s=t.arcs;if(t.transform){let e,i,o;let r=t.arcs,{scale:a,translate:n}=t.transform;s=[];for(let t=0,l=r.length;t"number"==typeof t[0]?t.reduce((t,e,i)=>{let o=e<0?s[~e]:s[e];return e<0?(o=o.slice(0,0===i?o.length:o.length-1)).reverse():i&&(o=o.slice(1)),t.concat(o)},[]):t.map(o),r=i.geometries,a=[];for(let t=0,e=r.length;t(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=h>e&&t<(l-s)*(e-n)/(h-n)+s&&(a=!a)}return a}}(x||(x={}));let t5=x;function et(t,e,i=!0){let s=e[e.length-1],o,r,a,n=t;for(let t=0;t(e[1]-t[1])*(i[0]-t[0])}function ei(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}let es=Math.sign||(t=>0===t?0:t>0?1:-1),eo=Math.PI/180,er=Math.PI/2,ea=t=>Math.tan((er+t)/2),en=class{constructor(t){let e=(t.parallels||[]).map(t=>t*eo),i=e[0]||0,s=e[1]??i,o=Math.cos(i);"object"==typeof t.projectedBounds&&(this.projectedBounds=t.projectedBounds);let r=i===s?Math.sin(i):Math.log(o/Math.cos(s))/Math.log(ea(s)/ea(i));1e-10>Math.abs(r)&&(r=1e-10*(es(r)||1)),this.n=r,this.c=o*Math.pow(ea(i),r)/r}forward(t){let{c:e,n:i,projectedBounds:s}=this,o=t[0]*eo,r=t[1]*eo;e>0?r<-er+1e-6&&(r=-er+1e-6):r>er-1e-6&&(r=er-1e-6);let a=e/Math.pow(ea(r),i),n=a*Math.sin(i*o)*63.78137,l=(e-a*Math.cos(i*o))*63.78137,h=[n,l];return s&&(ns.x2||ls.y2)&&(h.outside=!0),h}inverse(t){let{c:e,n:i}=this,s=t[0]/63.78137,o=e-t[1]/63.78137,r=es(i)*Math.sqrt(s*s+o*o),a=Math.atan2(s,Math.abs(o))*es(o);return o*i<0&&(a-=Math.PI*es(s)*es(o)),[a/i/eo,(2*Math.atan(Math.pow(e/r,1/i))-er)/eo]}},el=Math.sqrt(3)/2,eh=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(t){let e=Math.PI/180,i=Math.asin(el*Math.sin(t[1]*e)),s=i*i,o=s*s*s;return[t[0]*e*Math.cos(i)*74.03120656864502/(el*(1.340264+-.24331799999999998*s+o*(.0062510000000000005+.034164*s))),74.03120656864502*i*(1.340264+-.081106*s+o*(893e-6+.003796*s))]}inverse(t){let e=t[0]/74.03120656864502,i=t[1]/74.03120656864502,s=180/Math.PI,o=i,r,a,n,l;for(let t=0;t<12&&(a=(r=o*o)*r*r,n=o*(1.340264+-.081106*r+a*(893e-6+.003796*r))-i,o-=l=n/(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r)),!(1e-9>Math.abs(l)));++t);a=(r=o*o)*r*r;let h=s*el*e*(1.340264+-.24331799999999998*r+a*(.0062510000000000005+.034164*r))/Math.cos(o),p=s*Math.asin(Math.sin(o)/el);return Math.abs(h)>180?[NaN,NaN]:[h,p]}},ep=Math.PI/4,ed=Math.PI/180,ec=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(t){return[t[0]*ed*63.78137,79.7267125*Math.log(Math.tan(ep+.4*t[1]*ed))]}inverse(t){return[t[0]/63.78137/ed,2.5*(Math.atan(Math.exp(.8*(t[1]/63.78137)))-ep)/ed]}},eu=Math.PI/180,em=class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(t){let e=t[0],i=t[1]*eu,s=[Math.cos(i)*Math.sin(e*eu)*63.78460826781007,63.78460826781007*Math.sin(i)];return(e<-90||e>90)&&(s.outside=!0),s}inverse(t){let e=t[0]/63.78460826781007,i=t[1]/63.78460826781007,s=Math.sqrt(e*e+i*i),o=Math.asin(s),r=Math.sin(o);return[Math.atan2(e*r,s*Math.cos(o))/eu,Math.asin(s&&i*r/s)/eu]}},eg=Math.PI/180,ef=class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(t){let e=Math.sin(t[1]*eg),i=[63.78137*t[0]*eg,63.78137*Math.log((1+e)/(1-e))/2];return Math.abs(t[1])>this.maxLatitude&&(i.outside=!0),i}inverse(t){return[t[0]/(63.78137*eg),(2*Math.atan(Math.exp(t[1]/63.78137))-Math.PI/2)/eg]}},{clipLineString:eb,clipPolygon:ey}={clipLineString:function(t,e){let i=[],s=et(t,e,!1);for(let t=1;t(t<-180&&(t+=360),t>180&&(t-=360),t),eC=t=>(1-Math.cos(t))/2,eT=(t,e)=>{let i=Math.cos,s=t[1]*ev,o=t[0]*ev,r=e[1]*ev,a=e[0]*ev;return eC(r-s)+i(s)*i(r)*eC(a-o)};class eL{static add(t,e){eL.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=eT(t,e);return 6371e3*(2*i(s(o),s(1-o)))}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:n}=Math,l=eL.distance,h=t[1]*ev,p=t[0]*ev,d=e[1]*ev,c=e[0]*ev,u=r(h)*r(p),m=r(d)*r(c),g=r(h)*a(p),f=r(d)*a(c),b=a(h),y=a(d),x=l(t,e),M=x/6371e3,v=a(M),w=Math.round(x/s),C=[];if(i&&C.push(t),w>1){let t=1/w;for(let e=t;e<.999;e+=t){let t=a((1-e)*M)/v,i=a(e*M)/v,s=t*u+i*m,r=t*g+i*f,l=o(t*b+i*y,n(s*s+r*r)),h=o(r,s);C.push([h/ev,l/ev])}}return i&&C.push(e),C}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=eL.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:s}=t;this.rotator=s?this.getRotator(s):void 0;let o=e?eL.registry[e]:void 0;o&&(this.def=new o(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{let[s,o]=t,r=e?0:1;if("number"==typeof i&&s[e]>=i!=o[e]>=i){let t=(i-s[e])/(o[e]-s[e]),a=s[r]+t*(o[r]-s[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,s))?n=a:(a=r(t,1,o))&&(n=a),n}getRotator(t){let e=t[0]*ev,i=(t[1]||0)*ev,s=(t[2]||0)*ev,o=Math.cos(i),r=Math.sin(i),a=Math.cos(s),n=Math.sin(s);if(0!==e||0!==i||0!==s)return{forward:t=>{let i=t[0]*ev+e,s=t[1]*ev,l=Math.cos(s),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(s),c=d*o+h*r;return[Math.atan2(p*a-c*n,h*o-d*r)/ev,Math.asin(c*a+p*n)/ev]},inverse:t=>{let i=t[0]*ev,s=t[1]*ev,l=Math.cos(s),h=Math.cos(i)*l,p=Math.sin(i)*l,d=Math.sin(s),c=d*a-p*n;return[(Math.atan2(p*a+d*n,h*o+c*r)-e)/ev,Math.asin(c*o-h*r)/ev]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i;let s=[],o=[t];for(let i=0,o=t.length;i90)&&(n<-90||n>90)&&a>0!=n>0){let t=ex((180-(a+360)%360)/((n+360)%360-(a+360)%360),0,1),e=r[1]+t*(o[1]-r[1]);s.push({i,lat:e,direction:a<0?1:-1,previousLonLat:r,lonLat:o})}}if(s.length){if(e){s.length%2==1&&(i=s.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],eM(s,i));let e=s.length-2;for(;e>=0;){let i=s[e].i,r=ew(180+1e-6*s[e].direction),a=ew(180-1e-6*s[e].direction),n=t.splice(i,s[e+1].i-i,...eL.geodesic([r,s[e].lat],[r,s[e+1].lat],!0));n.push(...eL.geodesic([a,s[e+1].lat],[a,s[e].lat],!0)),o.push(n),e-=2}if(i)for(let t=0;t-1){let t=(s<0?-1:1)*this.maxLatitude,o=ew(180+1e-6*e),n=ew(180-1e-6*e),l=eL.geodesic([o,s],[o,t],!0);for(let i=o+120*e;i>-180&&i<180;i+=120*e)l.push([i,t]);l.push(...eL.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...l);break}}}else{let e=s.length;for(;e--;){let i=s[e].i,r=t.splice(i,t.length,[ew(180+1e-6*s[e].direction),s[e].lat]);r.unshift([ew(180-1e-6*s[e].direction),s[e].lat]),o.push(r)}}}return o}path(t){let e;let{bounds:i,def:s,rotator:o}=this,r=[],a="Polygon"===t.type||"MultiPolygon"===t.type,n=this.hasGeoProjection,l=!s||!1!==s.antimeridianCutting,h=l?o:void 0,p=l&&s||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let d=t=>{let s=t.map(t=>{if(l){h&&(t=h.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),o=[s];n&&(eL.insertGeodesics(s),l&&(o=this.cutOnAntimeridian(s,a))),o.forEach(t=>{let s,o;if(t.length<2)return;let h=!1,d=!1,c=t=>{h?r.push(["L",t[0],t[1]]):(r.push(["M",t[0],t[1]]),h=!0)},u=!1,m=!1,g=t.map(t=>{let e=p.forward(t);return e.outside?u=!0:m=!0,e[1]===1/0?e[1]=1e10:e[1]===-1/0&&(e[1]=-1e10),e});if(l){if(a&&g.push(g[0]),u){if(!m)return;if(e){if(a)g=ey(g,e);else if(i){eb(g,e).forEach(t=>{h=!1,t.forEach(c)});return}}}g.forEach(c)}else for(let e=0;ec(p.forward(t))):h=!1),c(r),o=i,d=!1)}})};return"LineString"===t.type?d(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>d(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>d(t)),r.length&&r.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>d(t))}),r.length&&r.push(["Z"])),r}}eL.registry={EqualEarth:eh,LambertConformalConic:en,Miller:ec,Orthographic:em,WebMercator:ef};let{composed:eP}=L(),{pointInPolygon:eA}=t5,{topo2geo:ek}=t4,{boundsFromPath:ej}=tU,{addEvent:ez,clamp:eS,crisp:eI,fireEvent:eB,isArray:eE,isNumber:eD,isObject:eV,isString:eO,merge:eN,pick:eG,pushUnique:eX,relativeLength:eR}=L(),eH={};function eW(t,e){let{width:i,height:s}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(s/256)))/Math.log(2)}function eY(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class eU{static compose(t){eX(eP,"MapView")&&(eH=t.maps,ez(t,"afterInit",function(){this.mapView=new eU(this,this.options.mapView)},{order:0}),ez(t,"addSeriesAsDrilldown",eY),ez(t,"afterDrillUp",eY))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),eN(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},s=eN(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,e){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof eF||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=e||{};let i=eN(tQ,this.recommendedMapView,e),s=this.recommendedMapView?.insets,o=e&&e.insets;s&&o&&(i.insets=eU.mergeInsets(s,o)),this.chart=t,this.center=i.center,this.options=i,this.projection=new eL(i.projection),this.playingField=t.plotBox,this.zoom=i.zoom||0,this.minZoom=i.minZoom,this.createInsets(),this.eventsToUnbind.push(ez(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&eD(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&eN(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new eF(this,eN(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,s){let o=t||this.getProjectedBounds();if(o){let r=eG(e,t?0:this.options.padding),a=this.getField(!1),n=eE(r)?r:[r,r,r,r];this.padding=[eR(n[0],a.height),eR(n[1],a.width),eR(n[2],a.height),eR(n[3],a.width)],this.playingField=this.getField();let l=eW(o,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]);this.setView(h,l,i,s)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(eO(t))return eH[t]&&"Topology"===eH[t].type?ek(eH[t]):eH[t];if(eV(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return ek(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,s=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:s.x-i[3],y:s.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache){if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),s=e.map(t=>t[0]),o=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,s),x2:Math.max.apply(0,s),y1:Math.min.apply(0,o),y2:Math.max.apply(0,o)}}else this.fitToGeometryCache=ej(t.path(i))}return this.fitToGeometryCache}return this.projection.bounds||eU.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-o[0]*a,h=e+s/2-o[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){let o=e.transformFromLatLon(t,i[s]);if(o&&eA(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&eA({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),s=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(s)}let s=this.projection.forward([t.lon,t.lat]);if(!s.outside)return{x:s[0],y:s[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&eA(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}let s=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&eA(s,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(s),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let o=this.projection.inverse([t.x,t.y]);return{lon:o[0],lat:o[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[];s.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,s,r]=t.bbox;o.push({x1:e,y1:i,x2:s,y2:r})}});let r=o.length&&eU.compositeBounds(o);eB(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:s}=r;this.recommendedMapView.projection=i-t>180&&s-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,s],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=s[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,s){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),eD(e)&&(this.zoom=e));let o=this.getProjectedBounds();if(o){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:o.x1,y:o.y1}),l=this.projectedUnitsToPixels({x:o.x2,y:o.y2}),h=[(o.x1+o.x2)/2,(o.y1+o.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let o=n.x,p=l.y,d=l.x,c=n.y;d-oe+s&&o>e&&(t[0]+=Math.min(d-s-e,o-e)/a),c-pi+r&&p>i&&(t[1]-=Math.min(c-r-i,p-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}eB(this,"afterSetView"),i&&this.redraw(s)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,r=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,s=this.getScale(),o=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:o[0]+(e-a)/s,y:o[1]-(i-n)/s}}setUpEvents(){let t,e,i;let{chart:s}=this,o=o=>{let{lastTouches:r,pinchDown:a}=s.pointer,n=this.projection,l=o.touches,{mouseDownX:h,mouseDownY:p}=s,d=0;if(a?.length===1?(h=a[0].chartX,p=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,p=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(d=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),eD(h)&&eD(p)){let r=`${h},${p}`,{chartX:a,chartY:c}=o.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,c=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let u=n.def&&n.def.bounds,m=u&&eW(u,this.playingField)||-1/0;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*m){let t=440/(this.getScale()*Math.min(s.plotWidth,s.plotHeight));if(i){let e=(h-a)*t-i[0],o=eS(-i[1]-(p-c)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-o]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,s.redraw(!1)}}else if(eD(a)&&eD(c)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,s=this.projection.inverse([t[0]+(h-a)/e,t[1]-(p-c)/e*i]);isNaN(s[0]+s[1])||this.zoomBy(d,s,void 0,!1)}o.preventDefault()}};ez(s,"pan",o),ez(s,"touchpan",o),ez(s,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-s.plotLeft,i=t.y-s.plotTop,{y:o,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:o,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||s.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,o=s&&eL.toString(s)!==eL.toString(this.options.projection),r=!1;eN(!0,this.userOptions,t),eN(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,r=!0),(o||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(o||r)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,r&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),o&&(this.projection=new eL(this.options.projection)),r&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!eD(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||eD(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,s){let o=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l;let h=this.zoom+t;if(i){let[t,e]=i,s=this.getScale(),a=t-o.plotLeft-o.plotWidth/2,h=e-o.plotTop-o.plotHeight/2;n=r[0]+a/s,l=r[1]+h/s}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,s)}else this.fitToBounds(void 0,void 0,void 0,s)}}class eF extends eU{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=eN({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=ej(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],s=e.coordinates[0],o=s.map(t=>t[0]),r=s.map(t=>t[1]),a=Math.min.apply(0,o)+i[3],n=Math.max.apply(0,o)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(eD(a)&&eD(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:s}=i.field||{};if(s){let o=s[0];if("percent"===i.units){let s="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||eN(t.plotBox,{x:0,y:0});o=o.map(t=>[eR(`${t[0]}%`,s.width,s.x),eR(`${t[1]}%`,s.height,s.y)])}return{type:"Polygon",coordinates:[o]}}}getProjectedBounds(){return eU.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&eA(t,i))}render(){let{chart:t,mapView:e,options:i}=this,s=i.borderPath||i.field;if(s&&e.group){let o=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),o=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(s.coordinates||[]).reduce((e,s)=>s.reduce((e,s,o)=>{let[n,l]=s;return"percent"===i.units&&(n=t.plotLeft+eR(`${n}%`,a.width,a.x),l=t.plotTop+eR(`${l}%`,a.height,a.y)),n=eI(n,r),l=eI(l,r),e.push(0===o?["M",n,l]:["L",n,l]),e},e),[]);this.border[o?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}let{animObject:eZ,stop:e_}=L(),{noop:eK}=L(),{splitPath:eq}=tY,{column:e$,scatter:eJ}=W().seriesTypes,{extend:eQ,find:e0,fireEvent:e1,getNestedProperty:e2,isArray:e6,defined:e3,isNumber:e8,isObject:e7,merge:e9,objectEach:e4,pick:e5,splat:it}=L();class ie extends eJ{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=eZ(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:r}=e;if(o){this.transformGroups=s,s[0]||(s[0]=r.g().add(i));for(let t=0,e=o.insets.length;t{let{graphic:e}=t;t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),e$.prototype.drawPoints.apply(this),this.points.forEach(i=>{let s=i.graphic;if(s){let o=s.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&s.addClass(r),e.styledMode&&s.css(this.pointAttribs(i,i.selected&&"select"||void 0)),s.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),s.animate=function(i,r,a){let n=e8(i["stroke-width"])&&!e8(s["stroke-width"]),l=e8(s["stroke-width"])&&!e8(i["stroke-width"]);if(n||l){let o=e5(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);n&&(s["stroke-width"]=o),l&&(i["stroke-width"]=o)}return o.call(s,i,r,l?function(){s.element.removeAttribute("stroke-width"),delete s["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),s.forEach((i,s)=>{let a=(0===s?o:o.insets[s-1]).getSVGTransform(),n=e5(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,p=e=>{(t.points||[]).forEach(t=>{let i;let s=t.graphic;s&&s["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&s.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&o.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),s=Number(i.attr("scaleX")),o=(o,r)=>{let d=s+(l-s)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:d,scaleY:d*h,"stroke-width":n/d}),p(d)},d=e9(eZ(r.globalAnimation)),c=d.step;d.step=function(){c&&c.apply(this,arguments),o.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},d,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),e1(this,"mapZoomComplete")}).bind(this))}else e_(i),i.attr(e9(a,{"stroke-width":n/l})),p(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(s=>{if(s.path||s.geometry){if("string"==typeof s.path?s.path=eq(s.path):e6(s.path)&&"M"===s.path[0]&&(s.path=this.chart.renderer.pathToSegments(s.path)),!s.bounds){let i=s.getProjectedBounds(e);if(i){s.labelrank=e5(s.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:o}=i;if(t&&e8(e)&&e8(o)){let r=e0(t,t=>t.isInside({x:e,y:o}));r&&(delete s.projectedPath,(i=s.getProjectedBounds(r.projection))&&r.allBounds.push(i),s.insetIndex=t.indexOf(r))}s.bounds=i}}s.bounds&&void 0===s.insetIndex&&i.push(s.bounds)}}),this.bounds=eU.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.dataTable.rowCount}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):e$.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=e9(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),s=this.getStrokeWidth(i);e3(s)&&(r=s),o.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&e8(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),e3(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}dataColumnKeys(){return this.pointArrayMap}processData(){let t,e,i;let s=this.options,o=s.data,r=this.chart,a=r.options.chart,n=this.joinBy,l=s.keys||this.pointArrayMap,h=[],p={},d=this.chart.mapView,c=d&&(e7(s.mapData,!0)?d.getGeoMap(s.mapData):d.geoMap),u=r.mapTransforms=a.mapTransforms||c&&c["hc-transform"]||r.mapTransforms;u&&e4(u,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),e6(s.mapData)?i=s.mapData:c&&"FeatureCollection"===c.type&&(this.mapTitle=c.title,i=L().geojson(c,this.type,this)),this.processedData=[];let m=this.processedData;if(o){let t;for(let e=0,i=o.length;el.length&&"string"==typeof t[0]&&(m[e]["hc-key"]=t[0],++i);for(let s=0;s0?t$.prototype.setNestedProperty(m[e],t[i],l[s]):m[e][l[s]]=t[i])}else m[e]=o[e];n&&"_i"===n[0]&&(m[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let s=0;s{let i=e2(t,e);p[i]&&h.push(p[i])})}if(s.allAreas){if(n[1]){let t=n[1];m.forEach(e=>{h.push(e2(t,e))})}let t="|"+h.map(function(t){return t&&t[n[0]]}).join("|")+"|";i.forEach(e=>{n[0]&&-1!==t.indexOf("|"+e[n[0]]+"|")||m.push(e9(e,{value:null}))})}}this.dataTable.rowCount=m.length}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),i&&(this.joinBy=it(i),this.joinBy[1]||(this.joinBy[1]=this.joinBy[0])),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||e8(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let s=e.getSVGTransform();this.points.forEach(o=>{let r=e8(o.insetIndex)&&e.insets[o.insetIndex].getSVGTransform()||s;r&&o.bounds&&e8(o.bounds.midX)&&e8(o.bounds.midY)&&(o.plotX=o.bounds.midX*r.scaleX+r.translateX,o.plotY=o.bounds.midY*r.scaleY+r.translateY),t&&(o.shapeType="path",o.shapeArgs={d:t$.getProjectedPath(o,i)}),o.hiddenInDataClass||(o.projectedPath&&!o.projectedPath.length?o.setVisible(!1):o.visible||o.setVisible(!0))})}e1(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}ie.defaultOptions=e9(eJ.defaultOptions,{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return tJ(e)?t(e,-1):this.point.name||""},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}),eQ(ie.prototype,{type:"map",axisTypes:tP.seriesMembers.axisTypes,colorAttribs:tP.seriesMembers.colorAttribs,colorKey:tP.seriesMembers.colorKey,directTouch:!0,drawDataLabels:eK,drawGraph:eK,forceDL:!0,getCenter:tE.getCenter,getExtremesFromAll:!0,getSymbol:eK,isCartesian:!1,parallelArrays:tP.seriesMembers.parallelArrays,pointArrayMap:tP.seriesMembers.pointArrayMap,pointClass:t$,preserveAspectRatio:!0,searchPoint:eK,trackerGroups:tP.seriesMembers.trackerGroups,useMapGeometry:!0}),tP.compose(ie),W().registerSeriesType("map",ie);let ii=ie,{extend:is,merge:io}=L();class ir extends ii{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}ir.defaultOptions=io(ii.defaultOptions,{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}),is(ir.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),W().registerSeriesType("mapline",ir);let{scatter:ia}=W().seriesTypes,{isNumber:il}=L();class ih extends ia.prototype.pointClass{isValid(){return!!(this.options.geometry||il(this.x)&&il(this.y)||il(this.options.lon)&&il(this.options.lat))}}w(632);let{noop:ip}=L(),{map:id,scatter:ic}=W().seriesTypes,{extend:iu,fireEvent:im,isNumber:ig,merge:ib}=L();class iy extends ic{constructor(){super(...arguments),this.clearBounds=id.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:s,lat:o}=t,r=i&&"Point"===i.type&&i.coordinates;if(ig(s)&&ig(o)&&(r=[s,o]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;this.points.forEach(s=>{let o,{x:r,y:a}=s,n=ig(s.insetIndex)&&t.insets[s.insetIndex].getSVGTransform()||e,l=this.projectPoint(s.options)||s.properties&&this.projectPoint(s.properties);if(l?(r=l.x,a=l.y):s.bounds&&(r=s.bounds.midX,a=s.bounds.midY,n&&ig(r)&&ig(a)&&(s.plotX=r*n.scaleX+n.translateX,s.plotY=a*n.scaleY+n.translateY,o=!0)),ig(r)&&ig(a)){if(!o){let e=t.projectedUnitsToPixels({x:r,y:a});s.plotX=e.x,s.plotY=i?e.y:this.chart.plotHeight-e.y}}else s.y=s.plotX=s.plotY=void 0;s.isInside=this.isPointInside(s),s.zone=this.zones.length?s.getZone():void 0})}im(this,"afterTranslate")}}iy.defaultOptions=ib(ic.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}),tN().prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;let n=o&&"legend"===o.context;n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s);let l=n?s/3:s/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},iu(iy.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:ih,searchPoint:ip,useMapGeometry:!0}),W().registerSeriesType("mappoint",iy);let ix={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},{parse:iM}=j(),{noop:iv}=L(),{arrayMax:iw,arrayMin:iC,isNumber:iT,merge:iL,pick:iP,stableSort:iA}=L(),ik=class{constructor(t,e){this.setState=iv,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=iP(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!iT(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}iA(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=a-l+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},n=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,p){l||(o.stroke=iP(h.borderColor,e.borderColor,i.color),o.fill=iP(h.color,e.color,1!==n?iM(i.color).setOpacity(n).get("rgba"):i.color),r.stroke=iP(h.connectorColor,e.connectorColor,i.color)),t[p].radius=this.getRangeRadius(h.value),t[p]=iL(t[p],{center:t[0].radius-t[p].radius+s}),l||iL(!0,t[p],{bubbleAttribs:iL(o),connectorAttribs:iL(r),labelAttribs:a})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=o.align,m=i.options.rtl,g=s.borderWidth,f=s.connectorWidth,b=e.radius||0,y=p-d-g/2+f/2,x=(y%1?1:.5)-(f%2?0:.5),M=n.styledMode,v=m||"left"===u?-c:c;"center"===u&&(v=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(b,p+x,d).attr(M?{}:t.bubbleAttribs).addClass((M?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",b,y],["L",b+v,y]],s.connectorWidth)).attr(M?{}:t.connectorAttribs).addClass((M?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let w=n.text(this.formatLabel(t)).attr(M?{}:t.labelAttribs).css(M?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),C={x:b+v+s.labels.x,y:y+s.labels.y+.4*w.getBBox().height};w.attr(C),h.push(w),w.placed=!0,w.alignAttr=C}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:o}=this.chart;return s?t1().format(s,t,this.chart):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,a=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.getColumn("z").filter(iT)).length&&(r=iP(t.options.zMin,Math.min(r,Math.max(iC(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),a=iP(t.options.zMax,Math.max(a,iw(o))))}),s=r===a?[{value:a}]:[{value:r},{value:(r+a)/2},{value:a,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=iL(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(a,r),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-c>=r||!s&&r-c>=a)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:ij}=L(),{composed:iz}=L(),{addEvent:iS,objectEach:iI,pushUnique:iB,wrap:iE}=L();function iD(t,e,i){let s,o,r;let a=this.legend,n=iV(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),iI(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),iX(a,iO(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),iX(a,iO(a))))}function iV(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function iN(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=iV(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),o>=0&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new ik(s,this),this.bubbleLegend.addToLegend(t.allItems))}function iG(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=iV(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function iX(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}let iR={compose:function(t,e){iB(iz,"Series.BubbleLegend")&&(ij({legend:{bubbleLegend:ix}}),iE(t.prototype,"drawChartBox",iD),iS(e,"afterGetAllItems",iN),iS(e,"itemClick",iG))}};var iH=w(260),iW=w.n(iH);let{seriesTypes:{scatter:{prototype:{pointClass:iY}}}}=W(),{extend:iU}=L();class iF extends iY{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(i.len-t[1]-e,s.len-t[0]-e,2*e,2*e)}return iW().prototype.haloPath.call(this,e)}}iU(iF.prototype,{ttBelow:!1});let iZ=iF,{parse:i_}=j(),{composed:iK,noop:iq}=L(),{series:i$,seriesTypes:{column:{prototype:iJ},scatter:iQ}}=W(),{addEvent:i0,arrayMax:i1,arrayMin:i2,clamp:i6,extend:i3,isNumber:i8,merge:i7,pick:i9,pushUnique:i4}=L();function i5(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=(this.max||0)-(s||0),r=0,a=t,n=t/o,l;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,l=!0;let e=t.getColumn(i?"x":"y");if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),o>0){let i=e.length;for(;i--;)if(i8(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;r=Math.min((e[i]-s)*n-o,r),a=Math.max((e[i]-s)*n+o,a)}}}}),l&&o>0&&!this.logarithmic&&(a-=t,n*=(t+Math.max(0,r)-Math.min(a,t))/t,[["min","userMin",r],["max","userMax",a]].forEach(t=>{void 0===i9(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/n)})))}function st(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:o}=this,r=this.options.type;if((o?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let o=e.length;for(;o--;){let r=t[e[o]],a=r.pos||0;(a>s||a{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(i9(e,o.zMin),o.zMin),i=Math.max(i9(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o0&&(p=(o-t)/h)}return n&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(s-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?i3(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=i$.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=i_(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),i8(a)&&a>=s/2?(r.marker=i3(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(i9(this.options.minSize,8)),s=Math.max(e(i9(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(i8);if(e.length){let i=i9(t.zMin,i6(i2(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=i9(t.zMax,i1(e));if(i8(i)&&i8(s))return{zMin:i,zMax:s}}}searchKDTree(t,e,i,s=iq,o=iq){return s=(t,e,i)=>{let s=t[i]||0,o=e[i]||0,r,a=!1;return s<0&&o<0?(r=s-(t.marker?.radius||0)>=o-(e.marker?.radius||0)?t:e,a=!0):r=s!i&&t>e||t{delete t.target.chart.bubbleZExtremes}),i0(se,"remove",t=>{delete t.target.chart.bubbleZExtremes}),W().registerSeriesType("bubble",se);let si=se,{seriesTypes:{map:{prototype:{pointClass:{prototype:ss}}}}}=W(),{extend:so}=L();class sr extends iZ{isValid(){return"number"==typeof this.z}}so(sr.prototype,{applyOptions:ss.applyOptions,getProjectedBounds:ss.getProjectedBounds});let{seriesTypes:{map:{prototype:sa},mappoint:{prototype:sn}}}=W(),{extend:sl,merge:sh}=L();class sp extends si{constructor(){super(...arguments),this.clearBounds=sa.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){sn.translate.call(this),this.getRadii(),this.translateBubble()}}sp.defaultOptions=sh(si.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),sl(sp.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:sa.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:sr,processData:sa.processData,projectPoint:sn.projectPoint,kdAxisArray:["plotX","plotY"],setData:sa.setData,setOptions:sa.setOptions,updateData:sa.updateData,useMapGeometry:!0,xyFromShape:!0}),W().registerSeriesType("mapbubble",sp);let{scatter:{prototype:{pointClass:sd}}}=W().seriesTypes,{clamp:sc,defined:su,extend:sm,pick:sg}=L();class sf extends sd{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,s=(e.rowsize||1)/2,o=t.xAxis,r=t.yAxis,a=this.options.marker||t.options.marker,n=t.pointPlacementToXValue(),l=sg(this.pointPadding,e.pointPadding,0),h={x1:sc(Math.round(o.len-o.translate(this.x-i,!1,!0,!1,!0,-n)),-o.len,2*o.len),x2:sc(Math.round(o.len-o.translate(this.x+i,!1,!0,!1,!0,-n)),-o.len,2*o.len),y1:sc(Math.round(r.translate(this.y-s,!1,!0,!1,!0)),-r.len,2*r.len),y2:sc(Math.round(r.translate(this.y+s,!1,!0,!1,!0)),-r.len,2*r.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],s=i+"1",n=i+"2",p=Math.abs(h[s]-h[n]),d=a&&a.lineWidth||0,c=Math.abs(h[s]+h[n])/2,u=a&&a[e];if(su(u)&&usM(parseFloat(t),parseInt(t,10)));return s[3]=255*sM(s[3],1),sx(t)&&e.visible||(s[3]=0),s}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:i}=t;return e&&i?(i.clearRect(0,0,e.width,e.height),i):(t.canvas=sy.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}};class sB extends sC{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,s=e.marker||{};if(i){let{image:e,chart:i,xAxis:s,yAxis:o}=t,{reversed:r=!1,len:a}=s,{reversed:n=!1,len:l}=o,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=sI(t),{canvas:l,options:{colsize:p=1,rowsize:d=1},points:c,points:{length:u}}=t,m=i.colorAxis&&i.colorAxis[0];if(l&&a&&m){let{min:m,max:g}=s.getExtremes(),{min:f,max:b}=o.getExtremes(),y=g-m,x=b-f,M=Math.round(y/p/8*8),v=Math.round(x/d/8*8),[w,C]=[[M,M/y,r,"ceil"],[v,v/x,!n,"floor"]].map(([t,e,i,s])=>i?i=>Math[s](t-e*i):t=>Math[s](e*t)),T=l.width=M+1,L=T*(l.height=v+1),P=(u-1)/L,A=new Uint8ClampedArray(4*L),k=(t,e)=>4*Math.ceil(T*C(e-f)+w(t-m));t.buildKDTree();for(let t=0;t{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=sv.prototype.getExtremes.call(this,this.getColumn("value"));return sk(t)&&(this.valueMin=t),sk(e)&&(this.valueMax=e),sv.prototype.getExtremes.call(this)}getValidPoints(t,e){return sv.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.dataTable.rowCount}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=sz(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,sT.ellipse=sT.circle,t.marker&&sk(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let s=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=s.states&&s.states[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(t,e){let i=sv.prototype.pointAttribs.call(this,t,e),s=this.options||{},o=this.chart.options.plotOptions||{},r=o.series||{},a=o.heatmap||{},n=t&&t.options.borderColor||s.borderColor||a.borderColor||r.borderColor,l=t&&t.options.borderWidth||s.borderWidth||a.borderWidth||r.borderWidth||i["stroke-width"];if(i.stroke=t&&t.marker&&t.marker.lineColor||s.marker&&s.marker.lineColor||n||this.color,i["stroke-width"]=l,e&&"normal"!==e){let o=sj(s.states&&s.states[e],s.marker&&s.marker.states&&s.marker.states[e],t&&t.options.states&&t.options.states[e]||{});i.fill=o.color||j().parse(i.fill).brighten(o.brightness||0).get(),i.stroke=o.lineColor||i.stroke}return i}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",s=sT[i]?i:"rect",o=-1!==["circle","square"].indexOf(s);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),o){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}),sL(sB,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),sP(sB.prototype,{axisTypes:tP.seriesMembers.axisTypes,colorKey:tP.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,keysAffectYAxis:["y"],parallelArrays:tP.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:sf,specialGroup:"group",trackerGroups:tP.seriesMembers.trackerGroups,alignDataLabel:sw.prototype.alignDataLabel,colorAttribs:tP.seriesMembers.colorAttribs,getSymbol:sv.prototype.getSymbol}),tP.compose(sB),W().registerSeriesType("heatmap",sB);/** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/map * @requires highcharts * diff --git a/modules/map.src.js b/modules/map.src.js index c663404341..770600db44 100644 --- a/modules/map.src.js +++ b/modules/map.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/color-axis * @requires highcharts * @@ -11458,7 +11458,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart ;// ./code/es-modules/masters/modules/map.src.js /** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/map * @requires highcharts * diff --git a/modules/marker-clusters.js b/modules/marker-clusters.js index 18638609c8..f1d6d28101 100644 --- a/modules/marker-clusters.js +++ b/modules/marker-clusters.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/marker-clusters * @requires highcharts * diff --git a/modules/marker-clusters.src.js b/modules/marker-clusters.src.js index 67b1a4fb2b..55381f1123 100644 --- a/modules/marker-clusters.src.js +++ b/modules/marker-clusters.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/marker-clusters * @requires highcharts * diff --git a/modules/mouse-wheel-zoom.js b/modules/mouse-wheel-zoom.js index aacadc9cc4..466d842fa1 100644 --- a/modules/mouse-wheel-zoom.js +++ b/modules/mouse-wheel-zoom.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/mouse-wheel-zoom * @requires highcharts * diff --git a/modules/mouse-wheel-zoom.src.js b/modules/mouse-wheel-zoom.src.js index fdf5459605..860a0d347a 100644 --- a/modules/mouse-wheel-zoom.src.js +++ b/modules/mouse-wheel-zoom.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/mouse-wheel-zoom * @requires highcharts * diff --git a/modules/navigator.js b/modules/navigator.js index b3ccad3788..50d48d12f1 100644 --- a/modules/navigator.js +++ b/modules/navigator.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/navigator * @requires highcharts * diff --git a/modules/navigator.src.js b/modules/navigator.src.js index 1851183241..4232e663df 100644 --- a/modules/navigator.src.js +++ b/modules/navigator.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/navigator * @requires highcharts * diff --git a/modules/networkgraph.js b/modules/networkgraph.js index 4ea0b342c9..720ce0a7c0 100644 --- a/modules/networkgraph.js +++ b/modules/networkgraph.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/networkgraph * @requires highcharts * diff --git a/modules/networkgraph.src.js b/modules/networkgraph.src.js index d4c1c29225..ef5632539f 100644 --- a/modules/networkgraph.src.js +++ b/modules/networkgraph.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/networkgraph * @requires highcharts * diff --git a/modules/no-data-to-display.js b/modules/no-data-to-display.js index d5ef710b1a..16498ec2c8 100644 --- a/modules/no-data-to-display.js +++ b/modules/no-data-to-display.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/no-data-to-display * @requires highcharts * diff --git a/modules/no-data-to-display.src.js b/modules/no-data-to-display.src.js index 6bd1cd8209..6f3894c7cb 100644 --- a/modules/no-data-to-display.src.js +++ b/modules/no-data-to-display.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/no-data-to-display * @requires highcharts * diff --git a/modules/offline-exporting.js b/modules/offline-exporting.js index 044c85e584..48e9177221 100644 --- a/modules/offline-exporting.js +++ b/modules/offline-exporting.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/offline-exporting * @requires highcharts * @requires highcharts/modules/exporting @@ -9,4 +9,4 @@ * (c) 2015-2024 Torstein Honsi / Oystein Moseng * * License: www.highcharts.com/license - */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart,e._Highcharts.HttpUtilities):"function"==typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts/highcharts"],function(e){return t(e,e.AST,e.Chart,e.HttpUtilities)}):"object"==typeof exports?exports["highcharts/modules/offline-exporting"]=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart,e._Highcharts.HttpUtilities):e.Highcharts=t(e.Highcharts,e.Highcharts.AST,e.Highcharts.Chart,e.Highcharts.HttpUtilities)}("undefined"==typeof window?this:window,(e,t,n,o)=>(()=>{"use strict";var i,r,l,s,a={660:e=>{e.exports=t},960:e=>{e.exports=n},156:e=>{e.exports=o},944:t=>{t.exports=e}},c={};function h(e){var t=c[e];if(void 0!==t)return t.exports;var n=c[e]={exports:{}};return a[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var d={};h.d(d,{default:()=>ed});var p=h(944),u=h.n(p);let{isSafari:g,win:f,win:{document:m}}=u(),x=f.URL||f.webkitURL||f;function y(e){let t=e.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(t&&t.length>3&&f.atob&&f.ArrayBuffer&&f.Uint8Array&&f.Blob&&x.createObjectURL){let e=f.atob(t[3]),n=new f.ArrayBuffer(e.length),o=new f.Uint8Array(n);for(let t=0;t1e3)throw Error("Input too long");let i=/Edge\/\d+/.test(n.userAgent);if((g&&"string"==typeof e&&0===e.indexOf("data:application/pdf")||i||e.length>2e6)&&!(e=y(e)||""))throw Error("Failed to convert to blob");if(void 0!==o.download)o.href=e,o.download=t,m.body.appendChild(o),o.click(),m.body.removeChild(o);else try{if(!f.open(e,"chart"))throw Error("Failed to open window")}catch{f.location.href=e}}};var v=h(660),w=h.n(v);h(960),function(e){e.compose=function(e){return e.navigation||(e.navigation=new t(e)),e};class t{constructor(e){this.updates=[],this.chart=e}addUpdate(e){this.chart.navigation.updates.push(e)}update(e,t){this.updates.forEach(n=>{n.call(this.chart,e,t)})}}e.Additions=t}(i||(i={}));let S=i,{isTouchDevice:E}=u(),C={exporting:{allowTableSorting:!0,type:"image/png",url:"https://export-svg.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"],y:-5}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:E?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(e){let t=[];function n(e,t,n,o){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+o/2+.5],["L",e+n,t+o/2+.5],["M",e,t+o-1.5],["L",e+n,t+o-1.5]]}function o(e,t,n,o){let i=o/3-2;return[].concat(this.circle(n-i,t,i,i),this.circle(n-i,t+i+4,i,i),this.circle(n-i,t+2*(i+4),i,i))}e.compose=function(e){if(-1===t.indexOf(e)){t.push(e);let i=e.prototype.symbols;i.menu=n,i.menuball=o.bind(i)}}}(r||(r={}));let F=r,{composed:O}=u(),{addEvent:T,fireEvent:k,pushUnique:L}=u();function M(){this.fullscreen=new N(this)}class N{static compose(e){L(O,"Fullscreen")&&T(e,"beforeRender",M)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;k(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;k(t,"fullscreenOpen",null,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=T(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),o=T(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),o()};let i=t.renderTo[e.browserProps.requestFullscreen]();i&&i.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,o=n&&n.buttons&&n.buttons.contextButton.menuItems,i=e.options.lang;if(n&&n.menuItemDefinitions&&i&&i.exitFullscreen&&i.viewFullscreen&&o&&t){let e=t[o.indexOf("viewFullscreen")];e&&w().setElementHTML(e,this.isOpen?i.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||i.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}var P=h(156),G=h.n(P);let{defaultOptions:H}=u(),{doc:D,SVG_NS:A,win:R}=u(),{addEvent:B,css:I,createElement:U,discardElement:V,extend:j,find:W,fireEvent:z,isObject:$,merge:q,objectEach:K,pick:_,removeEvent:J,uniqueKey:X}=u();!function(e){let t;let n=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],o=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];e.inlineAllowlist=[];let i=["clipPath","defs","desc"];function r(e){let t,n;let o=this,i=o.renderer,r=q(o.options.navigation.buttonOptions,e),l=r.onclick,s=r.menuItems,a=r.symbolSize||12;if(o.btnCount||(o.btnCount=0),o.exportDivElements||(o.exportDivElements=[],o.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=o.styledMode?{}:r.theme;l?n=function(e){e&&e.stopPropagation(),l.call(o,e)}:s&&(n=function(e){e&&e.stopPropagation(),o.contextMenu(h.menuClassName,s,h.translateX||0,h.translateY||0,h.width||0,h.height||0,h),h.setState(2)}),r.text&&r.symbol?c.paddingLeft=_(c.paddingLeft,30):r.text||j(c,{width:r.width,height:r.height,padding:0});let h=i.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:_(o.options.lang[r._titleKey||r.titleKey],"")});h.menuClassName=e.menuClassName||"highcharts-menu-"+o.btnCount++,r.symbol&&(t=i.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(h),o.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),h.add(o.exportingGroup).align(j(r,{width:h.width,x:_(r.x,o.buttonOffset)}),!0,"spacingBox"),o.buttonOffset+=((h.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),o.exportSVGElements.push(h,t)}function l(){if(!this.printReverseInfo)return;let{childNodes:e,origDisplay:n,resetParams:o}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,o&&this.setSize.apply(this,o),delete this.printReverseInfo,t=void 0,z(this,"afterPrint")}function s(){let e=D.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),z(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function a(e){e.renderExporting(),B(e,"redraw",e.renderExporting),B(e,"destroy",e.destroyExport)}function c(e,t,n,o,i,r,l){let s=this,a=s.options.navigation,c=s.chartWidth,h=s.chartHeight,d="cache-"+e,p=Math.max(i,r),g,f=s[d];f||(s.exportContextMenu=s[d]=f=U("div",{className:e},{position:"absolute",zIndex:1e3,padding:p+"px",pointerEvents:"auto",...s.renderer.style},s.scrollablePlotArea?.fixedDiv||s.container),g=U("ul",{className:"highcharts-menu"},s.styledMode?{}:{listStyle:"none",margin:0,padding:0},f),s.styledMode||I(g,j({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),f.hideMenu=function(){I(f,{display:"none"}),l&&l.setState(0),s.openMenu=!1,I(s.renderTo,{overflow:"hidden"}),I(s.container,{overflow:"hidden"}),u().clearTimeout(f.hideTimer),z(s,"exportMenuHidden")},s.exportEvents.push(B(f,"mouseleave",function(){f.hideTimer=R.setTimeout(f.hideMenu,500)}),B(f,"mouseenter",function(){u().clearTimeout(f.hideTimer)}),B(D,"mouseup",function(t){s.pointer?.inClass(t.target,e)||f.hideMenu()}),B(f,"click",function(){s.openMenu&&f.hideMenu()})),t.forEach(function(e){if("string"==typeof e&&(e=s.options.exporting.menuItemDefinitions[e]),$(e,!0)){let t;e.separator?t=U("hr",void 0,void 0,g):("viewData"===e.textKey&&s.isDataTableVisible&&(e.textKey="hideData"),t=U("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),f.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(s,arguments)}},void 0,g),w().setElementHTML(t,e.text||s.options.lang[e.textKey]),s.styledMode||(t.onmouseover=function(){I(this,a.menuItemHoverStyle)},t.onmouseout=function(){I(this,a.menuItemStyle)},I(t,j({cursor:"pointer"},a.menuItemStyle||{})))),s.exportDivElements.push(t)}}),s.exportDivElements.push(g,f),s.exportMenuWidth=f.offsetWidth,s.exportMenuHeight=f.offsetHeight);let m={display:"block"};n+(s.exportMenuWidth||0)>c?m.right=c-n-i-p+"px":m.left=n-p+"px",o+r+(s.exportMenuHeight||0)>h&&l.alignOptions?.verticalAlign!=="top"?m.bottom=h-o-p+"px":m.top=o+r-p+"px",I(f,m),I(s.renderTo,{overflow:""}),I(s.container,{overflow:""}),s.openMenu=!0,z(s,"exportMenuShown")}function h(e){let t;let n=e?e.target:this,o=n.exportSVGElements,i=n.exportDivElements,r=n.exportEvents;o&&(o.forEach((e,i)=>{e&&(e.onclick=e.ontouchstart=null,n[t="cache-"+e.menuClassName]&&delete n[t],o[i]=e.destroy())}),o.length=0),n.exportingGroup&&(n.exportingGroup.destroy(),delete n.exportingGroup),i&&(i.forEach(function(e,t){e&&(u().clearTimeout(e.hideTimer),J(e,"mouseleave"),i[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,V(e))}),i.length=0),r&&(r.forEach(function(e){e()}),r.length=0)}function d(e,t){let n=this.getSVGForExport(e,t);e=q(this.options.exporting,e),G().post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:n},e.fetchOptions)}function p(e){return e&&this.inlineStyles(),this.container.innerHTML}function g(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):("string"==typeof e&&(t=e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!t||t.length<5)&&(t="chart"),t)}function f(e){let t,n,o=q(this.options,e);o.plotOptions=q(this.userOptions.plotOptions,e&&e.plotOptions),o.time=q(this.userOptions.time,e&&e.time);let i=U("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},D.body),r=this.renderTo.style.width,l=this.renderTo.style.height,s=o.exporting.sourceWidth||o.chart.width||/px$/.test(r)&&parseInt(r,10)||(o.isGantt?800:600),a=o.exporting.sourceHeight||o.chart.height||/px$/.test(l)&&parseInt(l,10)||400;j(o.chart,{animation:!1,renderTo:i,forExport:!0,renderer:"SVGRenderer",width:s,height:a}),o.exporting.enabled=!1,delete o.data,o.series=[],this.series.forEach(function(e){(n=q(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||o.series.push(n)});let c={};this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=X()),e.options.isInternal||(c[e.coll]||(c[e.coll]=!0,o[e.coll]=[]),o[e.coll].push(q(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),o.colorAxis=this.userOptions.colorAxis;let h=new this.constructor(o,this.callback);return e&&["xAxis","yAxis","series"].forEach(function(t){let n={};e[t]&&(n[t]=e[t],h.update(n))}),this.axes.forEach(function(e){let t=W(h.axes,function(t){return t.options.internalKey===e.userOptions.internalKey}),n=e.getExtremes(),o=n.userMin,i=n.userMax;t&&(void 0!==o&&o!==t.min||void 0!==i&&i!==t.max)&&t.setExtremes(o,i,!0,!1)}),t=h.getChartHTML(this.styledMode||o.exporting?.applyStyleSheets),z(this,"getSVG",{chartCopy:h}),t=this.sanitizeSVG(t,o),o=null,h.destroy(),V(i),t}function m(e,t){let n=this.options.exporting;return this.getSVG(q({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function x(){let t;let r=e.inlineAllowlist,l={},s=D.createElement("iframe");I(s,{width:"1px",height:"1px",visibility:"hidden"}),D.body.appendChild(s);let a=s.contentWindow&&s.contentWindow.document;a&&a.body.appendChild(a.createElementNS(A,"svg")),function e(s){let c,h,d,p,g,f;let m={};if(a&&1===s.nodeType&&-1===i.indexOf(s.nodeName)){if(c=R.getComputedStyle(s,null),h="svg"===s.nodeName?{}:R.getComputedStyle(s.parentNode,null),!l[s.nodeName]){t=a.getElementsByTagName("svg")[0],d=a.createElementNS(s.namespaceURI,s.nodeName),t.appendChild(d);let e=R.getComputedStyle(d,null),n={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(n[t]=e[t]);l[s.nodeName]=n,"text"===s.nodeName&&delete l.text.fill,t.removeChild(d)}for(let e in c)(u().isFirefox||u().isMS||u().isSafari||Object.hasOwnProperty.call(c,e))&&function(e,t){if(p=g=!1,r.length){for(f=r.length;f--&&!g;)g=r[f].test(t);p=!g}for("transform"===t&&"none"===e&&(p=!0),f=n.length;f--&&!p;){if(t.length>1e3)throw Error("Input too long");p=n[f].test(t)||"function"==typeof e}!p&&(h[t]!==e||"svg"===s.nodeName)&&l[s.nodeName][t]!==e&&(o&&-1===o.indexOf(t)?m[t]=e:e&&s.setAttribute(t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),e))}(c[e],e);if(I(s,m),"svg"===s.nodeName&&s.setAttribute("stroke-width","1px"),"text"===s.nodeName)return;[].forEach.call(s.children||s.childNodes,e)}}(this.container.querySelector("svg")),t.parentNode.removeChild(t),s.parentNode.removeChild(s)}function y(e){let{scrollablePlotArea:t}=this;(t?[t.fixedDiv,t.scrollingContainer]:[this.container]).forEach(function(t){e.appendChild(t)})}function b(){let e=this,t=(t,n,o)=>{e.isDirtyExporting=!0,q(!0,e.options[t],n),_(o,!0)&&e.redraw()};e.exporting={update:function(e,n){t("exporting",e,n)}},S.compose(e).navigation.addUpdate((e,n)=>{t("navigation",e,n)})}function v({alignTo:e,key:t,textPxLength:n}){let o=this.options.exporting,{align:i,buttonSpacing:r=0,verticalAlign:l,width:s=0}=q(this.options.navigation?.buttonOptions,o?.buttons?.contextButton),a=e.width-n,c=s+r;(o?.enabled??!0)&&"title"===t&&"right"===i&&"top"===l&&a<2*c&&(a{R.focus(),R.print(),u().isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function O(){let e=this,t=e.options.exporting,n=t.buttons,o=e.isDirtyExporting||!e.exportSVGElements;e.buttonOffset=0,e.isDirtyExporting&&e.destroyExport(),o&&!1!==t.enabled&&(e.exportEvents=[],e.exportingGroup=e.exportingGroup||e.renderer.g("exporting-group").attr({zIndex:3}).add(),K(n,function(t){e.addButton(t)}),e.isDirtyExporting=!1)}function T(e,t){let n=e.indexOf("")+6,o=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&o&&(o=''+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",o+"")),e=e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/-1&&"image/svg+xml"!==i.type&&(u().isMS||"application/pdf"===i.type)?r(Error("Image type not supported for charts with embedded HTML")):e.downloadSVGLocal(t,el({filename:o.getFilename()},i),r,()=>es(o,"exportChartLocalSuccess"))})}function n(e,t){let n=et.getElementsByTagName("head")[0],o=et.createElement("script");o.type="text/javascript",o.src=e,o.onload=t,o.onerror=function(){er("Error loading script "+e)},n.appendChild(o)}function o(t,n,o,i){let r=this,l=e=>r.sanitizeSVG(e,d),s=()=>{u&&f===g&&i(l(h.innerHTML))},a=(e,t,n)=>{++f,n.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",e),s()},c,h,d,p=null,u,g=0,f=0;r.unbindGetSVG=ei(r,"getSVG",e=>{d=e.chartCopy.options,g=(u=(h=e.chartCopy.container.cloneNode(!0))&&h.getElementsByTagName("image")||[]).length}),r.getSVGForExport(t,n);try{if(!u||!u.length){i(l(h.innerHTML));return}for(let n=0;n{setTimeout(function(){let e;let l=et.createElement("canvas"),a=l.getContext&&l.getContext("2d");try{if(a){l.height=h.height*i,l.width=h.width*i,a.drawImage(h,0,0,l.width,l.height);try{e=l.toDataURL(n),r(e,n,o,i)}catch(e){d(t,n,o,i)}}else s(t,n,o,i)}finally{c&&c(t,n,o,i)}},e.loadEventDeferDelay)},u=()=>{a(t,n,o,i),c&&c(t,n,o,i)};d=()=>{h=new en.Image,d=l,h.crossOrigin="Anonymous",h.onload=p,h.onerror=u,h.src=t},h.onload=p,h.onerror=u,h.src=t}function r(t){let n=en.navigator.userAgent,o=n.indexOf("WebKit")>-1&&0>n.indexOf("Chrome");try{if(!o&&-1===t.indexOf("i?"p":"l","pt",[i,r]);[].forEach.call(e.querySelectorAll('*[visibility="hidden"]'),function(e){e.parentNode.removeChild(e)});let s=e.querySelectorAll("linearGradient");for(let e=0;e{"​"===e.textContent&&(e.textContent=" ",e.setAttribute("dx",-5))}),l.svg(e,{x:0,y:0,width:i,height:r,removeInvalid:!0}).then(()=>o(l.output("datauristring")))}e.CanVGRenderer={},e.domurl=en.URL||en.webkitURL||en,e.loadEventDeferDelay=u().isMS?150:0,e.compose=function(e){let n=e.prototype;return n.exportChartLocal||(n.getSVGForLocalExport=o,n.exportChartLocal=t,ea(!0,Q.exporting,Z)),e},e.downloadSVGLocal=function(t,o,s,a){let c=et.createElement("div"),h=o.type||"image/png",d=(o.filename||"chart")+"."+("image/svg+xml"===h?"svg":h.split("/")[1]),p=o.scale||1,u,g,f,m=o.libURL||Q.exporting.libURL,x=!0,y=o.pdfFont;m="/"!==m.slice(-1)?m+"/":m;let b=(e,t)=>{let n,o;let i=(e,t)=>{en.jspdf.jsPDF.API.events.push(["initialized",function(){this.addFileToVFS(e,t),this.addFont(e,"HighchartsFont",e),this.getFontList().HighchartsFont||this.setFont("HighchartsFont")}])};y&&(o=e.textContent||"",!/[^\u0000-\u007F\u200B]+/.test(o))&&(y=void 0);let r=["normal","italic","bold","bolditalic"],l=()=>{let e=r.shift();if(!e)return t();let o=y&&y[e];o?eo({url:o,responseType:"blob",success:(t,o)=>{let r=new FileReader;r.onloadend=function(){if("string"==typeof this.result){let t=this.result.split(",")[1];i(e,t),"normal"===e&&(n=t)}l()},r.readAsDataURL(o.response)},error:l}):(n&&i(e,n),l())};l()},v=()=>{let e,n;w().setElementHTML(c,t);let o=c.getElementsByTagName("text"),i=function(e,t){let n=e;for(;n&&n!==c;){if(n.style[t]){let o=n.style[t];"fontSize"===t&&/em$/.test(o)&&(o=Math.round(16*parseFloat(o))+"px"),e.style[t]=o;break}n=n.parentNode}};[].forEach.call(o,function(t){for(["fontFamily","fontSize"].forEach(e=>{i(t,e)}),t.style.fontFamily=y&&y.normal?"HighchartsFont":String(t.style.fontFamily&&t.style.fontFamily.split(" ").splice(-1)),e=t.getElementsByTagName("title"),[].forEach.call(e,function(e){t.removeChild(e)}),n=t.getElementsByClassName("highcharts-text-outline");n.length>0;){let e=n[0];e.parentNode&&e.parentNode.removeChild(e)}});let r=c.querySelector("svg");r&&b(r,()=>{l(r,0,p,e=>{try{ee(e,d),a&&a()}catch(e){s(e)}})})};if("image/svg+xml"===h)try{void 0!==en.MSBlobBuilder?((g=new en.MSBlobBuilder).append(t),u=g.getBlob("image/svg+xml")):u=r(t),ee(u,d),a&&a()}catch(e){s(e)}else"application/pdf"===h?en.jspdf&&en.jspdf.jsPDF?v():(x=!0,n(m+"jspdf.js",function(){n(m+"svg2pdf.js",v)})):(u=r(t),f=function(){try{e.domurl.revokeObjectURL(u)}catch(e){}},i(u,h,{},p,function(e){try{ee(e,d),a&&a()}catch(e){s(e)}},function(){if(t.length>1e8)throw Error("Input too long");let e=et.createElement("canvas"),o=e.getContext("2d"),i=t.match(/^]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),r=t.match(/^]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);if(o&&i&&r){let l=+i[1]*p,c=+r[1]*p,u=()=>{en.canvg.Canvg.fromString(o,t).start();try{ee(en.navigator.msSaveOrOpenBlob?e.msToBlob():e.toDataURL(h),d),a&&a()}catch(e){s(e)}finally{f()}};e.width=l,e.height=c,en.canvg?u():(x=!0,n(m+"canvg.js",u))}},s,s,function(){x&&f()}))},e.getScript=n,e.imageToDataUrl=i,e.svgToDataUrl=r,e.svgToPdf=l}(s||(s={}));let ec=s,eh=u();eh.dataURLtoBlob=eh.dataURLtoBlob||b.dataURLtoBlob,eh.downloadSVGLocal=ec.downloadSVGLocal,eh.downloadURL=eh.downloadURL||b.downloadURL,ec.compose(eh.Chart);let ed=u();return d.default})()); \ No newline at end of file + */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart,e._Highcharts.HttpUtilities):"function"==typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts/highcharts"],function(e){return t(e,e.AST,e.Chart,e.HttpUtilities)}):"object"==typeof exports?exports["highcharts/modules/offline-exporting"]=t(e._Highcharts,e._Highcharts.AST,e._Highcharts.Chart,e._Highcharts.HttpUtilities):e.Highcharts=t(e.Highcharts,e.Highcharts.AST,e.Highcharts.Chart,e.Highcharts.HttpUtilities)}("undefined"==typeof window?this:window,(e,t,n,o)=>(()=>{"use strict";var i,r,l,s,a={660:e=>{e.exports=t},960:e=>{e.exports=n},156:e=>{e.exports=o},944:t=>{t.exports=e}},c={};function h(e){var t=c[e];if(void 0!==t)return t.exports;var n=c[e]={exports:{}};return a[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var d={};h.d(d,{default:()=>ep});var p=h(944),u=h.n(p);let{isSafari:g,win:f,win:{document:m}}=u(),x=f.URL||f.webkitURL||f;function y(e){let t=e.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(t&&t.length>3&&f.atob&&f.ArrayBuffer&&f.Uint8Array&&f.Blob&&x.createObjectURL){let e=f.atob(t[3]),n=new f.ArrayBuffer(e.length),o=new f.Uint8Array(n);for(let t=0;t1e3)throw Error("Input too long");let i=/Edge\/\d+/.test(n.userAgent);if((g&&"string"==typeof e&&0===e.indexOf("data:application/pdf")||i||e.length>2e6)&&!(e=y(e)||""))throw Error("Failed to convert to blob");if(void 0!==o.download)o.href=e,o.download=t,m.body.appendChild(o),o.click(),m.body.removeChild(o);else try{if(!f.open(e,"chart"))throw Error("Failed to open window")}catch{f.location.href=e}}};var v=h(660),w=h.n(v);h(960),function(e){e.compose=function(e){return e.navigation||(e.navigation=new t(e)),e};class t{constructor(e){this.updates=[],this.chart=e}addUpdate(e){this.chart.navigation.updates.push(e)}update(e,t){this.updates.forEach(n=>{n.call(this.chart,e,t)})}}e.Additions=t}(i||(i={}));let S=i,{isTouchDevice:E}=u(),C={exporting:{allowTableSorting:!0,type:"image/png",url:"https://export-svg.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"],y:-5}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen&&this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:E?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(e){let t=[];function n(e,t,n,o){return[["M",e,t+2.5],["L",e+n,t+2.5],["M",e,t+o/2+.5],["L",e+n,t+o/2+.5],["M",e,t+o-1.5],["L",e+n,t+o-1.5]]}function o(e,t,n,o){let i=o/3-2;return[].concat(this.circle(n-i,t,i,i),this.circle(n-i,t+i+4,i,i),this.circle(n-i,t+2*(i+4),i,i))}e.compose=function(e){if(-1===t.indexOf(e)){t.push(e);let i=e.prototype.symbols;i.menu=n,i.menuball=o.bind(i)}}}(r||(r={}));let F=r,{composed:O}=u(),{addEvent:T,fireEvent:k,pushUnique:L}=u();function M(){this.fullscreen=new N(this)}class N{static compose(e){L(O,"Fullscreen")&&T(e,"beforeRender",M)}constructor(e){this.chart=e,this.isOpen=!1;let t=e.renderTo;!this.browserProps&&("function"==typeof t.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:t.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:t.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:t.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let e=this,t=e.chart,n=t.options.chart;k(t,"fullscreenClose",null,function(){e.isOpen&&e.browserProps&&t.container.ownerDocument instanceof Document&&t.container.ownerDocument[e.browserProps.exitFullscreen](),e.unbindFullscreenEvent&&(e.unbindFullscreenEvent=e.unbindFullscreenEvent()),t.setSize(e.origWidth,e.origHeight,!1),e.origWidth=void 0,e.origHeight=void 0,n.width=e.origWidthOption,n.height=e.origHeightOption,e.origWidthOption=void 0,e.origHeightOption=void 0,e.isOpen=!1,e.setButtonText()})}open(){let e=this,t=e.chart,n=t.options.chart;k(t,"fullscreenOpen",null,function(){if(n&&(e.origWidthOption=n.width,e.origHeightOption=n.height),e.origWidth=t.chartWidth,e.origHeight=t.chartHeight,e.browserProps){let n=T(t.container.ownerDocument,e.browserProps.fullscreenChange,function(){e.isOpen?(e.isOpen=!1,e.close()):(t.setSize(null,null,!1),e.isOpen=!0,e.setButtonText())}),o=T(t,"destroy",n);e.unbindFullscreenEvent=()=>{n(),o()};let i=t.renderTo[e.browserProps.requestFullscreen]();i&&i.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let e=this.chart,t=e.exportDivElements,n=e.options.exporting,o=n&&n.buttons&&n.buttons.contextButton.menuItems,i=e.options.lang;if(n&&n.menuItemDefinitions&&i&&i.exitFullscreen&&i.viewFullscreen&&o&&t){let e=t[o.indexOf("viewFullscreen")];e&&w().setElementHTML(e,this.isOpen?i.exitFullscreen:n.menuItemDefinitions.viewFullscreen.text||i.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}var P=h(156),G=h.n(P);let{defaultOptions:H}=u(),{doc:D,SVG_NS:A,win:R}=u(),{addEvent:B,css:I,createElement:U,discardElement:V,extend:j,find:W,fireEvent:z,isObject:$,merge:q,objectEach:K,pick:_,removeEvent:J,splat:X,uniqueKey:Y}=u();!function(e){let t;let n=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],o=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"];e.inlineAllowlist=[];let i=["clipPath","defs","desc"];function r(e){let t,n;let o=this,i=o.renderer,r=q(o.options.navigation.buttonOptions,e),l=r.onclick,s=r.menuItems,a=r.symbolSize||12;if(o.btnCount||(o.btnCount=0),o.exportDivElements||(o.exportDivElements=[],o.exportSVGElements=[]),!1===r.enabled||!r.theme)return;let c=o.styledMode?{}:r.theme;l?n=function(e){e&&e.stopPropagation(),l.call(o,e)}:s&&(n=function(e){e&&e.stopPropagation(),o.contextMenu(h.menuClassName,s,h.translateX||0,h.translateY||0,h.width||0,h.height||0,h),h.setState(2)}),r.text&&r.symbol?c.paddingLeft=_(c.paddingLeft,30):r.text||j(c,{width:r.width,height:r.height,padding:0});let h=i.button(r.text,0,0,n,c,void 0,void 0,void 0,void 0,r.useHTML).addClass(e.className).attr({title:_(o.options.lang[r._titleKey||r.titleKey],"")});h.menuClassName=e.menuClassName||"highcharts-menu-"+o.btnCount++,r.symbol&&(t=i.symbol(r.symbol,Math.round((r.symbolX||0)-a/2),Math.round((r.symbolY||0)-a/2),a,a,{width:a,height:a}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(h),o.styledMode||t.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),h.add(o.exportingGroup).align(j(r,{width:h.width,x:_(r.x,o.buttonOffset)}),!0,"spacingBox"),o.buttonOffset+=((h.width||0)+r.buttonSpacing)*("right"===r.align?-1:1),o.exportSVGElements.push(h,t)}function l(){if(!this.printReverseInfo)return;let{childNodes:e,origDisplay:n,resetParams:o}=this.printReverseInfo;this.moveContainers(this.renderTo),[].forEach.call(e,function(e,t){1===e.nodeType&&(e.style.display=n[t]||"")}),this.isPrinting=!1,o&&this.setSize.apply(this,o),delete this.printReverseInfo,t=void 0,z(this,"afterPrint")}function s(){let e=D.body,t=this.options.exporting.printMaxWidth,n={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,this.pointer?.reset(void 0,0),z(this,"beforePrint"),t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1)),[].forEach.call(n.childNodes,function(e,t){1===e.nodeType&&(n.origDisplay[t]=e.style.display,e.style.display="none")}),this.moveContainers(e),this.printReverseInfo=n}function a(e){e.renderExporting(),B(e,"redraw",e.renderExporting),B(e,"destroy",e.destroyExport)}function c(e,t,n,o,i,r,l){let s=this,a=s.options.navigation,c=s.chartWidth,h=s.chartHeight,d="cache-"+e,p=Math.max(i,r),g,f=s[d];f||(s.exportContextMenu=s[d]=f=U("div",{className:e},{position:"absolute",zIndex:1e3,padding:p+"px",pointerEvents:"auto",...s.renderer.style},s.scrollablePlotArea?.fixedDiv||s.container),g=U("ul",{className:"highcharts-menu"},s.styledMode?{}:{listStyle:"none",margin:0,padding:0},f),s.styledMode||I(g,j({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},a.menuStyle)),f.hideMenu=function(){I(f,{display:"none"}),l&&l.setState(0),s.openMenu=!1,I(s.renderTo,{overflow:"hidden"}),I(s.container,{overflow:"hidden"}),u().clearTimeout(f.hideTimer),z(s,"exportMenuHidden")},s.exportEvents.push(B(f,"mouseleave",function(){f.hideTimer=R.setTimeout(f.hideMenu,500)}),B(f,"mouseenter",function(){u().clearTimeout(f.hideTimer)}),B(D,"mouseup",function(t){s.pointer?.inClass(t.target,e)||f.hideMenu()}),B(f,"click",function(){s.openMenu&&f.hideMenu()})),t.forEach(function(e){if("string"==typeof e&&(e=s.options.exporting.menuItemDefinitions[e]),$(e,!0)){let t;e.separator?t=U("hr",void 0,void 0,g):("viewData"===e.textKey&&s.isDataTableVisible&&(e.textKey="hideData"),t=U("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation(),f.hideMenu(),"string"!=typeof e&&e.onclick&&e.onclick.apply(s,arguments)}},void 0,g),w().setElementHTML(t,e.text||s.options.lang[e.textKey]),s.styledMode||(t.onmouseover=function(){I(this,a.menuItemHoverStyle)},t.onmouseout=function(){I(this,a.menuItemStyle)},I(t,j({cursor:"pointer"},a.menuItemStyle||{})))),s.exportDivElements.push(t)}}),s.exportDivElements.push(g,f),s.exportMenuWidth=f.offsetWidth,s.exportMenuHeight=f.offsetHeight);let m={display:"block"};n+(s.exportMenuWidth||0)>c?m.right=c-n-i-p+"px":m.left=n-p+"px",o+r+(s.exportMenuHeight||0)>h&&l.alignOptions?.verticalAlign!=="top"?m.bottom=h-o-p+"px":m.top=o+r-p+"px",I(f,m),I(s.renderTo,{overflow:""}),I(s.container,{overflow:""}),s.openMenu=!0,z(s,"exportMenuShown")}function h(e){let t;let n=e?e.target:this,o=n.exportSVGElements,i=n.exportDivElements,r=n.exportEvents;o&&(o.forEach((e,i)=>{e&&(e.onclick=e.ontouchstart=null,n[t="cache-"+e.menuClassName]&&delete n[t],o[i]=e.destroy())}),o.length=0),n.exportingGroup&&(n.exportingGroup.destroy(),delete n.exportingGroup),i&&(i.forEach(function(e,t){e&&(u().clearTimeout(e.hideTimer),J(e,"mouseleave"),i[t]=e.onmouseout=e.onmouseover=e.ontouchstart=e.onclick=null,V(e))}),i.length=0),r&&(r.forEach(function(e){e()}),r.length=0)}function d(e,t){let n=this.getSVGForExport(e,t);e=q(this.options.exporting,e),G().post(e.url,{filename:e.filename?e.filename.replace(/\//g,"-"):this.getFilename(),type:e.type,width:e.width,scale:e.scale,svg:n},e.fetchOptions)}function p(e){return e&&this.inlineStyles(),this.container.innerHTML}function g(){let e=this.userOptions.title&&this.userOptions.title.text,t=this.options.exporting.filename;return t?t.replace(/\//g,"-"):("string"==typeof e&&(t=e.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!t||t.length<5)&&(t="chart"),t)}function f(e){let t,n,o=q(this.options,e);o.plotOptions=q(this.userOptions.plotOptions,e&&e.plotOptions),o.time=q(this.userOptions.time,e&&e.time);let i=U("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},D.body),r=this.renderTo.style.width,l=this.renderTo.style.height,s=o.exporting.sourceWidth||o.chart.width||/px$/.test(r)&&parseInt(r,10)||(o.isGantt?800:600),a=o.exporting.sourceHeight||o.chart.height||/px$/.test(l)&&parseInt(l,10)||400;j(o.chart,{animation:!1,renderTo:i,forExport:!0,renderer:"SVGRenderer",width:s,height:a}),o.exporting.enabled=!1,delete o.data,o.series=[],this.series.forEach(function(e){(n=q(e.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:e.visible})).isInternal||o.series.push(n)});let c={};this.axes.forEach(function(e){e.userOptions.internalKey||(e.userOptions.internalKey=Y()),e.options.isInternal||(c[e.coll]||(c[e.coll]=!0,o[e.coll]=[]),o[e.coll].push(q(e.userOptions,{visible:e.visible,type:e.type,uniqueNames:e.uniqueNames})))}),o.colorAxis=this.userOptions.colorAxis;let h=new this.constructor(o,this.callback);return e&&["xAxis","yAxis","series"].forEach(function(t){let n={};e[t]&&(n[t]=e[t],h.update(n))}),this.axes.forEach(function(t){let n=W(h.axes,e=>e.options.internalKey===t.userOptions.internalKey);if(n){let o=t.getExtremes(),i=X(e?.[t.coll]||{})[0],r="min"in i?i.min:o.userMin,l="max"in i?i.max:o.userMax;(void 0!==r&&r!==n.min||void 0!==l&&l!==n.max)&&n.setExtremes(r??void 0,l??void 0,!0,!1)}}),t=h.getChartHTML(this.styledMode||o.exporting?.applyStyleSheets),z(this,"getSVG",{chartCopy:h}),t=this.sanitizeSVG(t,o),o=null,h.destroy(),V(i),t}function m(e,t){let n=this.options.exporting;return this.getSVG(q({chart:{borderRadius:0}},n.chartOptions,t,{exporting:{sourceWidth:e&&e.sourceWidth||n.sourceWidth,sourceHeight:e&&e.sourceHeight||n.sourceHeight}}))}function x(){let t;let r=e.inlineAllowlist,l={},s=D.createElement("iframe");I(s,{width:"1px",height:"1px",visibility:"hidden"}),D.body.appendChild(s);let a=s.contentWindow&&s.contentWindow.document;a&&a.body.appendChild(a.createElementNS(A,"svg")),function e(s){let c,h,d,p,g,f;let m={};if(a&&1===s.nodeType&&-1===i.indexOf(s.nodeName)){if(c=R.getComputedStyle(s,null),h="svg"===s.nodeName?{}:R.getComputedStyle(s.parentNode,null),!l[s.nodeName]){t=a.getElementsByTagName("svg")[0],d=a.createElementNS(s.namespaceURI,s.nodeName),t.appendChild(d);let e=R.getComputedStyle(d,null),n={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(n[t]=e[t]);l[s.nodeName]=n,"text"===s.nodeName&&delete l.text.fill,t.removeChild(d)}for(let e in c)(u().isFirefox||u().isMS||u().isSafari||Object.hasOwnProperty.call(c,e))&&function(e,t){if(p=g=!1,r.length){for(f=r.length;f--&&!g;)g=r[f].test(t);p=!g}for("transform"===t&&"none"===e&&(p=!0),f=n.length;f--&&!p;){if(t.length>1e3)throw Error("Input too long");p=n[f].test(t)||"function"==typeof e}!p&&(h[t]!==e||"svg"===s.nodeName)&&l[s.nodeName][t]!==e&&(o&&-1===o.indexOf(t)?m[t]=e:e&&s.setAttribute(t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),e))}(c[e],e);if(I(s,m),"svg"===s.nodeName&&s.setAttribute("stroke-width","1px"),"text"===s.nodeName)return;[].forEach.call(s.children||s.childNodes,e)}}(this.container.querySelector("svg")),t.parentNode.removeChild(t),s.parentNode.removeChild(s)}function y(e){let{scrollablePlotArea:t}=this;(t?[t.fixedDiv,t.scrollingContainer]:[this.container]).forEach(function(t){e.appendChild(t)})}function b(){let e=this,t=(t,n,o)=>{e.isDirtyExporting=!0,q(!0,e.options[t],n),_(o,!0)&&e.redraw()};e.exporting={update:function(e,n){t("exporting",e,n)}},S.compose(e).navigation.addUpdate((e,n)=>{t("navigation",e,n)})}function v({alignTo:e,key:t,textPxLength:n}){let o=this.options.exporting,{align:i,buttonSpacing:r=0,verticalAlign:l,width:s=0}=q(this.options.navigation?.buttonOptions,o?.buttons?.contextButton),a=e.width-n,c=s+r;(o?.enabled??!0)&&"title"===t&&"right"===i&&"top"===l&&a<2*c&&(a{R.focus(),R.print(),u().isSafari||setTimeout(()=>{e.afterPrint()},1e3)},1))}function O(){let e=this,t=e.options.exporting,n=t.buttons,o=e.isDirtyExporting||!e.exportSVGElements;e.buttonOffset=0,e.isDirtyExporting&&e.destroyExport(),o&&!1!==t.enabled&&(e.exportEvents=[],e.exportingGroup=e.exportingGroup||e.renderer.g("exporting-group").attr({zIndex:3}).add(),K(n,function(t){e.addButton(t)}),e.isDirtyExporting=!1)}function T(e,t){let n=e.indexOf("")+6,o=e.substr(n);return e=e.substr(0,n),t&&t.exporting&&t.exporting.allowHTML&&o&&(o=''+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />")+"",e=e.replace("",o+"")),e=e.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|")\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/-1&&"image/svg+xml"!==i.type&&(u().isMS||"application/pdf"===i.type)?r(Error("Image type not supported for charts with embedded HTML")):e.downloadSVGLocal(t,es({filename:o.getFilename()},i),r,()=>ea(o,"exportChartLocalSuccess"))})}function n(e,t){let n=en.getElementsByTagName("head")[0],o=en.createElement("script");o.type="text/javascript",o.src=e,o.onload=t,o.onerror=function(){el("Error loading script "+e)},n.appendChild(o)}function o(t,n,o,i){let r=this,l=e=>r.sanitizeSVG(e,d),s=()=>{u&&f===g&&i(l(h.innerHTML))},a=(e,t,n)=>{++f,n.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",e),s()},c,h,d,p=null,u,g=0,f=0;r.unbindGetSVG=er(r,"getSVG",e=>{d=e.chartCopy.options,g=(u=(h=e.chartCopy.container.cloneNode(!0))&&h.getElementsByTagName("image")||[]).length}),r.getSVGForExport(t,n);try{if(!u||!u.length){i(l(h.innerHTML));return}for(let n=0;n{setTimeout(function(){let e;let l=en.createElement("canvas"),a=l.getContext&&l.getContext("2d");try{if(a){l.height=h.height*i,l.width=h.width*i,a.drawImage(h,0,0,l.width,l.height);try{e=l.toDataURL(n),r(e,n,o,i)}catch(e){d(t,n,o,i)}}else s(t,n,o,i)}finally{c&&c(t,n,o,i)}},e.loadEventDeferDelay)},u=()=>{a(t,n,o,i),c&&c(t,n,o,i)};d=()=>{h=new eo.Image,d=l,h.crossOrigin="Anonymous",h.onload=p,h.onerror=u,h.src=t},h.onload=p,h.onerror=u,h.src=t}function r(t){let n=eo.navigator.userAgent,o=n.indexOf("WebKit")>-1&&0>n.indexOf("Chrome");try{if(!o&&-1===t.indexOf("i?"p":"l","pt",[i,r]);[].forEach.call(e.querySelectorAll('*[visibility="hidden"]'),function(e){e.parentNode.removeChild(e)});let s=e.querySelectorAll("linearGradient");for(let e=0;e{"​"===e.textContent&&(e.textContent=" ",e.setAttribute("dx",-5))}),l.svg(e,{x:0,y:0,width:i,height:r,removeInvalid:!0}).then(()=>o(l.output("datauristring")))}e.CanVGRenderer={},e.domurl=eo.URL||eo.webkitURL||eo,e.loadEventDeferDelay=u().isMS?150:0,e.compose=function(e){let n=e.prototype;return n.exportChartLocal||(n.getSVGForLocalExport=o,n.exportChartLocal=t,ec(!0,ee.exporting,Q)),e},e.downloadSVGLocal=function(t,o,s,a){let c=en.createElement("div"),h=o.type||"image/png",d=(o.filename||"chart")+"."+("image/svg+xml"===h?"svg":h.split("/")[1]),p=o.scale||1,u,g,f,m=o.libURL||ee.exporting.libURL,x=!0,y=o.pdfFont;m="/"!==m.slice(-1)?m+"/":m;let b=(e,t)=>{let n,o;let i=(e,t)=>{eo.jspdf.jsPDF.API.events.push(["initialized",function(){this.addFileToVFS(e,t),this.addFont(e,"HighchartsFont",e),this.getFontList().HighchartsFont||this.setFont("HighchartsFont")}])};y&&(o=e.textContent||"",!/[^\u0000-\u007F\u200B]+/.test(o))&&(y=void 0);let r=["normal","italic","bold","bolditalic"],l=()=>{let e=r.shift();if(!e)return t();let o=y&&y[e];o?ei({url:o,responseType:"blob",success:(t,o)=>{let r=new FileReader;r.onloadend=function(){if("string"==typeof this.result){let t=this.result.split(",")[1];i(e,t),"normal"===e&&(n=t)}l()},r.readAsDataURL(o.response)},error:l}):(n&&i(e,n),l())};l()},v=()=>{let e,n;w().setElementHTML(c,t);let o=c.getElementsByTagName("text"),i=function(e,t){let n=e;for(;n&&n!==c;){if(n.style[t]){let o=n.style[t];"fontSize"===t&&/em$/.test(o)&&(o=Math.round(16*parseFloat(o))+"px"),e.style[t]=o;break}n=n.parentNode}};[].forEach.call(o,function(t){for(["fontFamily","fontSize"].forEach(e=>{i(t,e)}),t.style.fontFamily=y&&y.normal?"HighchartsFont":String(t.style.fontFamily&&t.style.fontFamily.split(" ").splice(-1)),e=t.getElementsByTagName("title"),[].forEach.call(e,function(e){t.removeChild(e)}),n=t.getElementsByClassName("highcharts-text-outline");n.length>0;){let e=n[0];e.parentNode&&e.parentNode.removeChild(e)}});let r=c.querySelector("svg");r&&b(r,()=>{l(r,0,p,e=>{try{et(e,d),a&&a()}catch(e){s(e)}})})};if("image/svg+xml"===h)try{void 0!==eo.MSBlobBuilder?((g=new eo.MSBlobBuilder).append(t),u=g.getBlob("image/svg+xml")):u=r(t),et(u,d),a&&a()}catch(e){s(e)}else"application/pdf"===h?eo.jspdf&&eo.jspdf.jsPDF?v():(x=!0,n(m+"jspdf.js",function(){n(m+"svg2pdf.js",v)})):(u=r(t),f=function(){try{e.domurl.revokeObjectURL(u)}catch(e){}},i(u,h,{},p,function(e){try{et(e,d),a&&a()}catch(e){s(e)}},function(){if(t.length>1e8)throw Error("Input too long");let e=en.createElement("canvas"),o=e.getContext("2d"),i=t.match(/^]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),r=t.match(/^]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);if(o&&i&&r){let l=+i[1]*p,c=+r[1]*p,u=()=>{eo.canvg.Canvg.fromString(o,t).start();try{et(eo.navigator.msSaveOrOpenBlob?e.msToBlob():e.toDataURL(h),d),a&&a()}catch(e){s(e)}finally{f()}};e.width=l,e.height=c,eo.canvg?u():(x=!0,n(m+"canvg.js",u))}},s,s,function(){x&&f()}))},e.getScript=n,e.imageToDataUrl=i,e.svgToDataUrl=r,e.svgToPdf=l}(s||(s={}));let eh=s,ed=u();ed.dataURLtoBlob=ed.dataURLtoBlob||b.dataURLtoBlob,ed.downloadSVGLocal=eh.downloadSVGLocal,ed.downloadURL=ed.downloadURL||b.downloadURL,eh.compose(ed.Chart);let ep=u();return d.default})()); \ No newline at end of file diff --git a/modules/offline-exporting.src.js b/modules/offline-exporting.src.js index 30f445e4d3..606c805e51 100644 --- a/modules/offline-exporting.src.js +++ b/modules/offline-exporting.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/offline-exporting * @requires highcharts * @requires highcharts/modules/exporting @@ -1675,7 +1675,7 @@ const { defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_ const { doc: Exporting_doc, SVG_NS, win: Exporting_win } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()); -const { addEvent: Exporting_addEvent, css, createElement, discardElement, extend, find, fireEvent: Exporting_fireEvent, isObject, merge, objectEach, pick, removeEvent, uniqueKey } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()); +const { addEvent: Exporting_addEvent, css, createElement, discardElement, extend, find, fireEvent: Exporting_fireEvent, isObject, merge, objectEach, pick, removeEvent, splat, uniqueKey } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()); /* * * * Composition @@ -2410,15 +2410,23 @@ var Exporting; } // Reflect axis extremes in the export (#5924) chart.axes.forEach(function (axis) { - const axisCopy = find(chartCopy.axes, function (copy) { - return copy.options.internalKey === - axis.userOptions.internalKey; - }), extremes = axis.getExtremes(), userMin = extremes.userMin, userMax = extremes.userMax; - if (axisCopy && - ((typeof userMin !== 'undefined' && + const axisCopy = find(chartCopy.axes, (copy) => copy.options.internalKey === axis.userOptions.internalKey); + if (axisCopy) { + const extremes = axis.getExtremes(), + // Make sure min and max overrides in the + // `exporting.chartOptions.xAxis` settings are reflected. + // These should override user-set extremes via zooming, + // scrollbar etc (#7873). + exportOverride = splat(chartOptions?.[axis.coll] || {})[0], userMin = 'min' in exportOverride ? + exportOverride.min : + extremes.userMin, userMax = 'max' in exportOverride ? + exportOverride.max : + extremes.userMax; + if (((typeof userMin !== 'undefined' && userMin !== axisCopy.min) || (typeof userMax !== 'undefined' && userMax !== axisCopy.max))) { - axisCopy.setExtremes(userMin, userMax, true, false); + axisCopy.setExtremes(userMin ?? void 0, userMax ?? void 0, true, false); + } } }); // Get the SVG from the container's innerHTML @@ -2954,7 +2962,7 @@ var Exporting; * * */ const OfflineExportingDefaults = { - libURL: 'https://code.highcharts.com/12.1.0/lib/', + libURL: 'https://code.highcharts.com/12.1.1/lib/', // When offline-exporting is loaded, redefine the menu item definitions // related to download. menuItemDefinitions: { diff --git a/modules/organization.js b/modules/organization.js index 0e58a041eb..960172e6b2 100644 --- a/modules/organization.js +++ b/modules/organization.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * Organization chart series type * @module highcharts/modules/organization * @requires highcharts diff --git a/modules/organization.src.js b/modules/organization.src.js index 64b4d81569..0e4a394632 100644 --- a/modules/organization.src.js +++ b/modules/organization.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * Organization chart series type * @module highcharts/modules/organization * @requires highcharts diff --git a/modules/overlapping-datalabels.js b/modules/overlapping-datalabels.js index 5962a888de..4f356cea42 100644 --- a/modules/overlapping-datalabels.js +++ b/modules/overlapping-datalabels.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/overlapping-datalabels * @requires highcharts * diff --git a/modules/overlapping-datalabels.src.js b/modules/overlapping-datalabels.src.js index e3b857c77c..7e92a780fe 100644 --- a/modules/overlapping-datalabels.src.js +++ b/modules/overlapping-datalabels.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/overlapping-datalabels * @requires highcharts * diff --git a/modules/parallel-coordinates.js b/modules/parallel-coordinates.js index 8b7ed49fa6..7c062bf28c 100644 --- a/modules/parallel-coordinates.js +++ b/modules/parallel-coordinates.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/parallel-coordinates * @requires highcharts * diff --git a/modules/parallel-coordinates.src.js b/modules/parallel-coordinates.src.js index ffd92cb62b..b9c972a73b 100644 --- a/modules/parallel-coordinates.src.js +++ b/modules/parallel-coordinates.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/parallel-coordinates * @requires highcharts * diff --git a/modules/pareto.js b/modules/pareto.js index 409206c7d6..010503c989 100644 --- a/modules/pareto.js +++ b/modules/pareto.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pareto * @requires highcharts * diff --git a/modules/pareto.src.js b/modules/pareto.src.js index 260c711b72..dc38333d4f 100644 --- a/modules/pareto.src.js +++ b/modules/pareto.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pareto * @requires highcharts * diff --git a/modules/pathfinder.js b/modules/pathfinder.js index 9c808a7497..9ce25c35b4 100644 --- a/modules/pathfinder.js +++ b/modules/pathfinder.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/pathfinder * @requires highcharts * diff --git a/modules/pathfinder.src.js b/modules/pathfinder.src.js index 6a26e88556..18dd29a619 100644 --- a/modules/pathfinder.src.js +++ b/modules/pathfinder.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/pathfinder * @requires highcharts * diff --git a/modules/pattern-fill.js b/modules/pattern-fill.js index 3fcae273df..7d52f96c47 100644 --- a/modules/pattern-fill.js +++ b/modules/pattern-fill.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pattern-fill * @requires highcharts * diff --git a/modules/pattern-fill.src.js b/modules/pattern-fill.src.js index fafc7102a2..1b9b498b3c 100644 --- a/modules/pattern-fill.src.js +++ b/modules/pattern-fill.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pattern-fill * @requires highcharts * diff --git a/modules/pictorial.js b/modules/pictorial.js index 5418d7ecc5..7602f00c72 100644 --- a/modules/pictorial.js +++ b/modules/pictorial.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pictorial * @requires highcharts * diff --git a/modules/pictorial.src.js b/modules/pictorial.src.js index b6f373da3e..d330436fe6 100644 --- a/modules/pictorial.src.js +++ b/modules/pictorial.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pictorial * @requires highcharts * diff --git a/modules/pointandfigure.js b/modules/pointandfigure.js index 1276736ce9..8275fbd546 100644 --- a/modules/pointandfigure.js +++ b/modules/pointandfigure.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/pointandfigure * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/pointandfigure.src.js b/modules/pointandfigure.src.js index 107000aa0e..d6ba155b8e 100644 --- a/modules/pointandfigure.src.js +++ b/modules/pointandfigure.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/pointandfigure * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/price-indicator.js b/modules/price-indicator.js index 0d2469d314..5b3edb3818 100644 --- a/modules/price-indicator.js +++ b/modules/price-indicator.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/price-indicator * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/price-indicator.src.js b/modules/price-indicator.src.js index e5cd4810e6..f793fb2f04 100644 --- a/modules/price-indicator.src.js +++ b/modules/price-indicator.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/price-indicator * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/pyramid3d.js b/modules/pyramid3d.js index f934dd9053..17378e2d71 100644 --- a/modules/pyramid3d.js +++ b/modules/pyramid3d.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pyramid3d * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/pyramid3d.src.js b/modules/pyramid3d.src.js index 79c2079d94..236c6771b7 100644 --- a/modules/pyramid3d.src.js +++ b/modules/pyramid3d.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/pyramid3d * @requires highcharts * @requires highcharts/highcharts-3d diff --git a/modules/renko.js b/modules/renko.js index 4d6a5c90ac..d96d840183 100644 --- a/modules/renko.js +++ b/modules/renko.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/renko * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/renko.src.js b/modules/renko.src.js index c8771174b5..0bbe0bfc67 100644 --- a/modules/renko.src.js +++ b/modules/renko.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/renko * @requires highcharts * @requires highcharts/modules/stock diff --git a/modules/sankey.js b/modules/sankey.js index a00d760217..bc2c0b47ff 100644 --- a/modules/sankey.js +++ b/modules/sankey.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sankey * @requires highcharts * diff --git a/modules/sankey.src.js b/modules/sankey.src.js index ed0d8f085b..4cac78ec60 100644 --- a/modules/sankey.src.js +++ b/modules/sankey.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sankey * @requires highcharts * diff --git a/modules/series-label.js b/modules/series-label.js index 382406c093..27fe04e859 100644 --- a/modules/series-label.js +++ b/modules/series-label.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/series-label * @requires highcharts * diff --git a/modules/series-label.src.js b/modules/series-label.src.js index 478ba87c3d..5c6e6637ee 100644 --- a/modules/series-label.src.js +++ b/modules/series-label.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/series-label * @requires highcharts * diff --git a/modules/series-on-point.js b/modules/series-on-point.js index af5e2ed3a2..0fe91b5a0c 100644 --- a/modules/series-on-point.js +++ b/modules/series-on-point.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/series-on-point * @requires highcharts * diff --git a/modules/series-on-point.src.js b/modules/series-on-point.src.js index 17f7de7785..1feac65769 100644 --- a/modules/series-on-point.src.js +++ b/modules/series-on-point.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/series-on-point * @requires highcharts * diff --git a/modules/solid-gauge.js b/modules/solid-gauge.js index 5875ca04ef..681c1c64b3 100644 --- a/modules/solid-gauge.js +++ b/modules/solid-gauge.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/solid-gauge * @requires highcharts * @requires highcharts/highcharts-more diff --git a/modules/solid-gauge.src.js b/modules/solid-gauge.src.js index 5683e27b5d..576ab0de58 100644 --- a/modules/solid-gauge.src.js +++ b/modules/solid-gauge.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/solid-gauge * @requires highcharts * @requires highcharts/highcharts-more diff --git a/modules/sonification.js b/modules/sonification.js index 06aa01a8fb..25e6d4e185 100644 --- a/modules/sonification.js +++ b/modules/sonification.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sonification * @requires highcharts * diff --git a/modules/sonification.src.js b/modules/sonification.src.js index 9f6cc70988..a4be0c36dd 100644 --- a/modules/sonification.src.js +++ b/modules/sonification.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sonification * @requires highcharts * diff --git a/modules/static-scale.js b/modules/static-scale.js index 2fa3754904..9896843182 100644 --- a/modules/static-scale.js +++ b/modules/static-scale.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/static-scale * @requires highcharts * diff --git a/modules/static-scale.src.js b/modules/static-scale.src.js index 92b4d87b9e..9173217cea 100644 --- a/modules/static-scale.src.js +++ b/modules/static-scale.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/static-scale * @requires highcharts * diff --git a/modules/stock-tools.js b/modules/stock-tools.js index 575b6da8bc..febf2b96d1 100644 --- a/modules/stock-tools.js +++ b/modules/stock-tools.js @@ -1,5 +1,5 @@ !/** - * Highstock JS v12.1.0 (2024-12-17) + * Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/stock-tools * @requires highcharts * @requires highcharts/modules/stock @@ -10,4 +10,4 @@ * Author: Torstein Honsi * * License: www.highcharts.com/license - */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Series,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts/highcharts"],function(t){return i(t,t.Templating,t.Series,t.AST)}):"object"==typeof exports?exports["highcharts/modules/stock-tools"]=i(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Series,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.Templating,t.Highcharts.Series,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,e,s)=>(()=>{"use strict";var n,o={660:t=>{t.exports=s},820:t=>{t.exports=e},984:t=>{t.exports=i},944:i=>{i.exports=t}},a={};function r(t){var i=a[t];if(void 0!==i)return i.exports;var e=a[t]={exports:{}};return o[t](e,e.exports,r),e.exports}r.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return r.d(i,{a:i}),i},r.d=(t,i)=>{for(var e in i)r.o(i,e)&&!r.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},r.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var l={};r.d(l,{default:()=>t4});var h=r(944),c=r.n(h);!function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(n||(n={}));let p=n;var d=r(984),g=r.n(d);let{defined:u,isNumber:m,pick:y}=c(),f={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},v={annotationsFieldsTypes:f,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),e=i.min,s=i.max,n=y(t.axis.minPointOffset,0);return m(e)&&m(s)&&t.value>=e-n&&t.value<=s+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let e=f[t],s=typeof i;return u(e)&&(s=e),({string:"text",number:"number",boolean:"checkbox"})[s]}},{getAssignedAxis:b}=v,{isNumber:x,merge:A}=c(),k={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:s.value,xAxis:e.axis.index,yAxis:s.axis.index},r:5}]},n.annotationsOptions,n.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let s=i.options.shapes,n=s&&s[0]&&s[0].point||{};if(x(n.xAxis)&&x(n.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[n.xAxis].toPixels(n.x),o=this.chart.yAxis[n.yAxis].toPixels(n.y);e=Math.max(Math.sqrt(Math.pow(i?o-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:o-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:s.axis.index,points:[{x:e.value,y:s.value},{x:e.value,y:s.value}],ry:1}]},n.annotationsOptions,n.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis);if(!e||!s)return;let n=e.value,o=s.value,a=e.axis.index,r=s.axis.index,l=this.chart.options.navigation;return this.chart.addAnnotation(A({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{command:"Z"}]}]},l.annotationsOptions,l.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),o=n&&b(n.xAxis),a=n&&b(n.yAxis);if(o&&a){let t=o.value,e=a.value;s[1].x=t,s[2].x=t,s[2].y=e,s[3].y=e,i.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:s.axis.index,x:e.value,y:s.value}}]},n.annotationsOptions,n.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:C}=c(),{format:w}=g(),{composed:O,doc:N,win:L}=c(),{getAssignedAxis:T,getFieldType:B}=v,{addEvent:E,attr:S,defined:I,fireEvent:z,isArray:P,isFunction:W,isNumber:H,isObject:Y,merge:R,objectEach:M,pick:X,pushUnique:U}=c();function D(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function F(){this.navigationBindings&&this.navigationBindings.destroy()}function K(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new G(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function V(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];M(t.boundClassNames,(t,n)=>{let o=s.querySelectorAll("."+n);if(o)for(let s=0;s=4||n.call(this,t)}})}class G{static compose(t,i){U(O,"NavigationBindings")&&(E(t,"remove",D),_(t),M(t.types,t=>{_(t)}),E(i,"destroy",F),E(i,"load",K),E(i,"render",V),E(G,"closePopup",q),E(G,"deselectButton",Z),C(k))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=N.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&T(i.xAxis),i&&T(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,s=t.options;t.boundClassNames={},M(s.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(E(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),M(s.events||{},(i,e)=>{W(i)&&t.eventsToUnbind.push(E(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(E(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(E(i.container,c().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},c().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;p.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),z(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,z(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=L.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):z(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(z(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(z(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return M(t,(t,e)=>{let s=parseFloat(t),n=e.split("."),o=n.length-1;if(!H(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=X(n[s+1],"");o===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=G.annotationsEditable,s=e.nestedOptions,n=X(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),o=G.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:n};function r(i,e,n,a,l){let h;n&&I(i)&&-1===o.indexOf(e)&&((n.indexOf&&n.indexOf(e))>=0||n[e]||!0===n)&&(P(i)?(a[e]=[],i.forEach((t,i)=>{Y(t)?(a[e][i]={},M(t,(t,n)=>{r(t,n,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):Y(i)?(h={},P(a)?(a.push(h),h[e]={},h=h[e]):a[e]=h,M(i,(t,i)=>{r(t,i,0===e?n:s[e],h,e)})):"format"===e?a[e]=[w(i,t.labels[0].points[0]).toString(),"text"]:P(a)?a.push([i,B(l,i)]):a[e]=[i,B(e,i)])}return M(i,(t,o)=>{"typeOptions"===o?(a[o]={},M(i[o],(t,i)=>{r(t,i,s,a[o],i)})):r(t,o,e[n],a,o)}),a}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=S(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=R(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}G.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},G.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};var j=r(820),J=r.n(j);let{getOptions:Q}=c(),{getAssignedAxis:$,getFieldType:tt}=v,{defined:ti,fireEvent:te,isNumber:ts,uniqueKey:tn}=c(),to=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],ta=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function tr(t,i){let e=i.pointer?.getCoordinates(t),s,n,o=Number.MAX_VALUE,a;if(i.navigationBindings&&e&&(s=$(e.xAxis),n=$(e.yAxis)),!s||!n)return;let r=s.value,l=n.value;if(n.axis.series.forEach(i=>{if(i.points){let e=i.searchPoint(t,!0);e&&o>Math.abs(e.x-r)&&(o=Math.abs(e.x-r),a=e)}}),a&&a.x&&a.y)return{x:a.x,y:a.y,below:lt.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,e,s,n;let o=this.chart,a={linkedTo:t.linkedTo,type:t.type};if("edit"===t.actionType)this.fieldsToOptions(t.fields,a),(n=o.get(t.seriesId))&&n.update(a,!1);else if("remove"===t.actionType){if((n=o.get(t.seriesId))&&(i=n.yAxis,n.linkedSeries&&n.linkedSeries.forEach(t=>{t.remove(!1)}),n.remove(!1),to.indexOf(n.type)>=0)){let t={height:i.options.height,top:i.options.top};i.remove(!1),this.resizeYAxes(t)}}else a.id=tn(),this.fieldsToOptions(t.fields,a),e=o.get(a.linkedTo),s=Q().plotOptions,void 0!==e&&e instanceof J()&&"sum"===e.getDGApproximation()&&!ti(s&&s[a.type]&&s.dataGrouping&&s.dataGrouping.approximation)&&(a.dataGrouping={approximation:"sum"}),to.indexOf(t.type)>=0?(i=o.addAxis({id:tn(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),a.yAxis=i.options.id,this.resizeYAxes()):a.yAxis=o.get(t.linkedTo).options.yAxis,ta.indexOf(t.type)>=0&&(a.params.volumeSeriesID=o.series.filter(function(t){return"column"===t.options.type})[0].options.id),o.addSeries(a,!1);te(this,"deselectButton",{button:this.selectedButtonElement}),o.redraw()},shallowArraysEqual:function(t,i){if(!ti(t)||!ti(i)||t.length!==i.length)return!1;for(let e=0;e{s>=t&&(e.x=n.toValue(i[n.horiz?"chartX":"chartY"]),e.y=o.toValue(i[o.horiz?"chartX":"chartY"]))}),e.update({typeOptions:{points:s.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=ts(s.xAxis)&&e.xAxis[s.xAxis],o=ts(s.yAxis)&&e.yAxis[s.yAxis];if(n&&o){let a=n.toValue(t[n.horiz?"chartX":"chartY"]),r=o.toValue(t[o.horiz?"chartX":"chartY"]),l=a-s.point.x,h=s.point.y-r;i.update({typeOptions:{background:{width:e.inverted?h:l,height:e.inverted?l:h}}})}}},{addFlagFromForm:th,attractToPoint:tc,isNotNavigatorYAxis:tp,isPriceIndicatorEnabled:td,manageIndicators:tg,updateHeight:tu,updateNthPoint:tm,updateRectSize:ty}=tl,{fireEvent:tf,merge:tv}=c(),tb={segment:{className:"highcharts-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.segment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowSegment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},ray:{className:"highcharts-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.ray.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowRay.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.infinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowInfinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.horizontalLine.annotationsOptions);this.chart.addAnnotation(n)}},verticalLine:{className:"highcharts-vertical-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.verticalLine.annotationsOptions);this.chart.addAnnotation(n)}},crooked3:{className:"highcharts-crooked3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3),tm(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3),tm(4),tm(5)]},measureX:{className:"highcharts-measure-x",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},measureY:{className:"highcharts-measure-y",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},measureXY:{className:"highcharts-measure-xy",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},fibonacci:{className:"highcharts-fibonacci",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tu]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tu]},pitchfork:{className:"highcharts-pitchfork",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value,controlPoint:{style:{fill:"#f21313"}}},{x:s,y:n},{x:s,y:n}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},o.annotationsOptions,o.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(t){let i=tc(t,this.chart);if(!i)return;this.verticalCounter=this.verticalCounter||0;let e=this.chart.options.navigation,s=tv({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalCounter.annotationsOptions),n=this.chart.addAnnotation(s);this.verticalCounter++,n.options.events.click.call(n,{})}},timeCycles:{className:"highcharts-time-cycles",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:i.xAxis,yAxis:i.yAxis,points:[{x:i.x},{x:i.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},e.annotationsOptions,e.bindings.timeCycles.annotationsOptions),n=this.chart.addAnnotation(s);return n.options.events.click.call(n,{}),n},steps:[tm(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalLabel.annotationsOptions),n=this.chart.addAnnotation(s);n.options.events.click.call(n,{})}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,format:" "},connector:{fill:"none",stroke:i.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalArrow.annotationsOptions),n=this.chart.addAnnotation(s);n.options.events.click.call(n,{})}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value}]}},s.annotationsOptions,s.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(n)},steps:[function(t,i){let e=i.options.typeOptions.points,s=e&&e[0].x,[n,o]=this.getCoords(t);n&&o&&i.update({typeOptions:{xAxis:n.axis.index,yAxis:o.axis.index,points:[{x:s},{x:n.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:th("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:th("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:th("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:th("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),tf(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),tf(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),tf(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),tf(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),tf(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),tf(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),tf(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),tf(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),tf(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),tf(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=td(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),tf(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let t=this;tf(t,"showPopup",{formType:"indicators",options:{},onSubmit:function(i){tg.call(t,i)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),tf(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(t){let i=this.chart,e=[],s=[],n=[],o=[];i.annotations.forEach(function(t,i){e[i]=t.userOptions}),i.series.forEach(function(t){t.is("sma")?s.push(t.userOptions):"flags"===t.type&&n.push(t.userOptions)}),i.yAxis.forEach(function(t){tp(t)&&o.push(t.options)}),c().win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:e,indicators:s,flags:n,yAxes:o})),tf(this,"deselectButton",{button:t})}}},tx={lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}},{setOptions:tA}=c(),{getAssignedAxis:tk}=v,{isNotNavigatorYAxis:tC,isPriceIndicatorEnabled:tw}=tl,{correctFloat:tO,defined:tN,isNumber:tL,pick:tT}=c();function tB(t,i,e,s){let n=0,o,a,r;function l(t){return tN(t)&&!tL(t)&&t.match("%")}return s&&(r=tO(parseFloat(s.top)/100),a=tO(parseFloat(s.height)/100)),{positions:t.map((s,h)=>{let c=tO(l(s.options.height)?parseFloat(s.options.height)/100:s.height/i),p=tO(l(s.options.top)?parseFloat(s.options.top)/100:(s.top-s.chart.plotTop)/i);return a?(p>r&&(p-=a),n=Math.max(n,(p||0)+(c||0))):(tL(c)||(c=t[h-1].series.every(t=>t.is("sma"))?o:e/100),tL(p)||(p=n),o=c,n=tO(Math.max(n,(p||0)+(c||0)))),{height:100*c,top:100*p}}),allAxesHeight:n}}function tE(t){let i=[];return t.forEach(function(e,s){let n=t[s+1];n?i[s]={enabled:!0,controlledAxis:{next:[tT(n.options.id,n.index)]}}:i[s]={enabled:!1}}),i}function tS(t,i,e,s){return t.forEach(function(n,o){let a=t[o-1];n.top=a?tO(a.height+a.top):0,e&&(n.height=tO(n.height+s*i))}),t}function tI(t){let i=this.chart,e=i.yAxis.filter(tC),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=tO(1)?n[n.length-1]={height:20,top:tO(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}var tz=r(660),tP=r.n(tz);let{addEvent:tW,createElement:tH,css:tY,defined:tR,fireEvent:tM,getStyle:tX,isArray:tU,merge:tD,pick:tF}=c(),{shallowArraysEqual:tK}=tl;class tV{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=tF(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),tM(this,"afterInit")}createButtons(){let t=this.lang,i=this.options,e=this.toolbar,s=i.buttons,n=i.definitions,o=e.childNodes;this.buttonList=s,s.forEach(i=>{let s=this.addButton(e,n,i,t);this.eventsToUnbind.push(tW(s.buttonWrapper,"click",()=>this.eraseActiveButtons(o,s.buttonWrapper))),tU(n[i].items)&&this.addSubmenu(s,n[i])})}addSubmenu(t,i){let e=t.submenuArrow,s=t.buttonWrapper,n=tX(s,"width"),o=this.wrapper,a=this.listWrapper,r=this.toolbar.childNodes,l=this.submenu=tH("ul",{className:"highcharts-submenu-wrapper"},void 0,s);this.addSubmenuItems(s,i),this.eventsToUnbind.push(tW(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(r,s),s.className.indexOf("highcharts-current")>=0)a.style.width=a.startWidth+"px",s.classList.remove("highcharts-current"),l.style.display="none";else{l.style.display="block";let t=l.offsetHeight-s.offsetHeight-3;l.offsetHeight+s.offsetTop>o.offsetHeight&&s.offsetTop>t||(t=0),tY(l,{top:-t+"px",left:n+3+"px"}),s.className+=" highcharts-current",a.startWidth=o.offsetWidth,a.style.width=a.startWidth+tX(a,"padding-left")+l.offsetWidth+3+"px"}}))}addSubmenuItems(t,i){let e;let s=this,n=this.submenu,o=this.lang,a=this.listWrapper;i.items.forEach(r=>{e=this.addButton(n,i,r,o),this.eventsToUnbind.push(tW(e.mainButton,"click",function(){s.switchSymbol(this,t,!0),a.style.width=a.startWidth+"px",n.style.display="none"}))});let r=n.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(r,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length>0&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let n=i[e],o=n.items,a=tV.prototype.classMapping,r=n.className||"",l=tH("li",{className:tF(a[e],"")+" "+r,title:s[e]||e},void 0,t),h=tH(n.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,l);if(o&&o.length){let t=tH("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,l);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:l,mainButton:h,submenuArrow:t}}return h.style.backgroundImage="url("+this.iconsURL+n.symbol+")",{buttonWrapper:l,mainButton:h}}addNavigation(){let t=this.wrapper;this.arrowWrapper=tH("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=tH("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=tH("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,s=0;this.eventsToUnbind.push(tW(this.arrowUp,"click",()=>{s>0&&(s-=e,i.style.marginTop=-s+"px")})),this.eventsToUnbind.push(tW(this.arrowDown,"click",()=>{t.offsetHeight+s<=i.offsetHeight+e&&(s+=e,i.style.marginTop=-s+"px")}))}createContainer(){let t,i;let e=this.chart,s=this.options,n=e.container,o=e.options.navigation,a=o?.bindingsClassName,r=this,l=this.wrapper=tH("div",{className:"highcharts-stocktools-wrapper "+s.className+" "+a});n.appendChild(l),this.showHideBtn=tH("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,l),this.eventsToUnbind.push(tW(this.showHideBtn,"click",()=>{this.update({gui:{visible:!r.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{tW(l,t,t=>t.stopPropagation())}),tW(l,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=tH("ul",{className:"highcharts-stocktools-toolbar "+s.toolbarClassName}),this.listWrapper=t=tH("div",{className:"highcharts-menu-wrapper"}),l.insertBefore(t,l.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=tX(i,"padding-top")+"px",s.style.left=t.offsetWidth+tX(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",n=this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;!(s.indexOf("highcharts-disabled-btn")>-1)&&(n.className="",s&&n.classList.add(s.trim()),n.querySelectorAll(".highcharts-menu-item-btn")[0].style.backgroundImage=t.style.backgroundImage,i&&this.toggleButtonActiveClass(n))}toggleButtonActiveClass(t){let i=t.classList;i.contains("highcharts-active")?i.remove("highcharts-active"):i.add("highcharts-active")}unselectAllButtons(t){let i=t.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(i,i=>{i!==t&&i.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,tD(!0,this.chart.options.stockTools,t),tD(!0,this.options,t.gui),this.visible=tF(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,tF(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){if(this.options.enabled!==this.guiEnabled)this.handleGuiEnabledChange();else{if(!this.guiEnabled)return;this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar()}}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){(!tK(this.options.buttons,this.buttonList)||this.isDirty)&&(this.toolbar.innerHTML=tP().emptyHTML,this.createButtons())}updateVisibility(){tR(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/12.1.0/gfx/stock-icons/"}}tV.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"};let{setOptions:tq}=c(),{addEvent:tZ,getStyle:t_,merge:tG,pick:tj}=c();function tJ(t){let i=this.options,e=i.lang,s=tG(i.stockTools&&i.stockTools.gui,t&&t.gui),n=e&&e.stockTools&&e.stockTools.gui;this.stockTools=new tV(s,n,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function tQ(){this.setStockTools()}function t$(){this.stockTools&&(this.stockTools.redraw(),function(t){if(t.stockTools?.guiEnabled){let i=t.options.chart,e=t.stockTools.listWrapper,s=e&&(e.startWidth+t_(e,"padding-left")+t_(e,"padding-right")||e.offsetWidth);t.stockTools.width=s;let n=!1;if(s=0&&(i=i.parentNode.parentNode),i.classList.remove("highcharts-active")}}function t5(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let e=t.button;i.unselectAllButtons(t.button),e.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(e=e.parentNode.parentNode),i.toggleButtonActiveClass(e)}}let t2=c();t2.NavigationBindings=t2.NavigationBindings||G,t2.Toolbar=tV,({compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=tB,i.getYAxisResizers=tE,i.recalculateYAxisPositions=tS,i.resizeYAxes=tI,i.utils=i.utils||{},i.utils.indicatorsWithAxes=tl.indicatorsWithAxes,i.utils.indicatorsWithVolume=tl.indicatorsWithVolume,i.utils.getAssignedAxis=tk,i.utils.isPriceIndicatorEnabled=tw,i.utils.manageIndicators=tl.manageIndicators,tA(tx),tA({navigation:{bindings:tb}}))}}).compose(t2.NavigationBindings),({compose:function(t,i){let e=t.prototype;e.setStockTools||(tZ(t,"afterGetContainer",tQ),tZ(t,"beforeRedraw",t$),tZ(t,"beforeRender",t$),tZ(t,"destroy",t0),tZ(t,"getMargins",t1,{order:0}),tZ(t,"render",t6),e.setStockTools=tJ,tZ(i,"deselectButton",t3),tZ(i,"selectButton",t5),tq(tx))}}).compose(t2.Chart,t2.NavigationBindings);let t4=c();return l.default})()); \ No newline at end of file + */function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Series,t._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts/highcharts"],function(t){return i(t,t.Templating,t.Series,t.AST)}):"object"==typeof exports?exports["highcharts/modules/stock-tools"]=i(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Series,t._Highcharts.AST):t.Highcharts=i(t.Highcharts,t.Highcharts.Templating,t.Highcharts.Series,t.Highcharts.AST)}("undefined"==typeof window?this:window,(t,i,e,s)=>(()=>{"use strict";var n,o={660:t=>{t.exports=s},820:t=>{t.exports=e},984:t=>{t.exports=i},944:i=>{i.exports=t}},a={};function r(t){var i=a[t];if(void 0!==i)return i.exports;var e=a[t]={exports:{}};return o[t](e,e.exports,r),e.exports}r.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return r.d(i,{a:i}),i},r.d=(t,i)=>{for(var e in i)r.o(i,e)&&!r.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},r.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);var l={};r.d(l,{default:()=>t4});var h=r(944),c=r.n(h);!function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(n||(n={}));let p=n;var d=r(984),g=r.n(d);let{defined:u,isNumber:m,pick:y}=c(),f={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},v={annotationsFieldsTypes:f,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),e=i.min,s=i.max,n=y(t.axis.minPointOffset,0);return m(e)&&m(s)&&t.value>=e-n&&t.value<=s+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let e=f[t],s=typeof i;return u(e)&&(s=e),({string:"text",number:"number",boolean:"checkbox"})[s]}},{getAssignedAxis:b}=v,{isNumber:x,merge:A}=c(),k={lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:s.value,xAxis:e.axis.index,yAxis:s.axis.index},r:5}]},n.annotationsOptions,n.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let s=i.options.shapes,n=s&&s[0]&&s[0].point||{};if(x(n.xAxis)&&x(n.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[n.xAxis].toPixels(n.x),o=this.chart.yAxis[n.yAxis].toPixels(n.y);e=Math.max(Math.sqrt(Math.pow(i?o-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:o-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:s.axis.index,points:[{x:e.value,y:s.value},{x:e.value,y:s.value}],ry:1}]},n.annotationsOptions,n.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis);if(!e||!s)return;let n=e.value,o=s.value,a=e.axis.index,r=s.axis.index,l=this.chart.options.navigation;return this.chart.addAnnotation(A({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{xAxis:a,yAxis:r,x:n,y:o},{command:"Z"}]}]},l.annotationsOptions,l.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,s=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),o=n&&b(n.xAxis),a=n&&b(n.yAxis);if(o&&a){let t=o.value,e=a.value;s[1].x=t,s[2].x=t,s[2].y=e,s[3].y=e,i.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&b(i.xAxis),s=i&&b(i.yAxis),n=this.chart.options.navigation;if(e&&s)return this.chart.addAnnotation(A({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:s.axis.index,x:e.value,y:s.value}}]},n.annotationsOptions,n.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:C}=c(),{format:w}=g(),{composed:O,doc:N,win:L}=c(),{getAssignedAxis:T,getFieldType:B}=v,{addEvent:E,attr:S,defined:I,fireEvent:z,isArray:P,isFunction:W,isNumber:H,isObject:Y,merge:R,objectEach:M,pick:X,pushUnique:U}=c();function D(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function F(){this.navigationBindings&&this.navigationBindings.destroy()}function K(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new G(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function V(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];M(t.boundClassNames,(t,n)=>{let o=s.querySelectorAll("."+n);if(o)for(let s=0;s=4||n.call(this,t)}})}class G{static compose(t,i){U(O,"NavigationBindings")&&(E(t,"remove",D),_(t),M(t.types,t=>{_(t)}),E(i,"destroy",F),E(i,"load",K),E(i,"render",V),E(G,"closePopup",q),E(G,"deselectButton",Z),C(k))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=N.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&T(i.xAxis),i&&T(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,s=t.options;t.boundClassNames={},M(s.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(E(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),M(s.events||{},(i,e)=>{W(i)&&t.eventsToUnbind.push(E(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(E(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(E(i.container,c().isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},c().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;p.compose(this.chart).navigation.addUpdate(i=>{t.update(i)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),z(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,z(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=L.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):z(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(z(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(z(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return M(t,(t,e)=>{let s=parseFloat(t),n=e.split("."),o=n.length-1;if(!H(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=X(n[s+1],"");o===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=G.annotationsEditable,s=e.nestedOptions,n=X(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),o=G.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:n};function r(i,e,n,a,l){let h;n&&I(i)&&-1===o.indexOf(e)&&((n.indexOf&&n.indexOf(e))>=0||n[e]||!0===n)&&(P(i)?(a[e]=[],i.forEach((t,i)=>{Y(t)?(a[e][i]={},M(t,(t,n)=>{r(t,n,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):Y(i)?(h={},P(a)?(a.push(h),h[e]={},h=h[e]):a[e]=h,M(i,(t,i)=>{r(t,i,0===e?n:s[e],h,e)})):"format"===e?a[e]=[w(i,t.labels[0].points[0]).toString(),"text"]:P(a)?a.push([i,B(l,i)]):a[e]=[i,B(e,i)])}return M(i,(t,o)=>{"typeOptions"===o?(a[o]={},M(i[o],(t,i)=>{r(t,i,s,a[o],i)})):r(t,o,e[n],a,o)}),a}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=S(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=R(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}G.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},G.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};var j=r(820),J=r.n(j);let{getOptions:Q}=c(),{getAssignedAxis:$,getFieldType:tt}=v,{defined:ti,fireEvent:te,isNumber:ts,uniqueKey:tn}=c(),to=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],ta=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function tr(t,i){let e=i.pointer?.getCoordinates(t),s,n,o=Number.MAX_VALUE,a;if(i.navigationBindings&&e&&(s=$(e.xAxis),n=$(e.yAxis)),!s||!n)return;let r=s.value,l=n.value;if(n.axis.series.forEach(i=>{if(i.points){let e=i.searchPoint(t,!0);e&&o>Math.abs(e.x-r)&&(o=Math.abs(e.x-r),a=e)}}),a&&a.x&&a.y)return{x:a.x,y:a.y,below:lt.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,e,s,n;let o=this.chart,a={linkedTo:t.linkedTo,type:t.type};if("edit"===t.actionType)this.fieldsToOptions(t.fields,a),(n=o.get(t.seriesId))&&n.update(a,!1);else if("remove"===t.actionType){if((n=o.get(t.seriesId))&&(i=n.yAxis,n.linkedSeries&&n.linkedSeries.forEach(t=>{t.remove(!1)}),n.remove(!1),to.indexOf(n.type)>=0)){let t={height:i.options.height,top:i.options.top};i.remove(!1),this.resizeYAxes(t)}}else a.id=tn(),this.fieldsToOptions(t.fields,a),e=o.get(a.linkedTo),s=Q().plotOptions,void 0!==e&&e instanceof J()&&"sum"===e.getDGApproximation()&&!ti(s&&s[a.type]&&s.dataGrouping&&s.dataGrouping.approximation)&&(a.dataGrouping={approximation:"sum"}),to.indexOf(t.type)>=0?(i=o.addAxis({id:tn(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),a.yAxis=i.options.id,this.resizeYAxes()):a.yAxis=o.get(t.linkedTo).options.yAxis,ta.indexOf(t.type)>=0&&(a.params.volumeSeriesID=o.series.filter(function(t){return"column"===t.options.type})[0].options.id),o.addSeries(a,!1);te(this,"deselectButton",{button:this.selectedButtonElement}),o.redraw()},shallowArraysEqual:function(t,i){if(!ti(t)||!ti(i)||t.length!==i.length)return!1;for(let e=0;e{s>=t&&(e.x=n.toValue(i[n.horiz?"chartX":"chartY"]),e.y=o.toValue(i[o.horiz?"chartX":"chartY"]))}),e.update({typeOptions:{points:s.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=ts(s.xAxis)&&e.xAxis[s.xAxis],o=ts(s.yAxis)&&e.yAxis[s.yAxis];if(n&&o){let a=n.toValue(t[n.horiz?"chartX":"chartY"]),r=o.toValue(t[o.horiz?"chartX":"chartY"]),l=a-s.point.x,h=s.point.y-r;i.update({typeOptions:{background:{width:e.inverted?h:l,height:e.inverted?l:h}}})}}},{addFlagFromForm:th,attractToPoint:tc,isNotNavigatorYAxis:tp,isPriceIndicatorEnabled:td,manageIndicators:tg,updateHeight:tu,updateNthPoint:tm,updateRectSize:ty}=tl,{fireEvent:tf,merge:tv}=c(),tb={segment:{className:"highcharts-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.segment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowSegment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},ray:{className:"highcharts-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.ray.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowRay.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.infinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowInfinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[tm(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.horizontalLine.annotationsOptions);this.chart.addAnnotation(n)}},verticalLine:{className:"highcharts-vertical-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.verticalLine.annotationsOptions);this.chart.addAnnotation(n)}},crooked3:{className:"highcharts-crooked3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3),tm(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2),tm(3),tm(4),tm(5)]},measureX:{className:"highcharts-measure-x",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},measureY:{className:"highcharts-measure-y",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},measureXY:{className:"highcharts-measure-xy",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[ty]},fibonacci:{className:"highcharts-fibonacci",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tu]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tu]},pitchfork:{className:"highcharts-pitchfork",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=tv({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value,controlPoint:{style:{fill:"#f21313"}}},{x:s,y:n},{x:s,y:n}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},o.annotationsOptions,o.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)},steps:[tm(1),tm(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(t){let i=tc(t,this.chart);if(!i)return;this.verticalCounter=this.verticalCounter||0;let e=this.chart.options.navigation,s=tv({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalCounter.annotationsOptions),n=this.chart.addAnnotation(s);this.verticalCounter++,n.options.events.click.call(n,{})}},timeCycles:{className:"highcharts-time-cycles",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:i.xAxis,yAxis:i.yAxis,points:[{x:i.x},{x:i.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},e.annotationsOptions,e.bindings.timeCycles.annotationsOptions),n=this.chart.addAnnotation(s);return n.options.events.click.call(n,{}),n},steps:[tm(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalLabel.annotationsOptions),n=this.chart.addAnnotation(s);n.options.events.click.call(n,{})}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(t){let i=tc(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=tv({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,format:" "},connector:{fill:"none",stroke:i.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalArrow.annotationsOptions),n=this.chart.addAnnotation(s);n.options.events.click.call(n,{})}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=tv({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value}]}},s.annotationsOptions,s.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(n)},steps:[function(t,i){let e=i.options.typeOptions.points,s=e&&e[0].x,[n,o]=this.getCoords(t);n&&o&&i.update({typeOptions:{xAxis:n.axis.index,yAxis:o.axis.index,points:[{x:s},{x:n.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:th("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:th("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:th("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:th("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),tf(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),tf(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),tf(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),tf(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),tf(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),tf(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),tf(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),tf(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),tf(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),tf(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=td(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),tf(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let t=this;tf(t,"showPopup",{formType:"indicators",options:{},onSubmit:function(i){tg.call(t,i)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),tf(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(t){let i=this.chart,e=[],s=[],n=[],o=[];i.annotations.forEach(function(t,i){e[i]=t.userOptions}),i.series.forEach(function(t){t.is("sma")?s.push(t.userOptions):"flags"===t.type&&n.push(t.userOptions)}),i.yAxis.forEach(function(t){tp(t)&&o.push(t.options)}),c().win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:e,indicators:s,flags:n,yAxes:o})),tf(this,"deselectButton",{button:t})}}},tx={lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}},{setOptions:tA}=c(),{getAssignedAxis:tk}=v,{isNotNavigatorYAxis:tC,isPriceIndicatorEnabled:tw}=tl,{correctFloat:tO,defined:tN,isNumber:tL,pick:tT}=c();function tB(t,i,e,s){let n=0,o,a,r;function l(t){return tN(t)&&!tL(t)&&t.match("%")}return s&&(r=tO(parseFloat(s.top)/100),a=tO(parseFloat(s.height)/100)),{positions:t.map((s,h)=>{let c=tO(l(s.options.height)?parseFloat(s.options.height)/100:s.height/i),p=tO(l(s.options.top)?parseFloat(s.options.top)/100:(s.top-s.chart.plotTop)/i);return a?(p>r&&(p-=a),n=Math.max(n,(p||0)+(c||0))):(tL(c)||(c=t[h-1].series.every(t=>t.is("sma"))?o:e/100),tL(p)||(p=n),o=c,n=tO(Math.max(n,(p||0)+(c||0)))),{height:100*c,top:100*p}}),allAxesHeight:n}}function tE(t){let i=[];return t.forEach(function(e,s){let n=t[s+1];n?i[s]={enabled:!0,controlledAxis:{next:[tT(n.options.id,n.index)]}}:i[s]={enabled:!1}}),i}function tS(t,i,e,s){return t.forEach(function(n,o){let a=t[o-1];n.top=a?tO(a.height+a.top):0,e&&(n.height=tO(n.height+s*i))}),t}function tI(t){let i=this.chart,e=i.yAxis.filter(tC),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=tO(1)?n[n.length-1]={height:20,top:tO(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}var tz=r(660),tP=r.n(tz);let{addEvent:tW,createElement:tH,css:tY,defined:tR,fireEvent:tM,getStyle:tX,isArray:tU,merge:tD,pick:tF}=c(),{shallowArraysEqual:tK}=tl;class tV{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=tF(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),tM(this,"afterInit")}createButtons(){let t=this.lang,i=this.options,e=this.toolbar,s=i.buttons,n=i.definitions,o=e.childNodes;this.buttonList=s,s.forEach(i=>{let s=this.addButton(e,n,i,t);this.eventsToUnbind.push(tW(s.buttonWrapper,"click",()=>this.eraseActiveButtons(o,s.buttonWrapper))),tU(n[i].items)&&this.addSubmenu(s,n[i])})}addSubmenu(t,i){let e=t.submenuArrow,s=t.buttonWrapper,n=tX(s,"width"),o=this.wrapper,a=this.listWrapper,r=this.toolbar.childNodes,l=this.submenu=tH("ul",{className:"highcharts-submenu-wrapper"},void 0,s);this.addSubmenuItems(s,i),this.eventsToUnbind.push(tW(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(r,s),s.className.indexOf("highcharts-current")>=0)a.style.width=a.startWidth+"px",s.classList.remove("highcharts-current"),l.style.display="none";else{l.style.display="block";let t=l.offsetHeight-s.offsetHeight-3;l.offsetHeight+s.offsetTop>o.offsetHeight&&s.offsetTop>t||(t=0),tY(l,{top:-t+"px",left:n+3+"px"}),s.className+=" highcharts-current",a.startWidth=o.offsetWidth,a.style.width=a.startWidth+tX(a,"padding-left")+l.offsetWidth+3+"px"}}))}addSubmenuItems(t,i){let e;let s=this,n=this.submenu,o=this.lang,a=this.listWrapper;i.items.forEach(r=>{e=this.addButton(n,i,r,o),this.eventsToUnbind.push(tW(e.mainButton,"click",function(){s.switchSymbol(this,t,!0),a.style.width=a.startWidth+"px",n.style.display="none"}))});let r=n.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(r,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length>0&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let n=i[e],o=n.items,a=tV.prototype.classMapping,r=n.className||"",l=tH("li",{className:tF(a[e],"")+" "+r,title:s[e]||e},void 0,t),h=tH(n.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,l);if(o&&o.length){let t=tH("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,l);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:l,mainButton:h,submenuArrow:t}}return h.style.backgroundImage="url("+this.iconsURL+n.symbol+")",{buttonWrapper:l,mainButton:h}}addNavigation(){let t=this.wrapper;this.arrowWrapper=tH("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=tH("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=tH("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,s=0;this.eventsToUnbind.push(tW(this.arrowUp,"click",()=>{s>0&&(s-=e,i.style.marginTop=-s+"px")})),this.eventsToUnbind.push(tW(this.arrowDown,"click",()=>{t.offsetHeight+s<=i.offsetHeight+e&&(s+=e,i.style.marginTop=-s+"px")}))}createContainer(){let t,i;let e=this.chart,s=this.options,n=e.container,o=e.options.navigation,a=o?.bindingsClassName,r=this,l=this.wrapper=tH("div",{className:"highcharts-stocktools-wrapper "+s.className+" "+a});n.appendChild(l),this.showHideBtn=tH("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,l),this.eventsToUnbind.push(tW(this.showHideBtn,"click",()=>{this.update({gui:{visible:!r.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{tW(l,t,t=>t.stopPropagation())}),tW(l,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=tH("ul",{className:"highcharts-stocktools-toolbar "+s.toolbarClassName}),this.listWrapper=t=tH("div",{className:"highcharts-menu-wrapper"}),l.insertBefore(t,l.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=tX(i,"padding-top")+"px",s.style.left=t.offsetWidth+tX(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",n=this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;!(s.indexOf("highcharts-disabled-btn")>-1)&&(n.className="",s&&n.classList.add(s.trim()),n.querySelectorAll(".highcharts-menu-item-btn")[0].style.backgroundImage=t.style.backgroundImage,i&&this.toggleButtonActiveClass(n))}toggleButtonActiveClass(t){let i=t.classList;i.contains("highcharts-active")?i.remove("highcharts-active"):i.add("highcharts-active")}unselectAllButtons(t){let i=t.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(i,i=>{i!==t&&i.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,tD(!0,this.chart.options.stockTools,t),tD(!0,this.options,t.gui),this.visible=tF(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,tF(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){if(this.options.enabled!==this.guiEnabled)this.handleGuiEnabledChange();else{if(!this.guiEnabled)return;this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar()}}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){(!tK(this.options.buttons,this.buttonList)||this.isDirty)&&(this.toolbar.innerHTML=tP().emptyHTML,this.createButtons())}updateVisibility(){tR(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/12.1.1/gfx/stock-icons/"}}tV.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"};let{setOptions:tq}=c(),{addEvent:tZ,getStyle:t_,merge:tG,pick:tj}=c();function tJ(t){let i=this.options,e=i.lang,s=tG(i.stockTools&&i.stockTools.gui,t&&t.gui),n=e&&e.stockTools&&e.stockTools.gui;this.stockTools=new tV(s,n,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function tQ(){this.setStockTools()}function t$(){this.stockTools&&(this.stockTools.redraw(),function(t){if(t.stockTools?.guiEnabled){let i=t.options.chart,e=t.stockTools.listWrapper,s=e&&(e.startWidth+t_(e,"padding-left")+t_(e,"padding-right")||e.offsetWidth);t.stockTools.width=s;let n=!1;if(s=0&&(i=i.parentNode.parentNode),i.classList.remove("highcharts-active")}}function t5(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let e=t.button;i.unselectAllButtons(t.button),e.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(e=e.parentNode.parentNode),i.toggleButtonActiveClass(e)}}let t2=c();t2.NavigationBindings=t2.NavigationBindings||G,t2.Toolbar=tV,({compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=tB,i.getYAxisResizers=tE,i.recalculateYAxisPositions=tS,i.resizeYAxes=tI,i.utils=i.utils||{},i.utils.indicatorsWithAxes=tl.indicatorsWithAxes,i.utils.indicatorsWithVolume=tl.indicatorsWithVolume,i.utils.getAssignedAxis=tk,i.utils.isPriceIndicatorEnabled=tw,i.utils.manageIndicators=tl.manageIndicators,tA(tx),tA({navigation:{bindings:tb}}))}}).compose(t2.NavigationBindings),({compose:function(t,i){let e=t.prototype;e.setStockTools||(tZ(t,"afterGetContainer",tQ),tZ(t,"beforeRedraw",t$),tZ(t,"beforeRender",t$),tZ(t,"destroy",t0),tZ(t,"getMargins",t1,{order:0}),tZ(t,"render",t6),e.setStockTools=tJ,tZ(i,"deselectButton",t3),tZ(i,"selectButton",t5),tq(tx))}}).compose(t2.Chart,t2.NavigationBindings);let t4=c();return l.default})()); \ No newline at end of file diff --git a/modules/stock-tools.src.js b/modules/stock-tools.src.js index a0a75ad8e7..96fa705c6d 100644 --- a/modules/stock-tools.src.js +++ b/modules/stock-tools.src.js @@ -1,5 +1,5 @@ /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/stock-tools * @requires highcharts * @requires highcharts/modules/stock @@ -637,7 +637,7 @@ const navigation = { * from a different server. * * @type {string} - * @default https://code.highcharts.com/12.1.0/gfx/stock-icons/ + * @default https://code.highcharts.com/12.1.1/gfx/stock-icons/ * @since 7.1.3 * @apioption navigation.iconsURL */ @@ -5524,7 +5524,7 @@ class Toolbar { getIconsURL() { return this.chart.options.navigation.iconsURL || this.options.iconsURL || - 'https://code.highcharts.com/12.1.0/gfx/stock-icons/'; + 'https://code.highcharts.com/12.1.1/gfx/stock-icons/'; } } Toolbar.prototype.classMapping = { diff --git a/modules/stock.js b/modules/stock.js index 18eb27ce3f..7f2a571d49 100644 --- a/modules/stock.js +++ b/modules/stock.js @@ -1,13 +1,13 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/broken-axis * @requires highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Chart,t._Highcharts.Templating,t._Highcharts.Series.types.column,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/stock",["highcharts/highcharts"],function(t){return e(t,t.Axis,t.Point,t.Series,t.Color,t.SeriesRegistry,t.RendererRegistry,t.SVGRenderer,t.SVGElement,t.Chart,t.Templating,t.Series,["types"],["column"],t.StackItem)}):"object"==typeof exports?exports["highcharts/modules/stock"]=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Chart,t._Highcharts.Templating,t._Highcharts.Series.types.column,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.Axis,t.Highcharts.Point,t.Highcharts.Series,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.RendererRegistry,t.Highcharts.SVGRenderer,t.Highcharts.SVGElement,t.Highcharts.Chart,t.Highcharts.Templating,t.Highcharts.Series.types.column,t.Highcharts.StackItem)}("undefined"==typeof window?this:window,(t,e,i,s,o,n,r,a,l,h,d,p,c)=>(()=>{"use strict";let u,g,m,f;var x,b,v,y,M,A,k,w={532:t=>{t.exports=e},960:t=>{t.exports=h},620:t=>{t.exports=o},260:t=>{t.exports=i},608:t=>{t.exports=r},28:t=>{t.exports=l},540:t=>{t.exports=a},448:t=>{t.exports=p},820:t=>{t.exports=s},512:t=>{t.exports=n},184:t=>{t.exports=c},984:t=>{t.exports=d},944:e=>{e.exports=t}},S={};function E(t){var e=S[t];if(void 0!==e)return e.exports;var i=S[t]={exports:{}};return w[t](i,i.exports,E),i.exports}E.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return E.d(e,{a:e}),e},E.d=(t,e)=>{for(var i in e)E.o(e,i)&&!E.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},E.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};E.d(C,{default:()=>oO});var T=E(944),B=E.n(T),O=E(532),D=E.n(O),P=E(260),R=E.n(P),G=E(820),I=E.n(G);let{tooltipFormatter:z}=R().prototype,{addEvent:L,arrayMax:W,arrayMin:H,correctFloat:X,defined:Y,isArray:N,isNumber:F,isString:U,pick:_}=B();!function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach(function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||U(e)||i.setCumulative(e,!1)}),_(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],_(e.series.tooltipOptions.changeDecimals,2)))};return Y(e.change)&&s("change"),Y(e.cumulativeSum)&&s("cumulativeSum"),z.apply(this,[t])}function s(){let t;let e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new d(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function o(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&N(i)&&i.length>=2&&(t=d.getCumulativeExtremes(i)),t&&(e.dataMin=H(t),e.dataMax=W(t))}}function n(t,e){this.options.compare=this.userOptions.compare=t,this.update({},_(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(t=>{delete t.change})}function r(){let t=this.getColumn(this.pointArrayMap&&(this.options.pointValKey||this.pointValKey)||"y",!0);if(this.xAxis&&t.length&&this.dataModify){let e=this.getColumn("x",!0),i=this.dataTable.rowCount,s=!0===this.options.compareStart?0:1;for(let o=0;o=(this.xAxis.min||0)){this.dataModify.compareValue=i;break}}}}function a(t,e){this.setModifier("compare",t,e)}function l(t,e){t=_(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},_(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function h(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,d,p){let c=d.prototype,u=p.prototype,g=t.prototype;return g.setCompare||(g.setCompare=n,g.setCumulative=l,L(t,"afterInit",s),L(t,"afterGetExtremes",o),L(t,"afterProcessData",r)),c.setCompare||(c.setCompare=a,c.setModifier=e,c.setCumulative=h,u.tooltipFormatter=i),t};class d{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce((t,s)=>{let o=t+s;return e=Math.min(e,o,t),i=Math.max(i,o,t),o}),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=X(i.cumulativeSum+t));let s=this.series.points[e],o=s.series.options.cumulativeStart,n=s.x<=this.series.xAxis.max&&s.x>=this.series.xAxis.min;return s&&(!o||n?s.cumulativeSum=t:s.cumulativeSum=void 0),t}return 0}}}t.Additions=d}(x||(x={}));let V=x,{isTouchDevice:Z}=B(),{addEvent:j,merge:K,pick:q}=B(),$=[];function J(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function Q(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:n,scrollButtonSize:r}=o;this.inverted?(o.left=o.opposite?this.chartWidth-n-o.height:this.spacing[3]+n,o.top=this.plotTop+r):(o.left=q(e.left,this.plotLeft+r),o.top=o.navigatorOptions.top||this.chartHeight-o.height-n-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+q(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function tt(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new u(this),q(t.redraw,!0)&&this.redraw(t.animation))}function te(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new u(this))}function ti(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!Z&&"x"===this.zooming.type||Z&&"x"===this.zooming.pinchType))return!1}function ts(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function to(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(K(!0,this.options.navigator,e),K(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let tn={compose:function(t,e){if(B().pushUnique($,t)){let i=t.prototype;u=e,i.callbacks.push(ts),j(t,"afterAddSeries",J),j(t,"afterSetChartSize",Q),j(t,"afterUpdate",tt),j(t,"beforeRender",te),j(t,"beforeShowResetZoom",ti),j(t,"update",to)}}},{isTouchDevice:tr}=B(),{addEvent:ta,correctFloat:tl,defined:th,isNumber:td,pick:tp}=B();function tc(){this.navigatorAxis||(this.navigatorAxis=new tg(this))}function tu(t){let e;let i=this.chart,s=i.options,o=s.navigator,n=this.navigatorAxis,r=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||tr&&"xy"===r)&&this.options.range){let e=n.previousZoom;th(t.min)?n.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],n.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class tg{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),ta(t,"init",tc),ta(t,"setExtremes",tu))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,n=(o.pointRange||0)/2,r=tp(i,o.translate(t,!0,!o.horiz)),a=tp(s,o.translate(e,!0,!o.horiz));return th(i)||(r=tl(r+n)),th(s)||(a=tl(a-n)),td(r)&&td(a)||(r=a=void 0),{min:r,max:a}}}var tm=E(620),tf=E.n(tm),tx=E(512),tb=E.n(tx);let{parse:tv}=tf(),{seriesTypes:ty}=tb(),tM={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:tv("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ty.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{defined:tA,isNumber:tk,pick:tw}=B(),tS={rect:function(t,e,i,s,o){return o&&o.r?function(t,e,i,s,o){let n=o?.r||0;return[["M",t+n,e],["L",t+i-n,e],["A",n,n,0,0,1,t+i,e+n],["L",t+i,e+s-n],["A",n,n,0,0,1,t+i-n,e+s],["L",t+n,e+s],["A",n,n,0,0,1,t,e+s-n],["L",t,e+n],["A",n,n,0,0,1,t+n,e],["Z"]]}(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}},{relativeLength:tE}=B(),tC={"navigator-handle":function(t,e,i,s,o={}){let n=o.width?o.width/2:i,r=tE(o.borderRadius||0,Math.min(2*n,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...tS.rect(-n-1,.5,2*n+1,s,{r})]}};var tT=E(608),tB=E.n(tT);let{defined:tO}=B(),tD={setFixedRange:function(t){let e=this.xAxis[0];tO(e.dataMax)&&tO(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{setOptions:tP}=B(),{composed:tR}=B(),{getRendererType:tG}=tB(),{setFixedRange:tI}=tD,{addEvent:tz,extend:tL,pushUnique:tW}=B();function tH(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let tX={compose:function(t,e,i){tg.compose(e),tW(tR,"Navigator")&&(t.prototype.setFixedRange=tI,tL(tG().prototype.symbols,tC),tz(i,"afterUpdate",tH),tP({navigator:tM}))}},{composed:tY}=B(),{addEvent:tN,defined:tF,pick:tU,pushUnique:t_}=B();!function(t){let e;function i(t){let e=tU(t.options&&t.options.min,t.min),i=tU(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:tF(t.dataMin)?Math.min(e,t.min,t.dataMin,tU(t.threshold,1/0)):e,scrollMax:tF(t.dataMax)?Math.max(i,t.max,t.dataMax,tU(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),tN(t.scrollbar,"changed",function(e){let s,o;let{axisMin:n,axisMax:r,scrollMin:a,scrollMax:l}=i(t),h=l-a;if(tF(n)&&tF(r)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+h*this.to,o=a+h*this.from):(s=a+h*(1-this.from),o=a+h*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function n(){let t,e,s;let{scrollMin:o,scrollMax:n}=i(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(r&&l){if(this.horiz)this.opposite||(l[1]+=a),r.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=r.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,r.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=r.size+(r.options.margin||0),isNaN(o)||isNaN(n)||!tF(this.min)||!tF(this.max)||this.dataMin===this.dataMax)r.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),r.setRange(e,s)}else e=(this.min-o)/(n-o),s=(this.max-o)/(n-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,s):r.setRange(1-s,1-e)}}t.compose=function(t,i){t_(tY,"Axis.Scrollbar")&&(e=i,tN(t,"afterGetOffset",s),tN(t,"afterInit",o),tN(t,"afterRender",n))}}(b||(b={}));let tV=b,tZ={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:tj}=B(),{addEvent:tK,correctFloat:tq,crisp:t$,defined:tJ,destroyObjectProperties:tQ,fireEvent:t0,merge:t1,pick:t2,removeEvent:t5}=B();class t3{static compose(t){tV.compose(t,t3)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,tQ(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,n=e.g().add(this.group);if(i.push(n),s.buttonsEnabled){let r=e.rect().addClass("highcharts-scrollbar-button").add(n);this.chart.styledMode||r.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),r.attr(r.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},r.strokeWidth()));let a=e.path(t3.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=t1(tZ,tj.scrollbar,e),this.options.margin=t2(this.options.margin,10),this.chart=i,this.size=t2(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:n=0,vertical:r}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,r?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=n):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+n),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:r?0:i-l,translateY:r?s-h:0})}removeEvents(){this._events.forEach(function(t){t5.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-t$(0,n),y:-t$(0,n)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-n,width:i-n,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(t3.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-t$(0,this.scrollbarStrokeWidth),-t$(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,n=o.vertical,r=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!tJ(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=tq(h-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return t2(this.options.liveRedraw,B().svg&&!B().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!tJ(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,t1(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=tq(1-tq(e-t)),e=1),t<0&&(e=tq(e-t),t=0),this.from=t,this.to=e}}t3.defaultOptions=tZ,tj.scrollbar=t1(!0,t3.defaultOptions,tj.scrollbar);var t6=E(540),t4=E.n(t6);let{defaultOptions:t8}=B(),{isTouchDevice:t9}=B(),{prototype:{symbols:t7}}=t4(),{addEvent:et,clamp:ee,correctFloat:ei,defined:es,destroyObjectProperties:eo,erase:en,extend:er,find:ea,fireEvent:el,isArray:eh,isNumber:ed,merge:ep,pick:ec,removeEvent:eu,splat:eg}=B();function em(t,...e){let i=[].filter.call(e,ed);if(i.length)return Math[t].apply(0,i)}class ef{static compose(t,e,i){tn.compose(t,ef),tX.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,n=this.outline.strokeWidth(),r=n/2,a=n%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,p=this.height,c=d-r,u=d+p,g=this.left,m,f;i?(m=d+e+a,e=d+t+a,f=[["M",g+p,d-l-a],["L",g+p,m],["L",g,m],["M",g,e],["L",g+p,e],["L",g+p,d+h+l]],o&&f.push(["M",g+p,m-r],["L",g+p,e+r])):(g-=l,t+=g+l-a,e+=g+l-a,f=[["M",g,c],["L",t,c],["L",t,u],["M",e,u],["L",e,c],["L",g+h+2*l,c]],o&&f.push(["M",t-r,c],["L",e+r,c])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,n,r,a;let l=this.left,h=this.top,d=this.height;i?(r=[l,l,l],a=[h,h+t,h+e],n=[d,d,d],o=[t,e-t,this.size-e]):(r=[l,l+t,l+e],a=[h,h,h],n=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:r[e],y:a[e],width:n[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,n=s.renderer,r={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=n.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=n.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(r))}),t.outline||(t.outline=n.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=t7[h].call(t7,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=n.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(r)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(ep(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),es(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{eu(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(et(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,n=this.xAxis,r=n.pointRange||0,a=n.navigatorAxis.fake?o.xAxis[0]:n,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,p=o.xAxis[0].minRange,c=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,m,f,x=this.scrollbarHeight,b,v;if(this.hasDragged&&!es(i))return;if(this.isDirty&&this.renderElements(),t=ei(t-r/2),e=ei(e+r/2),!ed(t)||!ed(e)){if(!h)return;i=0,s=ec(n.width,a.width)}this.left=ec(n.left,o.plotLeft+u+(d?o.plotWidth:0));let y=this.size=b=ec(n.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:b+2*u,i=ec(i,n.toPixels(t,!0)),s=ec(s,n.toPixels(e,!0)),ed(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=n.toValue(i,!0),A=n.toValue(s,!0),k=Math.abs(ei(A-M));kc&&(this.grabbedLeft?i=n.toPixels(A-c-r,!0):this.grabbedRight&&(s=n.toPixels(M+c+r,!0))),this.zoomedMax=ee(Math.max(i,s),0,y),this.zoomedMin=ee(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),v=h&&!this.hasDragged?"animate":"attr",this.drawMasks(w,y,d,v),this.drawOutline(w,y,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(w,0,d,v),this.drawHandle(y,1,d,v))),this.scrollbar&&(d?(f=this.top-u,m=this.left-x+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),x=b+2*u):(f=this.top+(l?this.height:-x),m=this.left-u),this.scrollbar.position(m,f,g,x),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,el(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,n;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=n=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(et(e.renderTo,"mousemove",o),et(i.ownerDocument,"mouseup",n),et(e.renderTo,"touchmove",o),et(i.ownerDocument,"touchend",n)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(et(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,n){i.push(et(o.element,t,function(t){e[s+"Mousedown"](t,n)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,n=this.size,r=this.range,a=this.left,l=t.chartX,h,d,p,c;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=r,this.dragOffset=l-o):(c=l-a-r/2,0===e?c=Math.max(0,c):2===e&&c+r>=n&&(c=n-r,this.reversedExtremes?(c-=r,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),c!==o&&(this.fixedWidth=r,es((p=s.navigatorAxis.toFixedRange(c,c+r,d,h)).min)&&el(this,"setRange",{min:Math.min(p.min,p.max),max:Math.max(p.min,p.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,n=e.dragOffset,r=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,r&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,ls+n-o&&(l=s+n-o),e.render(0,0,l-n,l-n+o)),e.hasDragged&&e.scrollbar&&ec(e.scrollbar.options.liveRedraw,!t9&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,n,r;let a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,p=a.inverted,c=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(n=this.fixedExtreme),this.zoomedMax===this.size&&(n=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),es((r=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,n)).min)&&el(this,"setRange",{min:Math.min(r.min,r.max),max:Math.max(r.min,r.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&ed(this.zoomedMin)&&ed(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,p,c),this.outline&&this.drawOutline(i,e,p,c),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,p,c),this.drawHandle(e,1,p,c)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){eu(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&eu(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},n=o.enabled,r=s&&i.height||0,a=n&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=n,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,d=h.baseSeries,p=t.xAxis.length,c=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(D())(t,ep({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:p,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:r}:{offsets:e,height:r}),"xAxis"),h.yAxis=new(D())(t,ep(i.yAxis,{alignTicks:!1,offset:0,index:c,isInternal:!0,reversed:ec(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:r}:{height:r}),"yAxis"),d||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=et(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),n=s.len-2*l,r=em("min",s.options.min,o.dataMin),a=em("max",s.options.max,o.dataMax)-r;return i?e*a/n+r:n*(e-r)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=tg.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=ep(t.options.scrollbar,{vertical:t.inverted});!ed(e.margin)&&h.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new t3(t.renderer,e,t),et(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=ec(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,n=o.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:ec(s.parse(n?.min),em("min",s.parse(r.min),i.dataMin,o.dataMin,o.min)),dataMax:ec(s.parse(n?.max),em("max",s.parse(r.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?ea(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,n={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},r=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(eu(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,h=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let p=t.navigatorSeries,c=er({color:t.color,visible:t.visible},eh(h)?t8.navigator.series:h);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;n.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},c.dataLabels=eg(c.dataLabels),(l=ep(a,n,c,d)).pointRange=ec(c.pointRange,d.pointRange,t8.plotOptions[l.type||"line"].pointRange);let u=d.data||c.data;i.hasNavigatorData=i.hasNavigatorData||!!u,l.data=u||a.data?.slice(0),p&&p.options?p.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,r.push(t.navigatorSeries))}),(h.data&&!(o&&o.length)||eh(h))&&(i.hasNavigatorData=!1,(h=eg(h)).forEach((t,e)=>{n.name="Navigator "+(r.length+1),(l=ep(t8.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},n,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,r.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(et(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(et(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(et(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(et(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(et(i,"remove",function(){e&&en(e,i),this.navigatorSeries&&t.series&&(en(t.series,this.navigatorSeries),es(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,n=s.max,r=s.dataMin,a=s.dataMax,l=n-o,h=i.stickToMin,d=i.stickToMax,p=ec(this.ordinal?.convertOverscroll(this.options.overscroll),0),c=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=r)+l),d&&(t=a+p,h||(e=Math.max(r,t-l,i.getBaseSeriesMin(c&&c.xData?c.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&ed(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=ec(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,n=s.min,r=s.options.range;return!!(ed(o)&&ed(n))&&(r&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{eo(t)}),this.navigatorEnabled=!1}}let{fireEvent:ex,isArray:eb,objectEach:ev,uniqueKey:ey}=B(),eM=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||ey(),this.modified=this,this.rowCount=0,this.versionTag=ey();let e=0;ev(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ev(this.columns,e=>{eb(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ev(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ex(this,"afterSetColumns"),this.versionTag=ey())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,n=i?this.rowCount+1:e+1;ev(t,(t,r)=>{let a=o[r]||s?.addColumns!==!1&&Array(n);a&&(i?a.splice(e,0,t):a[e]=t,o[r]=a)}),n>this.rowCount&&this.applyRowCount(n),s?.silent||(ex(this,"afterSetRows"),this.versionTag=ey())}},{addEvent:eA,correctFloat:ek,css:ew,defined:eS,error:eE,isNumber:eC,pick:eT,timeUnits:eB,isString:eO}=B();!function(t){function e(t,i,s,o,n=[],r=0,a){let l={},h=this.options.tickPixelInterval,d=this.chart.time,p=[],c,u,g,m,f,x=0,b=[],v=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!n||n.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let y=n.length;for(c=0;cs,n[c]5*r||f){if(n[c]>v){for(u=d.getTimeTicks(t,n[x],n[c],o);u.length&&u[0]<=v;)u.shift();u.length&&(v=u[u.length-1]),p.push(b.length),b=b.concat(u)}x=c+1}if(f)break}if(u){if(m=u.info,a&&m.unitRange<=eB.hour){for(x=1,c=b.length-1;xt-e),(a=i[Math.floor(i.length/2)])<.6*h&&(a=null),p=b[t-1]>s?t-1:t,r=void 0;p--;)d=Math.abs(r-(n=e[p])),r&&d<.8*h&&(null===a||d<.8*a)?(l[b[p]]&&!l[b[p+1]]?(o=p+1,r=n):o=p,b.splice(o,1)):r=n}return b}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let n=ek((t-i)*s+this.minPixelPadding),r=ek(e.getIndexOfPoint(n,o)),a=ek(r%1);if(r>=0&&r<=o.length-1){let t=o[Math.floor(r)],e=o[Math.ceil(r)];return o[Math.floor(r)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function n(){this.ordinal||(this.ordinal=new t.Additions(this))}function r(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&eS(e.overscroll)&&0!==e.overscroll&&eC(this.max)&&eC(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&eS(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function l(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function h(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,n=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let r=this.mouseDownX,a=e.getExtremes(),l=a.dataMin,h=a.dataMax,d=a.min,p=a.max,c=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((r-s)/(e.translationSlope*(e.ordinal.slope||u))),m=e.ordinal.getExtendedPositions(),f={ordinal:{positions:m,extendedOrdinalPositions:m}},x=e.index2val,b=e.val2lin;if(d<=l&&g<0||p+i>=h&&g>0)return;f.ordinal.positions?Math.abs(g)>1&&(c&&c.forEach(function(t){t.setState()}),h>(o=f.ordinal.positions)[o.length-1]&&o.push(h),this.setFixedRange(p-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(f,[b.apply(f,[d,!0])+g]),x.apply(f,[b.apply(f,[p,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],p)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,ew(this.container,{cursor:"move"})):n=!0}else n=!0;n||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function p(t,e){let i;let s=this.ordinal,n=s.positions,r=s.slope,a;if(!n)return t;let l=n.length;if(n[0]<=t&&n[l-1]>=t)i=o(n,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let l=a.length;r||(r=(a[l-1]-a[0])/l);let h=o(a,n[0]);if(t>=a[0]&&t<=a[l-1])i=o(a,t)-h;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||n)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),m=Math.min(m,eT(t.closestPointRange,m)),a)){for(e=0;e2){for(h=g[1]-g[0],u=a-1;u--&&!f;)g[u+1]-g[u]!==h&&(f=!0);!t.options.keepOrdinalPadding&&(g[0]-s>h||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===a?m=g[1]-g[0]:1===a?(m=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+m]):m=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=m,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=c=(o-s)/(p-d),e.offset=s-d*c):(e.overscrollPointsRange=eT(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=r&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,n;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),r=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),l,h,d=e.index;return d||(d=e.index={}),!d[n]&&((l={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+r}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=l,i.series.forEach(i=>{h={xAxis:l,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:B().noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);h.dataTable=new eM({columns:{x:s}}),h.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},l.series.push(h),i.processData.apply(h)}),l.applyGrouping({hasExtremesChanged:!0}),h?.closestPointRange!==h?.basePointRange&&h.currentDataGrouping&&(l.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:l}),!i.ordinal.originalOrdinalRange&&l.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=l.ordinal.originalOrdinalRange),l.ordinal.positions&&(d[n]=l.ordinal.positions)),d[n]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,n=[],r,a,l=this.groupIntervalFactor;if(!l){for(a=0;at()),eN.splice(t,1);return}}}function eK(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function eq(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;if(e&&e.enabled&&!ez(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new g(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o){let t=e&&e.verticalAlign||o.options&&o.options.verticalAlign;o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}let e$={compose:function(t,e,i){if(g=i,eY(eG,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=eF,eI(e,"afterGetContainer",e_),eI(e,"beforeRender",eV),eI(e,"destroy",ej),eI(e,"getMargins",eK),eI(e,"redraw",eZ),eI(e,"update",eq),eI(e,"beforeRedraw",eU),i.callbacks.push(eZ),eL(eR,{rangeSelector:eP.rangeSelector}),eL(eR.lang,eP.lang)}}};var eJ=E(28),eQ=E.n(eJ);let{defaultOptions:e0}=B(),{addEvent:e1,createElement:e2,css:e5,defined:e3,destroyObjectProperties:e6,diffObjects:e4,discardElement:e8,extend:e9,fireEvent:e7,isNumber:it,isString:ie,merge:ii,objectEach:is,pick:io,splat:ir}=B();function ia(t){let e=e=>RegExp(`%[[a-zA-Z]*${e}`).test(t);if(ie(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=ie(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=ie(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class il{static compose(t,e){e$.compose(t,e,il)}constructor(t){this.isDirty=!1,this.buttonOptions=il.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],n=i.scroller&&i.scroller.getUnionExtremes()||o||{},r=s.type,a=s.dataGrouping,l=n.dataMin,h=n.dataMax,d,p=it(o?.max)?Math.round(Math.min(o.max,h??o.max)):void 0,c,u=s._range,g,m,f,x=!0;if(null!==l&&null!==h){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,D().prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===r||"year"===r)o?(m={range:s,max:p,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(m),it(m.newMax)&&(p=m.newMax),x=!1):u=s;else if(u)it(p)&&(p=Math.min((d=Math.max(p-u,l))+u,h),x=!1);else if("ytd"===r){if(o)!o.hasData()||it(h)&&it(l)||(l=Number.MAX_VALUE,h=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(l=Math.min(e[0],l),h=Math.max(e[e.length-1],h))}),e=!1),it(h)&&it(l)&&(d=g=(f=this.getYTDExtremes(h,l)).min,p=f.max);else{this.deferredYTDClick=t;return}}else"all"===r&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,p=h);if(x&&s._offsetMin&&e3(d)&&(d+=s._offsetMin),s._offsetMax&&e3(p)&&(p+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)it(d)&&it(p)&&(o.setExtremes(d,p,io(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{c=ir(i.options.xAxis||{})[0];let t=e1(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});e1(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=c.range,e.options.min=c.min,t()})}e7(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,n=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&e7(t,"blur"),i&&i.blur&&e7(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(e1(t.container,"mousedown",n)),this.eventsToUnbind.push(e1(t,"resize",n)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(e1(t,"load",function(){t.xAxis&&t.xAxis[0]&&e1(t.xAxis[0],"setExtremes",function(i){it(this.max)&&it(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],n=Math.round(o.max-o.min),r=!o.hasVisibleSeries,a=24*36e5,l=e.scroller&&e.scroller.getUnionExtremes()||o,h=l.dataMin,d=l.dataMax,p=t.getYTDExtremes(d,h),c=p.min,u=p.max,g=t.selected,m=t.options.allButtonsEnabled,f=Array(t.buttonOptions.length).fill(0),x=it(g),b=t.buttons,v=!1,y=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,l=e.type,p=e.count||1,b=e._offsetMax-e._offsetMin,M=i===g,A=s>d-h,k=ss&&(S=!0)}else("month"===l||"year"===l)&&n+36e5>=({month:28,year:365})[l]*a*p-b&&n-36e5<=({month:31,year:366})[l]*a*p+b?S=!0:"ytd"===l?(S=u-c+b===n,w=!M):"all"===l&&(S=o.max-o.min>=d-h);let E=!m&&!(v&&"all"===l)&&(A||k||r),C=v&&"all"===l||!w&&S||M&&t.frozenStates;E?f[i]=3:C&&(!x||i===g)&&(y=i)}),null!==y?(f[y]=2,t.setSelected(y),this.dropdown&&(this.dropdown.selectedIndex=y+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(e0.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?p=void 0:pl&&(p=l)),void 0!==p&&n.setExtremes(h?p:n.min,h?n.max:p,void 0,void 0,{trigger:"rangeSelectorInput"}))}let p=l[h?"rangeSelectorFrom":"rangeSelectorTo"]||"",c=r.label(p,0).addClass("highcharts-range-label").attr({padding:p?2:0,height:p?a.inputBoxHeight:0}).add(s),u=r.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=e2("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",ia(a.inputDateFormat||"%e %b %Y")),e.styledMode||(c.css(ii(n,a.labelStyle)),u.css(ii({color:"#333333"},n,a.inputStyle)),e5(g,e9({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:n.fontSize,fontFamily:n.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===B().doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let m=!1;return g.onchange=()=>{m||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{m=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{m=!1},{dateBox:u,input:g,label:c}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,n=o.inputEnabled,r=io(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=e2("div",void 0,{position:"relative",height:0,zIndex:r}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),n&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(e3(o.dataMin)&&e3(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=e0.lang,o=e.renderer,n=ii(i.buttonTheme),r=n&&n.states;delete n.width,delete n.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=e2("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),l=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},ii(n,{"stroke-width":io(n["stroke-width"],0),width:"auto",paddingLeft:io(i.buttonTheme.paddingLeft,l?.padding,8),paddingRight:io(i.buttonTheme.paddingRight,l?.padding,8)}),r&&r.hover,r&&r.select,r&&r.disabled).hide().add(this.group),e1(a,"touchstart",()=>{a.style.fontSize="16px"});let h=B().isMS?"mouseover":"mouseenter",d=B().isMS?"mouseout":"mouseleave";e1(a,h,()=>{e7(this.dropdownLabel.element,h)}),e1(a,d,()=>{e7(this.dropdownLabel.element,d)}),e1(a,"change",()=>{e7(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),e2("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=ii(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:n,chart:r,options:a}=this,l=r.renderer,h=ii(a.buttonTheme);o?.add(e2("option",{textContent:t.title||t.text}),e+2),n[e]=l.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},h,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&n[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:n,zoomText:r}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:p}=n,c=(t,e,s)=>l&&this.titleCollision(i)&&"top"===p&&s&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;r&&(t+=r.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=n.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=c(t,h,"right"===h.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;n.inputEnabled&&o&&(l=c(o,d,"right"===h.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:p},!0,i.spacingBox);let g=s.alignAttr.translateY,m=s.getBBox().height+20,f=0;if("bottom"===p){let t=i.legend&&i.legend.options;f=g-(m=m+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+io(t.margin,10):0)-20)-(n.floating?0:n.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===p?(n.floating&&(f=0),i.titleOffset&&i.titleOffset[0]&&(f=i.titleOffset[0]),f+=i.margin[0]-i.spacing[0]||0):"middle"===p&&(d.y===h.y?f=g:(d.y||h.y)&&(d.y<0||h.y<0?f-=Math.min(d.y,h.y):f=g-m)),s.translate(n.x,n.y+Math.floor(f));let{minInput:x,maxInput:b,dropdown:v}=this;n.inputEnabled&&x&&b&&(x.style.marginTop=s.translateY+"px",b.style.marginTop=s.translateY+"px"),v&&(v.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=ii(s.buttonTheme),n=o&&o.states,r=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(e4(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,r,n),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i&&(r.align===o.align?(a(),this.initialButtonGroupWidth>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):this.initialButtonGroupWidth-t+s.getBBox().width>e.plotWidth?"responsive"===n?this.collapseButtons():a():this.expandButtons()),i&&("always"===n&&this.collapseButtons(),"never"===n&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),e5(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),e5(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,n=s.y,r=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(r,n);return(r<0&&n<0||r>0&&n>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(ii(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),e3(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),e6(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),is(t,function(e,i){e&&"chart"!==i&&(e instanceof eQ()?e.destroy():e instanceof window.HTMLElement&&e8(e),delete t[i]),e!==il.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}e9(il.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});var ih=E(960),id=E.n(ih),ip=E(984),ic=E.n(ip);let{format:iu}=ic(),{getOptions:ig}=B(),{setFixedRange:im}=tD,{addEvent:ix,clamp:ib,crisp:iv,defined:iy,extend:iM,find:iA,isNumber:ik,isString:iw,merge:iS,pick:iE,splat:iC}=B();function iT(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!!(e.categories||"category"===e.type),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function iB(t,e){if("xAxis"===t){let t=iE(e.navigator&&e.navigator.enabled,tM.enabled,!0),i={type:"datetime",categories:void 0};return t&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class iO extends id(){init(t,e){let i=ig(),s=t.xAxis,o=t.yAxis,n=iE(t.navigator&&t.navigator.enabled,tM.enabled,!0);t.xAxis=t.yAxis=void 0;let r=iS({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:n},scrollbar:{enabled:iE(tZ.enabled,!0)},rangeSelector:{enabled:iE(eP.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:iE(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=s,t.yAxis=o,r.xAxis=iC(t.xAxis||{}).map(e=>iS(iT("xAxis",e,i.xAxis),e,iB("xAxis",t))),r.yAxis=iC(t.yAxis||{}).map(t=>iS(iT("yAxis",t,i.yAxis),t)),super.init(r,e)}createAxis(t,e){return e.axis=iS(iT(t,e.axis,ig()[t]),e.axis,iB(t,this.userOptions)),super.createAxis(t,e)}}ix(id(),"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(iS(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),function(t){function e(t){if(!(this.crosshair?.label?.enabled&&this.cross&&ik(this.min)&&ik(this.max)))return;let e=this.chart,i=this.logarithmic,s=this.crosshair.label,o=this.horiz,n=this.opposite,r=this.left,a=this.top,l=this.width,h="inside"===this.options.tickPosition,d=!1!==this.crosshair.snap,p=t.e||this.cross?.e,c=t.point,u=this.crossLabel,g,m,f=s.format,x="",b,v=0,y=this.min,M=this.max;i&&(y=i.lin2log(this.min),M=i.lin2log(this.max));let A=o?"center":n?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";u||(u=this.crossLabel=e.renderer.label("",0,void 0,s.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(c&&c.series?c.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:s.align||A,padding:iE(s.padding,8),r:iE(s.borderRadius,3),zIndex:2}).add(this.labelGroup),e.styledMode||u.attr({fill:s.backgroundColor||c&&c.series&&c.series.color||"#666666",stroke:s.borderColor||"","stroke-width":s.borderWidth||0}).css(iM({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},s.style||{}))),o?(g=d?(c.plotX||0)+r:p.chartX,m=a+(n?0:this.height)):(g=r+this.offset+(n?l:0),m=d?(c.plotY||0)+a:p.chartY),f||s.formatter||(this.dateTime&&(x="%b %d, %Y"),f="{value"+(x?":"+x:"")+"}");let k=d?this.isXAxis?c.x:c.y:this.toValue(o?p.chartX:p.chartY),w=c&&c.series?c.series.isPointInside(c):ik(k)&&k>y&&k=b.right&&(v=-(C+E.width-b.right)),u.attr({x:Math.max(0,g+v),y:Math.max(0,m),anchorX:o?g:this.opposite?0:e.chartWidth,anchorY:o?this.opposite?e.chartHeight:0:m+E.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function o(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function n(t){let e=this,i=e.isLinked&&!e.series&&e.linkedParent?e.linkedParent.series:e.series,s=e.chart,o=s.renderer,n=e.left,r=e.top,a=[],l=t.translatedValue,h=t.value,d=t.force,p,c,u,g,m=[],f,x;if(s.options.isStock&&!1!==t.acrossPanes&&"xAxis"===e.coll||"yAxis"===e.coll){for(let o of(t.preventDefault(),m=(t=>{let o="xAxis"===t?"yAxis":"xAxis",n=e.options[o];return ik(n)?[s[o][n]]:iw(n)?[s.get(n)]:i.map(t=>t[o])})(e.coll),e.isXAxis?s.yAxis:s.xAxis))if(!o.options.isInternal){let t=o.isXAxis?"yAxis":"xAxis";e===(iy(o.options[t])?s[t][o.options[t]]:s[t][0])&&m.push(o)}for(let t of(f=m.length?[]:[e.isXAxis?s.yAxis[0]:s.xAxis[0]],m))-1!==f.indexOf(t)||iA(f,e=>e.pos===t.pos&&e.len===t.len)||f.push(t);if(ik(x=iE(l,e.translate(h||0,void 0,void 0,t.old)))){if(e.horiz)for(let t of f){let i;g=(c=t.pos)+t.len,p=u=Math.round(x+e.transB),"pass"!==d&&(pn+e.width)&&(d?p=u=ib(p,n,n+e.width):i=!0),i||a.push(["M",p,c],["L",u,g])}else for(let t of f){let i;u=(p=t.pos)+t.len,c=g=Math.round(r+e.height-x),"pass"!==d&&(cr+e.height)&&(d?c=g=ib(c,r,r+e.height):i=!0),i||a.push(["M",p,c],["L",u,g])}}t.path=a.length>0?o.crispPolyLine(a,t.lineWidth||1):void 0}}function r(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=iS(t.plotOptions[this.type],e))}}function a(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&iE(e.enabled,t.options.isStock)}function l(t,e){for(let i=0;i`plot${t.charAt(0).toUpperCase()+t.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(i,n){let r=o[i];null!==r&&(t.dataModify&&(r=t.dataModify.modifyValue(r)),o[s[n]]=e.toPixels(r,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}iL.defaultOptions=iz(iR.defaultOptions,{lineWidth:1,tooltip:{pointFormat:' {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),iI(iL.prototype,{pointClass:class extends iP{},animate:null,directTouch:!1,keysAffectYAxis:["low","high"],pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),tb().registerSeriesType("hlc",iL);let{seriesTypes:{hlc:iW}}=tb();class iH extends iW.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}),iU(iK.prototype,{pointClass:iH,pointArrayMap:["open","high","low","close"]}),tb().registerSeriesType("ohlc",iK);let{column:iq,ohlc:i$}=tb().seriesTypes,{crisp:iJ,merge:iQ}=B();class i0 extends i${pointAttribs(t,e){let i=iq.prototype.pointAttribs.call(this,t,e),s=this.options,o=t.openo&&(i-=Math.round((n-o)/2),o=n),a=t[e](i,s,o,n,r),l&&h){let r=l;if("circle"===e)r=i+o/2;else{let t=a[0],e=a[1];"M"===t[0]&&"L"===e[0]&&(r=(t[1]+e[1])/2)}let d=s>h?s:s+n;a.push(["M",r,d],["L",l,h]),a=a.concat(t.circle(l-1,h-1,2,2))}return a}}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let o=t.prototype.symbols;o.flag=i,s(o,"circle"),s(o,"square")}let o=tB().getRendererType();e.indexOf(o)&&e.push(o)}}(y||(y={}));let i3=y;var i6=E(448),i4=E.n(i6);let{composed:i8}=B(),{prototype:i9}=i4(),{prototype:i7}=I(),{defined:st,pushUnique:se,stableSort:si}=B();!function(t){function e(t){return i7.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){i9.translate.apply(this);let t=this,e=t.options,i=t.chart,s=t.points,o=e.onSeries,n=o&&i.get(o),r=n&&n.options.step,a=n&&n.points,l=i.inverted,h=t.xAxis,d=t.yAxis,p=s.length-1,c,u,g=e.onKey||"y",m=a&&a.length,f=0,x,b,v,y,M;if(n&&n.visible&&m){for(f=(n.pointXOffset||0)+(n.barW||0)/2,y=n.currentDataGrouping,b=a[m-1].x+(y?y.totalRange:0),si(s,(t,e)=>t.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);m--&&s[p];)if(x=a[m],(c=s[p]).y=x.y,x.x<=c.x&&void 0!==x[g]){if(c.x<=b&&(c.plotY=x[g],x.xMath.pow(1-o,3)*t[n]+3*(1-o)*(1-o)*o*i[n]+3*(1-o)*o*o*s[n]+o*o*o*e[n],n=0,r=1,a;for(let t=0;t<100;t++){let t=(n+r)/2,e=o(t,0);if(null===e)break;if(.25>Math.abs(e-c.plotX)){a=t;break}e{let o;e.plotX+=f,(void 0===e.plotY||l)&&(e.plotX>=0&&e.plotX<=h.len?l?(e.plotY=h.translate(e.x,0,1,0,1),e.plotX=st(e.y)?d.translate(e.y,0,0,0,1):0):e.plotY=(h.opposite?0:t.yAxis.len)+h.offset:e.shapeArgs={}),(u=s[i-1])&&u.plotX===e.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),o=u.stackIndex+1),e.stackIndex=o}),this.onSeries=n}t.compose=function(t){if(se(i8,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(M||(M={}));let ss=M,{noop:so}=B(),{distribute:sn}=B(),{series:sr,seriesTypes:{column:sa}}=tb(),{addEvent:sl,defined:sh,extend:sd,isNumber:sp,merge:sc,objectEach:su,wrap:sg}=B();class sm extends sa{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,n,r,a,l,h,d;let p=this.points,c=this.chart,u=c.renderer,g=c.inverted,m=this.options,f=m.y,x=this.yAxis,b={},v=[],y=sp(m.borderRadius)?m.borderRadius:0;for(s=p.length;s--;)o=p[s],h=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,r=o.stackIndex,i=o.options.shape||m.shape,void 0!==(e=o.plotY)&&(e=o.plotY+f-(void 0!==r&&r*m.stackDistance)),o.anchorX=r?void 0:o.plotX,a=r?void 0:o.plotY,d="flag"!==i,n=o.graphic,void 0!==e&&t>=0&&!h?(n&&o.hasNewShapeType()&&(n=n.destroy()),n||(n=o.graphic=u.label("",0,void 0,i,void 0,void 0,m.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),n.isNew=!0),n.attr({align:d?"center":"left",width:m.width,height:m.height,"text-align":m.textAlign,r:y}),c.styledMode||n.attr(this.pointAttribs(o)).css(sc(m.style,o.style)).shadow(m.shadow),t>0&&(t-=n.strokeWidth()%2),l={y:e,anchorY:a},m.allowOverlapX&&(l.x=t,l.anchorX=o.anchorX),n.attr({text:o.options.title??m.title??"A"})[n.isNew?"attr":"animate"](l),m.allowOverlapX||(b[o.plotX]?b[o.plotX].size=Math.max(b[o.plotX].size,n.width||0):b[o.plotX]={align:d?.5:0,size:n.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+x.pos-c.plotTop]):n&&(o.graphic=n.destroy());if(!m.allowOverlapX){let t=100;for(let e of(su(b,function(e){e.plotX=e.anchorX,v.push(e),t=Math.max(e.size,t)}),sn(v,g?x.len:this.xAxis.len,t),p)){let t=e.plotX,i=e.graphic,s=i&&b[t];s&&i&&(sh(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}m.useHTML&&this.markerGroup&&sg(this.markerGroup,"on",function(t){return eQ().prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=sl(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,n=t&&t.lineWidth,r=t&&t.fillColor||i.fillColor;return e&&(r=i.states[e].fillColor,o=i.states[e].lineColor,n=i.states[e].lineWidth),{fill:r||s,stroke:o||s,"stroke-width":n||i.lineWidth||0}}setClip(){sr.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}sm.compose=i3.compose,sm.defaultOptions=sc(sa.defaultOptions,{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}),ss.compose(sm),sd(sm.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:i5,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:so,init:sr.prototype.init}),tb().registerSeriesType("flags",sm);var sf=E(184),sx=E.n(sf);let{addEvent:sb,find:sv,fireEvent:sy,isArray:sM,isNumber:sA,pick:sk}=B();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,r;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);n--;)if(r&&!1!==r.visible||(r=i[n+1]),t=i[n],!1!==r.visible&&!1!==t.visible){if(r.x-t.x>o){let e=(t.x+r.x)/2;i.splice(n+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(sx())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}r=t}}return this.getGraphPath(i)}t.compose=function(t,h){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),sb(t,"init",o),sb(t,"afterInit",e),sb(t,"afterSetTickPositions",s),sb(t,"afterSetOptions",i);let d=h.prototype;d.drawBreaks=a,d.gappedPath=l,sb(h,"afterGeneratePoints",n),sb(h,"afterRender",r)}return t};class h{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,n=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?n<=o:n=s);n++)o.to=t)break;else if(h.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return sv(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),n||s.val2lin!==h.val2Lin||(delete s.val2lin,delete s.lin2val),n&&(s.userOptions.ordinal=!1,s.lin2val=h.lin2Val,s.val2lin=h.val2Lin,s.setExtremes=function(t,e,o,n,r){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)c-=l;for(;cthis.chart.plotSizeX/i||o&&n.forced)&&(s=!0));return s?i:0}function sN(){this.series.forEach(function(t){t.hasProcessed=!1})}function sF(t,e){let i;if(e=sH(e,!0),t||(t={forced:!1,units:null}),this instanceof m)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:sW(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}let sU={compose:function(t){m=t;let e=t.prototype;e.applyGrouping||(sz(t,"afterSetScale",sN),sz(t,"postProcessData",sX),sL(e,{applyGrouping:sX,getGroupPixelWidth:sY,setDataGrouping:sF}))}},{addEvent:s_,getMagnitude:sV,normalizeTickInterval:sZ,timeUnits:sj}=B();!function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,s_(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],s=i[i.length-1],o=sj[s[0]],n=s[1],r;for(r=0;r=e[0]){let i;p++;let s=t.groupMap[0].start,r=t.groupMap[0].length;s1(s)&&s1(r)&&(i=s+(r-1)),e[0]=({start:e[0],middle:e[0]+.5*o,end:e[0]+o,firstPoint:n[0],lastPoint:i&&n[i]})[l]}if(r>0&&h&&o&&e[r]>=i-o){d--;let i=t.groupMap[t.groupMap.length-1].start;e[r]=({start:e[r],middle:e[r]+.5*o,end:e[r]+o,firstPoint:i&&n[i],lastPoint:n[n.length-1]})[h]}if(a&&"start"!==a){let t=o*({middle:.5,end:1})[a];for(;d>=p;)e[d]+=t,d--}}(this,A||[],r),a&&A&&(sJ((e=A)[0])&&s1(f.min)&&s1(f.dataMin)&&e[0]f.max&&((!sJ(f.options.max)&&s1(f.dataMax)&&f.max>=f.dataMax||f.max===f.dataMax)&&(f.max=Math.max(e[e.length-1],f.max)),f.dataMax=Math.max(e[e.length-1],f.dataMax))),n.groupAll&&(this.allGroupedTable=M,A=(M=(d=this.cropData(M,f.min||0,f.max||0)).modified).getColumn("x"),this.cropStart=d.start),this.dataTable.modified=M}else this.groupMap=void 0,this.currentDataGrouping=void 0;this.hasGroupedData=s,this.preventGraphAnimation=(l&&l.totalRange)!==(h&&h.totalRange)}function s8(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function s9(){s6.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function s7(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function ot(t,e,i){let s=t.getColumn("x",!0)||[],o=t.getColumn("y",!0),n=this,r=n.data,a=n.options&&n.options.data,l=[],h=new eM,d=[],p=t.rowCount,c=!!o,u=[],g=n.pointArrayMap,m=g&&g.length,f=["x"].concat(g||["y"]),x=(g||["y"]).map(()=>[]),b=this.options.dataGrouping&&this.options.dataGrouping.groupAll,v,y,M,A=0,k=0,w="function"==typeof i?i:i&&sE[i]?sE[i]:sE[n.getDGApproximation&&n.getDGApproximation()||"average"];if(m){let t=g.length;for(;t--;)u.push([])}else u.push([]);let S=m||1;for(let t=0;t<=p;t++)if(!(s[t]=e[A+1]||t===p;){if(v=e[A],n.dataGroupInfo={start:b?k:n.cropStart+k,length:u[0].length,groupStart:v},M=w.apply(n,u),n.pointClass&&!sJ(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=s2(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+k])),f.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==M){l.push(v);let t=s3(M);for(let e=0;e{E[t]=x[e]}),h.setColumns(E),{groupMap:d,modified:h}}function oe(t){let e=t.options,i=this.type,s=this.chart.options.plotOptions,o=this.useCommonDataGrouping&&sI.common,n=sI.seriesSpecific,r=B().defaultOptions.plotOptions[i].dataGrouping;if(s&&(n[i]||o)){let t=this.chart.rangeSelector;r||(r=s2(sI.common,n[i])),e.dataGrouping=s2(o,r,s.series&&s.series.dataGrouping,s[i].dataGrouping,this.userOptions.dataGrouping,!e.isInternal&&t&&s1(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}let oi={compose:function(t){let e=t.prototype;e.applyGrouping||(s$(t.prototype.pointClass,"update",function(){if(this.dataGroup)return sQ(24,!1,this.series.chart),!1}),s$(t,"afterSetOptions",oe),s$(t,"destroy",s8),s0(e,{applyGrouping:s4,destroyGroupedData:s8,generatePoints:s9,getDGApproximation:s7,groupData:ot}))},groupData:ot},{format:os}=ic(),{composed:oo}=B(),{addEvent:on,extend:or,isNumber:oa,pick:ol,pushUnique:oh}=B();function od(t){let e=this.chart,i=e.time,s=t.point,o=s.series,n=o.options,r=o.tooltipOptions,a=n.dataGrouping,l=o.xAxis,h=r.xDateFormat||"",d,p,c,u,g,m=r[t.isFooter?"footerFormat":"headerFormat"];if(l&&"datetime"===l.options.type&&a&&oa(s.key)){p=o.currentDataGrouping,c=a.dateTimeLabelFormats||sI.common.dateTimeLabelFormats,p?(u=c[p.unitName],1===p.count?h=u[0]:(h=u[1],d=u[2])):!h&&c&&l.dateTime&&(h=l.dateTime.getXDateFormat(s.x,r.dateTimeLabelFormats));let n=ol(o.groupMap?.[s.index].groupStart,s.key),f=n+(p?.totalRange||0)-1;g=i.dateFormat(h,n),d&&(g+=i.dateFormat(d,f)),o.chart.styledMode&&(m=this.styledModeFormat(m)),t.text=os(m,{point:or(s,{key:g}),series:o},e),t.preventDefault()}}let op={compose:function(t,e,i){sU.compose(t),oi.compose(e),i&&oh(oo,"DataGrouping")&&on(i,"headerFormatter",od)},groupData:oi.groupData},oc=B();oc.dataGrouping=oc.dataGrouping||{},oc.dataGrouping.approximationDefaults=oc.dataGrouping.approximationDefaults||sG,oc.dataGrouping.approximations=oc.dataGrouping.approximations||sE,op.compose(oc.Axis,oc.Series,oc.Tooltip);let{defined:ou,isNumber:og,pick:om}=B(),of={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:ox,isObject:ob,pick:ov,defined:oy,merge:oM}=B(),{getAssignedAxis:oA}={annotationsFieldsTypes:of,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=om(t.axis.minPointOffset,0);return og(i)&&og(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=of[t],s=typeof e;return ou(i)&&(s=i),({string:"text",number:"number",boolean:"checkbox"})[s]}},ok=[],ow={enabled:!0,sensitivity:1.1},oS=t=>(ob(t)||(t={enabled:t??!0}),oM(ow,t)),oE=function(t,e,i,s,o,n,r){let a=ov(r.type,t.zooming.type,""),l=[];"x"===a?l=i:"y"===a?l=s:"xy"===a&&(l=t.axes);let h=t.transform({axes:l,to:{x:o-5,y:n-5,width:10,height:10},from:{x:o-5*e,y:n-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return h&&(oy(f)&&clearTimeout(f),f=setTimeout(()=>{t.pointer?.drop()},400)),h};function oC(){let t=oS(this.zooming.mouseWheel);t.enabled&&ox(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:i}=this,s=i&&!i.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&s){let s=t.sensitivity||1.1,o=e.detail||(e.deltaY||0)/120,n=oA(i.getCoordinates(e).xAxis),r=oA(i.getCoordinates(e).yAxis);oE(this,Math.pow(s,o),n?[n.axis]:this.xAxis,r?[r.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}/** - * @license Highcharts JS v12.1.0 (2024-12-17) + */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Chart,t._Highcharts.Templating,t._Highcharts.Series.types.column,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/stock",["highcharts/highcharts"],function(t){return e(t,t.Axis,t.Point,t.Series,t.Color,t.SeriesRegistry,t.RendererRegistry,t.SVGRenderer,t.SVGElement,t.Chart,t.Templating,t.Series,["types"],["column"],t.StackItem)}):"object"==typeof exports?exports["highcharts/modules/stock"]=e(t._Highcharts,t._Highcharts.Axis,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.RendererRegistry,t._Highcharts.SVGRenderer,t._Highcharts.SVGElement,t._Highcharts.Chart,t._Highcharts.Templating,t._Highcharts.Series.types.column,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.Axis,t.Highcharts.Point,t.Highcharts.Series,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.RendererRegistry,t.Highcharts.SVGRenderer,t.Highcharts.SVGElement,t.Highcharts.Chart,t.Highcharts.Templating,t.Highcharts.Series.types.column,t.Highcharts.StackItem)}("undefined"==typeof window?this:window,(t,e,i,s,o,n,r,a,l,h,d,p,c)=>(()=>{"use strict";let u,g,m,f;var x,b,v,y,M,A,k,w={532:t=>{t.exports=e},960:t=>{t.exports=h},620:t=>{t.exports=o},260:t=>{t.exports=i},608:t=>{t.exports=r},28:t=>{t.exports=l},540:t=>{t.exports=a},448:t=>{t.exports=p},820:t=>{t.exports=s},512:t=>{t.exports=n},184:t=>{t.exports=c},984:t=>{t.exports=d},944:e=>{e.exports=t}},S={};function E(t){var e=S[t];if(void 0!==e)return e.exports;var i=S[t]={exports:{}};return w[t](i,i.exports,E),i.exports}E.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return E.d(e,{a:e}),e},E.d=(t,e)=>{for(var i in e)E.o(e,i)&&!E.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},E.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var C={};E.d(C,{default:()=>oO});var T=E(944),B=E.n(T),O=E(532),D=E.n(O),P=E(260),R=E.n(P),G=E(820),I=E.n(G);let{tooltipFormatter:z}=R().prototype,{addEvent:L,arrayMax:W,arrayMin:H,correctFloat:X,defined:Y,isArray:N,isNumber:F,isString:U,pick:_}=B();!function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach(function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||U(e)||i.setCumulative(e,!1)}),_(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],_(e.series.tooltipOptions.changeDecimals,2)))};return Y(e.change)&&s("change"),Y(e.cumulativeSum)&&s("cumulativeSum"),z.apply(this,[t])}function s(){let t;let e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new d(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function o(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&N(i)&&i.length>=2&&(t=d.getCumulativeExtremes(i)),t&&(e.dataMin=H(t),e.dataMax=W(t))}}function n(t,e){this.options.compare=this.userOptions.compare=t,this.update({},_(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(t=>{delete t.change})}function r(){let t=this.getColumn(this.pointArrayMap&&(this.options.pointValKey||this.pointValKey)||"y",!0);if(this.xAxis&&t.length&&this.dataModify){let e=this.getColumn("x",!0),i=this.dataTable.rowCount,s=!0===this.options.compareStart?0:1;for(let o=0;o=(this.xAxis.min||0)){this.dataModify.compareValue=i;break}}}}function a(t,e){this.setModifier("compare",t,e)}function l(t,e){t=_(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},_(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function h(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,d,p){let c=d.prototype,u=p.prototype,g=t.prototype;return g.setCompare||(g.setCompare=n,g.setCumulative=l,L(t,"afterInit",s),L(t,"afterGetExtremes",o),L(t,"afterProcessData",r)),c.setCompare||(c.setCompare=a,c.setModifier=e,c.setCumulative=h,u.tooltipFormatter=i),t};class d{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce((t,s)=>{let o=t+s;return e=Math.min(e,o,t),i=Math.max(i,o,t),o}),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-(100===this.series.options.compareBase?0:100),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=X(i.cumulativeSum+t));let s=this.series.points[e],o=s.series.options.cumulativeStart,n=s.x<=this.series.xAxis.max&&s.x>=this.series.xAxis.min;return s&&(!o||n?s.cumulativeSum=t:s.cumulativeSum=void 0),t}return 0}}}t.Additions=d}(x||(x={}));let V=x,{isTouchDevice:Z}=B(),{addEvent:j,merge:K,pick:q}=B(),$=[];function J(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function Q(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:n,scrollButtonSize:r}=o;this.inverted?(o.left=o.opposite?this.chartWidth-n-o.height:this.spacing[3]+n,o.top=this.plotTop+r):(o.left=q(e.left,this.plotLeft+r),o.top=o.navigatorOptions.top||this.chartHeight-o.height-n-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+q(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function tt(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new u(this),q(t.redraw,!0)&&this.redraw(t.animation))}function te(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new u(this))}function ti(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!Z&&"x"===this.zooming.type||Z&&"x"===this.zooming.pinchType))return!1}function ts(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function to(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(K(!0,this.options.navigator,e),K(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let tn={compose:function(t,e){if(B().pushUnique($,t)){let i=t.prototype;u=e,i.callbacks.push(ts),j(t,"afterAddSeries",J),j(t,"afterSetChartSize",Q),j(t,"afterUpdate",tt),j(t,"beforeRender",te),j(t,"beforeShowResetZoom",ti),j(t,"update",to)}}},{isTouchDevice:tr}=B(),{addEvent:ta,correctFloat:tl,defined:th,isNumber:td,pick:tp}=B();function tc(){this.navigatorAxis||(this.navigatorAxis=new tg(this))}function tu(t){let e;let i=this.chart,s=i.options,o=s.navigator,n=this.navigatorAxis,r=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||tr&&"xy"===r)&&this.options.range){let e=n.previousZoom;th(t.min)?n.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],n.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class tg{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),ta(t,"init",tc),ta(t,"setExtremes",tu))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,n=(o.pointRange||0)/2,r=tp(i,o.translate(t,!0,!o.horiz)),a=tp(s,o.translate(e,!0,!o.horiz));return th(i)||(r=tl(r+n)),th(s)||(a=tl(a-n)),td(r)&&td(a)||(r=a=void 0),{min:r,max:a}}}var tm=E(620),tf=E.n(tm),tx=E(512),tb=E.n(tx);let{parse:tv}=tf(),{seriesTypes:ty}=tb(),tM={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:tv("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===ty.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{defined:tA,isNumber:tk,pick:tw}=B(),tS={rect:function(t,e,i,s,o){return o&&o.r?function(t,e,i,s,o){let n=o?.r||0;return[["M",t+n,e],["L",t+i-n,e],["A",n,n,0,0,1,t+i,e+n],["L",t+i,e+s-n],["A",n,n,0,0,1,t+i-n,e+s],["L",t+n,e+s],["A",n,n,0,0,1,t,e+s-n],["L",t,e+n],["A",n,n,0,0,1,t+n,e],["Z"]]}(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}},{relativeLength:tE}=B(),tC={"navigator-handle":function(t,e,i,s,o={}){let n=o.width?o.width/2:i,r=tE(o.borderRadius||0,Math.min(2*n,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...tS.rect(-n-1,.5,2*n+1,s,{r})]}};var tT=E(608),tB=E.n(tT);let{defined:tO}=B(),tD={setFixedRange:function(t){let e=this.xAxis[0];tO(e.dataMax)&&tO(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{setOptions:tP}=B(),{composed:tR}=B(),{getRendererType:tG}=tB(),{setFixedRange:tI}=tD,{addEvent:tz,extend:tL,pushUnique:tW}=B();function tH(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let tX={compose:function(t,e,i){tg.compose(e),tW(tR,"Navigator")&&(t.prototype.setFixedRange=tI,tL(tG().prototype.symbols,tC),tz(i,"afterUpdate",tH),tP({navigator:tM}))}},{composed:tY}=B(),{addEvent:tN,defined:tF,pick:tU,pushUnique:t_}=B();!function(t){let e;function i(t){let e=tU(t.options&&t.options.min,t.min),i=tU(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:tF(t.dataMin)?Math.min(e,t.min,t.dataMin,tU(t.threshold,1/0)):e,scrollMax:tF(t.dataMax)?Math.max(i,t.max,t.dataMax,tU(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),tN(t.scrollbar,"changed",function(e){let s,o;let{axisMin:n,axisMax:r,scrollMin:a,scrollMax:l}=i(t),h=l-a;if(tF(n)&&tF(r)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+h*this.to,o=a+h*this.from):(s=a+h*(1-this.from),o=a+h*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function n(){let t,e,s;let{scrollMin:o,scrollMax:n}=i(this),r=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(r&&l){if(this.horiz)this.opposite||(l[1]+=a),r.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=r.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,r.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=r.size+(r.options.margin||0),isNaN(o)||isNaN(n)||!tF(this.min)||!tF(this.max)||this.dataMin===this.dataMax)r.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),r.setRange(e,s)}else e=(this.min-o)/(n-o),s=(this.max-o)/(n-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(e,s):r.setRange(1-s,1-e)}}t.compose=function(t,i){t_(tY,"Axis.Scrollbar")&&(e=i,tN(t,"afterGetOffset",s),tN(t,"afterInit",o),tN(t,"afterRender",n))}}(b||(b={}));let tV=b,tZ={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:tj}=B(),{addEvent:tK,correctFloat:tq,crisp:t$,defined:tJ,destroyObjectProperties:tQ,fireEvent:t0,merge:t1,pick:t2,removeEvent:t5}=B();class t3{static compose(t){tV.compose(t,t3)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,tQ(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,n=e.g().add(this.group);if(i.push(n),s.buttonsEnabled){let r=e.rect().addClass("highcharts-scrollbar-button").add(n);this.chart.styledMode||r.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),r.attr(r.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},r.strokeWidth()));let a=e.path(t3.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=t1(tZ,tj.scrollbar,e),this.options.margin=t2(this.options.margin,10),this.chart=i,this.size=t2(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:n=0,vertical:r}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,r?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=n):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+n),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:r?0:i-l,translateY:r?s-h:0})}removeEvents(){this._events.forEach(function(t){t5.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let n=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-t$(0,n),y:-t$(0,n)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-n,width:i-n,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(t3.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-t$(0,this.scrollbarStrokeWidth),-t$(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,n=o.vertical,r=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!tJ(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=tq(h-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return t2(this.options.liveRedraw,B().svg&&!B().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!tJ(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),t0(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,t1(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=tq(1-tq(e-t)),e=1),t<0&&(e=tq(e-t),t=0),this.from=t,this.to=e}}t3.defaultOptions=tZ,tj.scrollbar=t1(!0,t3.defaultOptions,tj.scrollbar);var t6=E(540),t4=E.n(t6);let{defaultOptions:t8}=B(),{isTouchDevice:t9}=B(),{prototype:{symbols:t7}}=t4(),{addEvent:et,clamp:ee,correctFloat:ei,defined:es,destroyObjectProperties:eo,erase:en,extend:er,find:ea,fireEvent:el,isArray:eh,isNumber:ed,merge:ep,pick:ec,removeEvent:eu,splat:eg}=B();function em(t,...e){let i=[].filter.call(e,ed);if(i.length)return Math[t].apply(0,i)}class ef{static compose(t,e,i){tn.compose(t,ef),tX.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,n=this.outline.strokeWidth(),r=n/2,a=n%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,p=this.height,c=d-r,u=d+p,g=this.left,m,f;i?(m=d+e+a,e=d+t+a,f=[["M",g+p,d-l-a],["L",g+p,m],["L",g,m],["M",g,e],["L",g+p,e],["L",g+p,d+h+l]],o&&f.push(["M",g+p,m-r],["L",g+p,e+r])):(g-=l,t+=g+l-a,e+=g+l-a,f=[["M",g,c],["L",t,c],["L",t,u],["M",e,u],["L",e,c],["L",g+h+2*l,c]],o&&f.push(["M",t-r,c],["L",e+r,c])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,n,r,a;let l=this.left,h=this.top,d=this.height;i?(r=[l,l,l],a=[h,h+t,h+e],n=[d,d,d],o=[t,e-t,this.size-e]):(r=[l,l+t,l+e],a=[h,h,h],n=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:r[e],y:a[e],width:n[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,n=s.renderer,r={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=n.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=n.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(r))}),t.outline||(t.outline=n.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=t7[h].call(t7,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=n.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(r)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(ep(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),es(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{eu(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(et(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,n=this.xAxis,r=n.pointRange||0,a=n.navigatorAxis.fake?o.xAxis[0]:n,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,p=o.xAxis[0].minRange,c=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,m,f,x=this.scrollbarHeight,b,v;if(this.hasDragged&&!es(i))return;if(this.isDirty&&this.renderElements(),t=ei(t-r/2),e=ei(e+r/2),!ed(t)||!ed(e)){if(!h)return;i=0,s=ec(n.width,a.width)}this.left=ec(n.left,o.plotLeft+u+(d?o.plotWidth:0));let y=this.size=b=ec(n.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?x:b+2*u,i=ec(i,n.toPixels(t,!0)),s=ec(s,n.toPixels(e,!0)),ed(i)&&Math.abs(i)!==1/0||(i=0,s=g);let M=n.toValue(i,!0),A=n.toValue(s,!0),k=Math.abs(ei(A-M));kc&&(this.grabbedLeft?i=n.toPixels(A-c-r,!0):this.grabbedRight&&(s=n.toPixels(M+c+r,!0))),this.zoomedMax=ee(Math.max(i,s),0,y),this.zoomedMin=ee(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,y),this.range=this.zoomedMax-this.zoomedMin,y=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),v=h&&!this.hasDragged?"animate":"attr",this.drawMasks(w,y,d,v),this.drawOutline(w,y,d,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(w,0,d,v),this.drawHandle(y,1,d,v))),this.scrollbar&&(d?(f=this.top-u,m=this.left-x+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),x=b+2*u):(f=this.top+(l?this.height:-x),m=this.left-u),this.scrollbar.position(m,f,g,x),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,el(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,n;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=n=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(et(e.renderTo,"mousemove",o),et(i.ownerDocument,"mouseup",n),et(e.renderTo,"touchmove",o),et(i.ownerDocument,"touchend",n)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(et(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,n){i.push(et(o.element,t,function(t){e[s+"Mousedown"](t,n)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,n=this.size,r=this.range,a=this.left,l=t.chartX,h,d,p,c;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=r,this.dragOffset=l-o):(c=l-a-r/2,0===e?c=Math.max(0,c):2===e&&c+r>=n&&(c=n-r,this.reversedExtremes?(c-=r,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),c!==o&&(this.fixedWidth=r,es((p=s.navigatorAxis.toFixedRange(c,c+r,d,h)).min)&&el(this,"setRange",{min:Math.min(p.min,p.max),max:Math.max(p.min,p.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,n=e.dragOffset,r=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,r&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,ls+n-o&&(l=s+n-o),e.render(0,0,l-n,l-n+o)),e.hasDragged&&e.scrollbar&&ec(e.scrollbar.options.liveRedraw,!t9&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,n,r;let a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,p=a.inverted,c=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(n=this.fixedExtreme),this.zoomedMax===this.size&&(n=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),es((r=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,n)).min)&&el(this,"setRange",{min:Math.min(r.min,r.max),max:Math.max(r.min,r.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&ed(this.zoomedMin)&&ed(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,p,c),this.outline&&this.drawOutline(i,e,p,c),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,p,c),this.drawHandle(e,1,p,c)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){eu(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&eu(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},n=o.enabled,r=s&&i.height||0,a=n&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=r,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=n,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,d=h.baseSeries,p=t.xAxis.length,c=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(D())(t,ep({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:p,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:r}:{offsets:e,height:r}),"xAxis"),h.yAxis=new(D())(t,ep(i.yAxis,{alignTicks:!1,offset:0,index:c,isInternal:!0,reversed:ec(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:r}:{height:r}),"yAxis"),d||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=et(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),n=s.len-2*l,r=em("min",s.options.min,o.dataMin),a=em("max",s.options.max,o.dataMax)-r;return i?e*a/n+r:n*(e-r)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=tg.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=ep(t.options.scrollbar,{vertical:t.inverted});!ed(e.margin)&&h.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new t3(t.renderer,e,t),et(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=ec(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,n=o.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:ec(s.parse(n?.min),em("min",s.parse(r.min),i.dataMin,o.dataMin,o.min)),dataMax:ec(s.parse(n?.max),em("max",s.parse(r.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?ea(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,n={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},r=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(eu(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,h=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let p=t.navigatorSeries,c=er({color:t.color,visible:t.visible},eh(h)?t8.navigator.series:h);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;n.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},c.dataLabels=eg(c.dataLabels),(l=ep(a,n,c,d)).pointRange=ec(c.pointRange,d.pointRange,t8.plotOptions[l.type||"line"].pointRange);let u=d.data||c.data;i.hasNavigatorData=i.hasNavigatorData||!!u,l.data=u||a.data?.slice(0),p&&p.options?p.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,r.push(t.navigatorSeries))}),(h.data&&!(o&&o.length)||eh(h))&&(i.hasNavigatorData=!1,(h=eg(h)).forEach((t,e)=>{n.name="Navigator "+(r.length+1),(l=ep(t8.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},n,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,r.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(et(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(et(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(et(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(et(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(et(i,"remove",function(){e&&en(e,i),this.navigatorSeries&&t.series&&(en(t.series,this.navigatorSeries),es(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,n=s.max,r=s.dataMin,a=s.dataMax,l=n-o,h=i.stickToMin,d=i.stickToMax,p=ec(this.ordinal?.convertOverscroll(this.options.overscroll),0),c=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=r)+l),d&&(t=a+p,h||(e=Math.max(r,t-l,i.getBaseSeriesMin(c&&c.xData?c.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&ed(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=ec(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,n=s.min,r=s.options.range;return!!(ed(o)&&ed(n))&&(r&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{eo(t)}),this.navigatorEnabled=!1}}let{fireEvent:ex,isArray:eb,objectEach:ev,uniqueKey:ey}=B(),eM=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||ey(),this.modified=this,this.rowCount=0,this.versionTag=ey();let e=0;ev(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ev(this.columns,e=>{eb(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ev(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(ex(this,"afterSetColumns"),this.versionTag=ey())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,n=i?this.rowCount+1:e+1;ev(t,(t,r)=>{let a=o[r]||s?.addColumns!==!1&&Array(n);a&&(i?a.splice(e,0,t):a[e]=t,o[r]=a)}),n>this.rowCount&&this.applyRowCount(n),s?.silent||(ex(this,"afterSetRows"),this.versionTag=ey())}},{addEvent:eA,correctFloat:ek,css:ew,defined:eS,error:eE,isNumber:eC,pick:eT,timeUnits:eB,isString:eO}=B();!function(t){function e(t,i,s,o,n=[],r=0,a){let l={},h=this.options.tickPixelInterval,d=this.chart.time,p=[],c,u,g,m,f,x=0,b=[],v=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!n||n.length<3||void 0===i)return d.getTimeTicks.apply(d,arguments);let y=n.length;for(c=0;cs,n[c]5*r||f){if(n[c]>v){for(u=d.getTimeTicks(t,n[x],n[c],o);u.length&&u[0]<=v;)u.shift();u.length&&(v=u[u.length-1]),p.push(b.length),b=b.concat(u)}x=c+1}if(f)break}if(u){if(m=u.info,a&&m.unitRange<=eB.hour){for(x=1,c=b.length-1;xt-e),(a=i[Math.floor(i.length/2)])<.6*h&&(a=null),p=b[t-1]>s?t-1:t,r=void 0;p--;)d=Math.abs(r-(n=e[p])),r&&d<.8*h&&(null===a||d<.8*a)?(l[b[p]]&&!l[b[p+1]]?(o=p+1,r=n):o=p,b.splice(o,1)):r=n}return b}function i(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function s(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o?.length){let n=ek((t-i)*s+this.minPixelPadding),r=ek(e.getIndexOfPoint(n,o)),a=ek(r%1);if(r>=0&&r<=o.length-1){let t=o[Math.floor(r)],e=o[Math.ceil(r)];return o[Math.floor(r)]+a*(e-t)}}return t}function o(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function n(){this.ordinal||(this.ordinal=new t.Additions(this))}function r(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&eS(e.overscroll)&&0!==e.overscroll&&eC(this.max)&&eC(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&eS(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function l(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function h(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,n=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let r=this.mouseDownX,a=e.getExtremes(),l=a.dataMin,h=a.dataMax,d=a.min,p=a.max,c=this.hoverPoints,u=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,g=Math.round((r-s)/(e.translationSlope*(e.ordinal.slope||u))),m=e.ordinal.getExtendedPositions(),f={ordinal:{positions:m,extendedOrdinalPositions:m}},x=e.index2val,b=e.val2lin;if(d<=l&&g<0||p+i>=h&&g>0)return;f.ordinal.positions?Math.abs(g)>1&&(c&&c.forEach(function(t){t.setState()}),h>(o=f.ordinal.positions)[o.length-1]&&o.push(h),this.setFixedRange(p-d),(t=e.navigatorAxis.toFixedRange(void 0,void 0,x.apply(f,[b.apply(f,[d,!0])+g]),x.apply(f,[b.apply(f,[p,!0])+g]))).min>=Math.min(o[0],d)&&t.max<=Math.max(o[o.length-1],p)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,ew(this.container,{cursor:"move"})):n=!0}else n=!0;n||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function d(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function p(t,e){let i;let s=this.ordinal,n=s.positions,r=s.slope,a;if(!n)return t;let l=n.length;if(n[0]<=t&&n[l-1]>=t)i=o(n,t);else{if(!((a=s.getExtendedPositions&&s.getExtendedPositions())&&a.length))return t;let l=a.length;r||(r=(a[l-1]-a[0])/l);let h=o(a,n[0]);if(t>=a[0]&&t<=a[l-1])i=o(a,t)-h;else{if(!e)return t;i=t0&&"highcharts-navigator-series"!==t.options.id&&s.length>1&&(x=i!==s[1]-s[0]),i=s[1]-s[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||n)&&(a=(g=g.concat(s)).length,g.sort(function(t,e){return t-e}),m=Math.min(m,eT(t.closestPointRange,m)),a)){for(e=0;e2){for(h=g[1]-g[0],u=a-1;u--&&!f;)g[u+1]-g[u]!==h&&(f=!0);!t.options.keepOrdinalPadding&&(g[0]-s>h||o-g[g.length-1]>h)&&(f=!0)}else t.options.overscroll&&(2===a?m=g[1]-g[0]:1===a?(m=t.ordinal.convertOverscroll(t.options.overscroll),g=[g[0],g[0]+m]):m=e.overscrollPointsRange);f||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=m,g=g.concat(e.getOverscrollPositions())),e.positions=g,d=t.ordinal2lin(Math.max(s,g[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,g[g.length-1]),!0),1),e.slope=c=(o-s)/(p-d),e.offset=s-d*c):(e.overscrollPointsRange=eT(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=r&&f,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,n;for(;s{let i=e.currentDataGrouping;return t+(i?i.count+i.unitName:"raw")},""),r=t?i.ordinal.convertOverscroll(i.options.overscroll):0,a=i.getExtremes(),l,h,d=e.index;return d||(d=e.index={}),!d[n]&&((l={series:[],chart:o,forceOrdinal:!1,getExtremes:function(){return{min:a.dataMin,max:a.dataMax+r}},applyGrouping:s.applyGrouping,getGroupPixelWidth:s.getGroupPixelWidth,getTimeTicks:s.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:s.ordinal2lin,getIndexOfPoint:s.getIndexOfPoint,val2lin:s.val2lin}).ordinal.axis=l,i.series.forEach(i=>{h={xAxis:l,chart:o,groupPixelWidth:i.groupPixelWidth,destroyGroupedData:B().noop,getColumn:i.getColumn,applyGrouping:i.applyGrouping,getProcessedData:i.getProcessedData,reserveSpace:i.reserveSpace,visible:i.visible};let s=i.getColumn("x").concat(t?e.getOverscrollPositions():[]);h.dataTable=new eM({columns:{x:s}}),h.options={...i.options,dataGrouping:i.currentDataGrouping?{firstAnchor:i.options.dataGrouping?.firstAnchor,anchor:i.options.dataGrouping?.anchor,lastAnchor:i.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[i.currentDataGrouping.unitName,[i.currentDataGrouping.count]]]}:{enabled:!1}},l.series.push(h),i.processData.apply(h)}),l.applyGrouping({hasExtremesChanged:!0}),h?.closestPointRange!==h?.basePointRange&&h.currentDataGrouping&&(l.forceOrdinal=!0),i.ordinal.beforeSetTickPositions.apply({axis:l}),!i.ordinal.originalOrdinalRange&&l.ordinal.originalOrdinalRange&&(i.ordinal.originalOrdinalRange=l.ordinal.originalOrdinalRange),l.ordinal.positions&&(d[n]=l.ordinal.positions)),d[n]}getGroupIntervalFactor(t,e,i){let s=i.getColumn("x",!0),o=s.length,n=[],r,a,l=this.groupIntervalFactor;if(!l){for(a=0;at()),eN.splice(t,1);return}}}function eK(){let t=this.rangeSelector;if(t?.options?.enabled){let e=t.getHeight(),i=t.options.verticalAlign;t.options.floating||("bottom"===i?this.marginBottom+=e:"middle"===i||(this.plotTop+=e))}}function eq(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,o=this.rangeSelector;if(e&&e.enabled&&!ez(o)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=o=new g(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,o){let t=e&&e.verticalAlign||o.options&&o.options.verticalAlign;o.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}let e$={compose:function(t,e,i){if(g=i,eY(eG,"RangeSelector")){let i=e.prototype;t.prototype.minFromRange=eF,eI(e,"afterGetContainer",e_),eI(e,"beforeRender",eV),eI(e,"destroy",ej),eI(e,"getMargins",eK),eI(e,"redraw",eZ),eI(e,"update",eq),eI(e,"beforeRedraw",eU),i.callbacks.push(eZ),eL(eR,{rangeSelector:eP.rangeSelector}),eL(eR.lang,eP.lang)}}};var eJ=E(28),eQ=E.n(eJ);let{defaultOptions:e0}=B(),{addEvent:e1,createElement:e2,css:e5,defined:e3,destroyObjectProperties:e6,diffObjects:e4,discardElement:e8,extend:e9,fireEvent:e7,isNumber:it,isString:ie,merge:ii,objectEach:is,pick:io,splat:ir}=B();function ia(t){let e=e=>RegExp(`%[[a-zA-Z]*${e}`).test(t);if(ie(t)?-1!==t.indexOf("%L"):t.fractionalSecondDigits)return"text";let i=ie(t)?["a","A","d","e","w","b","B","m","o","y","Y"].some(e):t.dateStyle||t.day||t.month||t.year,s=ie(t)?["H","k","I","l","M","S"].some(e):t.timeStyle||t.hour||t.minute||t.second;return i&&s?"datetime-local":i?"date":s?"time":"text"}class il{static compose(t,e){e$.compose(t,e,il)}constructor(t){this.isDirty=!1,this.buttonOptions=il.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],n=i.scroller&&i.scroller.getUnionExtremes()||o||{},r=s.type,a=s.dataGrouping,l=n.dataMin,h=n.dataMax,d,p=it(o?.max)?Math.round(Math.min(o.max,h??o.max)):void 0,c,u=s._range,g,m,f,x=!0;if(null!==l&&null!==h){if(this.setSelected(t),a&&(this.forcedDataGrouping=!0,D().prototype.setDataGrouping.call(o||{chart:this.chart},a,!1),this.frozenStates=s.preserveDataGrouping),"month"===r||"year"===r)o?(m={range:s,max:p,chart:i,dataMin:l,dataMax:h},d=o.minFromRange.call(m),it(m.newMax)&&(p=m.newMax),x=!1):u=s;else if(u)it(p)&&(p=Math.min((d=Math.max(p-u,l))+u,h),x=!1);else if("ytd"===r){if(o)!o.hasData()||it(h)&&it(l)||(l=Number.MAX_VALUE,h=-Number.MAX_VALUE,i.series.forEach(t=>{let e=t.getColumn("x");e.length&&(l=Math.min(e[0],l),h=Math.max(e[e.length-1],h))}),e=!1),it(h)&&it(l)&&(d=g=(f=this.getYTDExtremes(h,l)).min,p=f.max);else{this.deferredYTDClick=t;return}}else"all"===r&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),d=l,p=h);if(x&&s._offsetMin&&e3(d)&&(d+=s._offsetMin),s._offsetMax&&e3(p)&&(p+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)it(d)&&it(p)&&(o.setExtremes(d,p,io(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{c=ir(i.options.xAxis||{})[0];let t=e1(i,"afterCreateAxes",function(){let t=i.xAxis[0];t.range=t.options.range=u,t.min=t.options.min=g});e1(i,"load",function(){let e=i.xAxis[0];i.setFixedRange(s._range),e.options.range=c.range,e.options.min=c.min,t()})}e7(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons,o=i.selected,n=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&e7(t,"blur"),i&&i.blur&&e7(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(e1(t.container,"mousedown",n)),this.eventsToUnbind.push(e1(t,"resize",n)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(e1(t,"load",function(){t.xAxis&&t.xAxis[0]&&e1(t.xAxis[0],"setExtremes",function(i){it(this.max)&&it(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],n=Math.round(o.max-o.min),r=!o.hasVisibleSeries,a=24*36e5,l=e.scroller&&e.scroller.getUnionExtremes()||o,h=l.dataMin,d=l.dataMax,p=t.getYTDExtremes(d,h),c=p.min,u=p.max,g=t.selected,m=t.options.allButtonsEnabled,f=Array(t.buttonOptions.length).fill(0),x=it(g),b=t.buttons,v=!1,y=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,l=e.type,p=e.count||1,b=e._offsetMax-e._offsetMin,M=i===g,A=s>d-h,k=ss&&(S=!0)}else("month"===l||"year"===l)&&n+36e5>=({month:28,year:365})[l]*a*p-b&&n-36e5<=({month:31,year:366})[l]*a*p+b?S=!0:"ytd"===l?(S=u-c+b===n,w=!M):"all"===l&&(S=o.max-o.min>=d-h);let E=!m&&!(v&&"all"===l)&&(A||k||r),C=v&&"all"===l||!w&&S||M&&t.frozenStates;E?f[i]=3:C&&(!x||i===g)&&(y=i)}),null!==y?(f[y]=2,t.setSelected(y),this.dropdown&&(this.dropdown.selectedIndex=y+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(e0.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;eNumber(i.getAttribute("data-hc-time"))?p=void 0:pl&&(p=l)),void 0!==p&&n.setExtremes(h?p:n.min,h?n.max:p,void 0,void 0,{trigger:"rangeSelectorInput"}))}let p=l[h?"rangeSelectorFrom":"rangeSelectorTo"]||"",c=r.label(p,0).addClass("highcharts-range-label").attr({padding:p?2:0,height:p?a.inputBoxHeight:0}).add(s),u=r.label("",0).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth,height:a.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||u.attr({stroke:a.inputBoxBorderColor,"stroke-width":1}),u.add(s);let g=e2("input",{name:t,className:"highcharts-range-selector"},void 0,i);g.setAttribute("type",ia(a.inputDateFormat||"%e %b %Y")),e.styledMode||(c.css(ii(n,a.labelStyle)),u.css(ii({color:"#333333"},n,a.inputStyle)),e5(g,e9({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:n.fontSize,fontFamily:n.fontFamily,top:"-9999em"},a.inputStyle))),g.onfocus=()=>{o.showInput(t)},g.onblur=()=>{g===B().doc.activeElement&&d(t),o.hideInput(t),o.setInputValue(t),g.blur()};let m=!1;return g.onchange=()=>{m||(d(t),o.hideInput(t),g.blur())},g.onkeypress=e=>{13===e.keyCode&&d(t)},g.onkeydown=e=>{m=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&d(t)},g.onkeyup=()=>{m=!1},{dateBox:u,input:g,label:c}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,n=o.inputEnabled,r=io(s.chart.style?.zIndex,0)+1;!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=e2("div",void 0,{position:"relative",height:0,zIndex:r}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),n&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(!1===this.options.enabled)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(e3(o.dataMin)&&e3(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=e0.lang,o=e.renderer,n=ii(i.buttonTheme),r=n&&n.states;delete n.width,delete n.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let a=this.dropdown=e2("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),l=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},ii(n,{"stroke-width":io(n["stroke-width"],0),width:"auto",paddingLeft:io(i.buttonTheme.paddingLeft,l?.padding,8),paddingRight:io(i.buttonTheme.paddingRight,l?.padding,8)}),r&&r.hover,r&&r.select,r&&r.disabled).hide().add(this.group),e1(a,"touchstart",()=>{a.style.fontSize="16px"});let h=B().isMS?"mouseover":"mouseenter",d=B().isMS?"mouseout":"mouseleave";e1(a,h,()=>{e7(this.dropdownLabel.element,h)}),e1(a,d,()=>{e7(this.dropdownLabel.element,d)}),e1(a,"change",()=>{e7(this.buttons[a.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),e2("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,a),this.createButtons()}createButtons(){let{options:t}=this,e=ii(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((t,e)=>{this.createButton(t,e,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:n,chart:r,options:a}=this,l=r.renderer,h=ii(a.buttonTheme);o?.add(e2("option",{textContent:t.title||t.text}),e+2),n[e]=l.button(t.text,0,0,i=>{let s;let o=t.events&&t.events.click;o&&(s=o.call(t,i)),!1!==s&&this.clickButton(e),this.isActive=!0},h,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&n[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:n,zoomText:r}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:p}=n,c=(t,e,s)=>l&&this.titleCollision(i)&&"top"===p&&s&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;r&&(t+=r.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=n.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=c(t,h,"right"===h.align||"right"===d.align);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;n.inputEnabled&&o&&(l=c(o,d,"right"===h.align||"right"===d.align),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:p},!0,i.spacingBox);let g=s.alignAttr.translateY,m=s.getBBox().height+20,f=0;if("bottom"===p){let t=i.legend&&i.legend.options;f=g-(m=m+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+io(t.margin,10):0)-20)-(n.floating?0:n.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===p?(n.floating&&(f=0),i.titleOffset&&i.titleOffset[0]&&(f=i.titleOffset[0]),f+=i.margin[0]-i.spacing[0]||0):"middle"===p&&(d.y===h.y?f=g:(d.y||h.y)&&(d.y<0||h.y<0?f-=Math.min(d.y,h.y):f=g-m)),s.translate(n.x,n.y+Math.floor(f));let{minInput:x,maxInput:b,dropdown:v}=this;n.inputEnabled&&x&&b&&(x.style.marginTop=s.translateY+"px",b.style.marginTop=s.translateY+"px"),v&&(v.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let t=this.options.buttons??[],e=Math.min(t.length,this.buttonOptions.length),{dropdown:i,options:s}=this,o=ii(s.buttonTheme),n=o&&o.states,r=o.width||28;if(t.length=t.length;e--){let t=this.buttons.pop();t?.destroy(),this.dropdown?.options.remove(e+1)}for(let s=e-1;s>=0;s--)if(0!==Object.keys(e4(t[s],this.buttonOptions[s])).length){let e=t[s];this.buttons[s].destroy(),i?.options.remove(s+1),this.createButton(e,s,r,n),this.computeButtonRange(e)}if(t.length>this.buttonOptions.length)for(let e=this.buttonOptions.length;e{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i?a.align===n.align?(l(),o>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):o-t+s.getBBox().width>e.plotWidth?"responsive"===r?this.collapseButtons():l():this.expandButtons():i&&"responsive"===r&&(o>e.plotWidth?this.collapseButtons():this.expandButtons()),i&&("always"===r&&this.collapseButtons(),"never"===r&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),e5(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),e5(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,n=s.y,r=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(r,n);return(r<0&&n<0||r>0&&n>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(ii(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),e3(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),e6(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),is(t,function(e,i){e&&"chart"!==i&&(e instanceof eQ()?e.destroy():e instanceof window.HTMLElement&&e8(e),delete t[i]),e!==il.prototype[i]&&(t[i]=null)},this),this.buttons=[]}}e9(il.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});var ih=E(960),id=E.n(ih),ip=E(984),ic=E.n(ip);let{format:iu}=ic(),{getOptions:ig}=B(),{setFixedRange:im}=tD,{addEvent:ix,clamp:ib,crisp:iv,defined:iy,extend:iM,find:iA,isNumber:ik,isString:iw,merge:iS,pick:iE,splat:iC}=B();function iT(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2},opposite:i.opposite??e.opposite??!0,showLastLabel:!!(e.categories||"category"===e.type),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function iB(t,e){if("xAxis"===t){let t=iE(e.navigator&&e.navigator.enabled,tM.enabled,!0),i={type:"datetime",categories:void 0};return t&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class iO extends id(){init(t,e){let i=ig(),s=t.xAxis,o=t.yAxis,n=iE(t.navigator&&t.navigator.enabled,tM.enabled,!0);t.xAxis=t.yAxis=void 0;let r=iS({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:n},scrollbar:{enabled:iE(tZ.enabled,!0)},rangeSelector:{enabled:iE(eP.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:iE(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=s,t.yAxis=o,r.xAxis=iC(t.xAxis||{}).map(e=>iS(iT("xAxis",e,i.xAxis),e,iB("xAxis",t))),r.yAxis=iC(t.yAxis||{}).map(t=>iS(iT("yAxis",t,i.yAxis),t)),super.init(r,e)}createAxis(t,e){return e.axis=iS(iT(t,e.axis,ig()[t]),e.axis,iB(t,this.userOptions)),super.createAxis(t,e)}}ix(id(),"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(iS(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),function(t){function e(t){if(!(this.crosshair?.label?.enabled&&this.cross&&ik(this.min)&&ik(this.max)))return;let e=this.chart,i=this.logarithmic,s=this.crosshair.label,o=this.horiz,n=this.opposite,r=this.left,a=this.top,l=this.width,h="inside"===this.options.tickPosition,d=!1!==this.crosshair.snap,p=t.e||this.cross?.e,c=t.point,u=this.crossLabel,g,m,f=s.format,x="",b,v=0,y=this.min,M=this.max;i&&(y=i.lin2log(this.min),M=i.lin2log(this.max));let A=o?"center":n?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";u||(u=this.crossLabel=e.renderer.label("",0,void 0,s.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(c&&c.series?c.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:s.align||A,padding:iE(s.padding,8),r:iE(s.borderRadius,3),zIndex:2}).add(this.labelGroup),e.styledMode||u.attr({fill:s.backgroundColor||c&&c.series&&c.series.color||"#666666",stroke:s.borderColor||"","stroke-width":s.borderWidth||0}).css(iM({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},s.style||{}))),o?(g=d?(c.plotX||0)+r:p.chartX,m=a+(n?0:this.height)):(g=r+this.offset+(n?l:0),m=d?(c.plotY||0)+a:p.chartY),f||s.formatter||(this.dateTime&&(x="%b %d, %Y"),f="{value"+(x?":"+x:"")+"}");let k=d?this.isXAxis?c.x:c.y:this.toValue(o?p.chartX:p.chartY),w=c&&c.series?c.series.isPointInside(c):ik(k)&&k>y&&k=b.right&&(v=-(C+E.width-b.right)),u.attr({x:Math.max(0,g+v),y:Math.max(0,m),anchorX:o?g:this.opposite?0:e.chartWidth,anchorY:o?this.opposite?e.chartHeight:0:m+E.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function o(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function n(t){let e=this,i=e.isLinked&&!e.series&&e.linkedParent?e.linkedParent.series:e.series,s=e.chart,o=s.renderer,n=e.left,r=e.top,a=[],l=t.translatedValue,h=t.value,d=t.force,p,c,u,g,m=[],f,x;if(s.options.isStock&&!1!==t.acrossPanes&&"xAxis"===e.coll||"yAxis"===e.coll){for(let o of(t.preventDefault(),m=(t=>{let o="xAxis"===t?"yAxis":"xAxis",n=e.options[o];return ik(n)?[s[o][n]]:iw(n)?[s.get(n)]:i.map(t=>t[o])})(e.coll),e.isXAxis?s.yAxis:s.xAxis))if(!o.options.isInternal){let t=o.isXAxis?"yAxis":"xAxis";e===(iy(o.options[t])?s[t][o.options[t]]:s[t][0])&&m.push(o)}for(let t of(f=m.length?[]:[e.isXAxis?s.yAxis[0]:s.xAxis[0]],m))-1!==f.indexOf(t)||iA(f,e=>e.pos===t.pos&&e.len===t.len)||f.push(t);if(ik(x=iE(l,e.translate(h||0,void 0,void 0,t.old)))){if(e.horiz)for(let t of f){let i;g=(c=t.pos)+t.len,p=u=Math.round(x+e.transB),"pass"!==d&&(pn+e.width)&&(d?p=u=ib(p,n,n+e.width):i=!0),i||a.push(["M",p,c],["L",u,g])}else for(let t of f){let i;u=(p=t.pos)+t.len,c=g=Math.round(r+e.height-x),"pass"!==d&&(cr+e.height)&&(d?c=g=ib(c,r,r+e.height):i=!0),i||a.push(["M",p,c],["L",u,g])}}t.path=a.length>0?o.crispPolyLine(a,t.lineWidth||1):void 0}}function r(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=iS(t.plotOptions[this.type],e))}}function a(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&iE(e.enabled,t.options.isStock)}function l(t,e){for(let i=0;i`plot${t.charAt(0).toUpperCase()+t.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(i,n){let r=o[i];null!==r&&(t.dataModify&&(r=t.dataModify.modifyValue(r)),o[s[n]]=e.toPixels(r,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}iL.defaultOptions=iz(iR.defaultOptions,{lineWidth:1,tooltip:{pointFormat:' {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),iI(iL.prototype,{pointClass:class extends iP{},animate:null,directTouch:!1,keysAffectYAxis:["low","high"],pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),tb().registerSeriesType("hlc",iL);let{seriesTypes:{hlc:iW}}=tb();class iH extends iW.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}}),iU(iK.prototype,{pointClass:iH,pointArrayMap:["open","high","low","close"]}),tb().registerSeriesType("ohlc",iK);let{column:iq,ohlc:i$}=tb().seriesTypes,{crisp:iJ,merge:iQ}=B();class i0 extends i${pointAttribs(t,e){let i=iq.prototype.pointAttribs.call(this,t,e),s=this.options,o=t.openo&&(i-=Math.round((n-o)/2),o=n),a=t[e](i,s,o,n,r),l&&h){let r=l;if("circle"===e)r=i+o/2;else{let t=a[0],e=a[1];"M"===t[0]&&"L"===e[0]&&(r=(t[1]+e[1])/2)}let d=s>h?s:s+n;a.push(["M",r,d],["L",l,h]),a=a.concat(t.circle(l-1,h-1,2,2))}return a}}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let o=t.prototype.symbols;o.flag=i,s(o,"circle"),s(o,"square")}let o=tB().getRendererType();e.indexOf(o)&&e.push(o)}}(y||(y={}));let i3=y;var i6=E(448),i4=E.n(i6);let{composed:i8}=B(),{prototype:i9}=i4(),{prototype:i7}=I(),{defined:st,pushUnique:se,stableSort:si}=B();!function(t){function e(t){return i7.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){i9.translate.apply(this);let t=this,e=t.options,i=t.chart,s=t.points,o=e.onSeries,n=o&&i.get(o),r=n&&n.options.step,a=n&&n.points,l=i.inverted,h=t.xAxis,d=t.yAxis,p=s.length-1,c,u,g=e.onKey||"y",m=a&&a.length,f=0,x,b,v,y,M;if(n&&n.visible&&m){for(f=(n.pointXOffset||0)+(n.barW||0)/2,y=n.currentDataGrouping,b=a[m-1].x+(y?y.totalRange:0),si(s,(t,e)=>t.x-e.x),g="plot"+g[0].toUpperCase()+g.substr(1);m--&&s[p];)if(x=a[m],(c=s[p]).y=x.y,x.x<=c.x&&void 0!==x[g]){if(c.x<=b&&(c.plotY=x[g],x.xMath.pow(1-o,3)*t[n]+3*(1-o)*(1-o)*o*i[n]+3*(1-o)*o*o*s[n]+o*o*o*e[n],n=0,r=1,a;for(let t=0;t<100;t++){let t=(n+r)/2,e=o(t,0);if(null===e)break;if(.25>Math.abs(e-c.plotX)){a=t;break}e{let o;e.plotX+=f,(void 0===e.plotY||l)&&(e.plotX>=0&&e.plotX<=h.len?l?(e.plotY=h.translate(e.x,0,1,0,1),e.plotX=st(e.y)?d.translate(e.y,0,0,0,1):0):e.plotY=(h.opposite?0:t.yAxis.len)+h.offset:e.shapeArgs={}),(u=s[i-1])&&u.plotX===e.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),o=u.stackIndex+1),e.stackIndex=o}),this.onSeries=n}t.compose=function(t){if(se(i8,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(M||(M={}));let ss=M,{noop:so}=B(),{distribute:sn}=B(),{series:sr,seriesTypes:{column:sa}}=tb(),{addEvent:sl,defined:sh,extend:sd,isNumber:sp,merge:sc,objectEach:su,wrap:sg}=B();class sm extends sa{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,n,r,a,l,h,d;let p=this.points,c=this.chart,u=c.renderer,g=c.inverted,m=this.options,f=m.y,x=this.yAxis,b={},v=[],y=sp(m.borderRadius)?m.borderRadius:0;for(s=p.length;s--;)o=p[s],h=(g?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,r=o.stackIndex,i=o.options.shape||m.shape,void 0!==(e=o.plotY)&&(e=o.plotY+f-(void 0!==r&&r*m.stackDistance)),o.anchorX=r?void 0:o.plotX,a=r?void 0:o.plotY,d="flag"!==i,n=o.graphic,void 0!==e&&t>=0&&!h?(n&&o.hasNewShapeType()&&(n=n.destroy()),n||(n=o.graphic=u.label("",0,void 0,i,void 0,void 0,m.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),n.isNew=!0),n.attr({align:d?"center":"left",width:m.width,height:m.height,"text-align":m.textAlign,r:y}),c.styledMode||n.attr(this.pointAttribs(o)).css(sc(m.style,o.style)).shadow(m.shadow),t>0&&(t-=n.strokeWidth()%2),l={y:e,anchorY:a},m.allowOverlapX&&(l.x=t,l.anchorX=o.anchorX),n.attr({text:o.options.title??m.title??"A"})[n.isNew?"attr":"animate"](l),m.allowOverlapX||(b[o.plotX]?b[o.plotX].size=Math.max(b[o.plotX].size,n.width||0):b[o.plotX]={align:d?.5:0,size:n.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+x.pos-c.plotTop]):n&&(o.graphic=n.destroy());if(!m.allowOverlapX){let t=100;for(let e of(su(b,function(e){e.plotX=e.anchorX,v.push(e),t=Math.max(e.size,t)}),sn(v,g?x.len:this.xAxis.len,t),p)){let t=e.plotX,i=e.graphic,s=i&&b[t];s&&i&&(sh(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}m.useHTML&&this.markerGroup&&sg(this.markerGroup,"on",function(t){return eQ().prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=sl(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,n=t&&t.lineWidth,r=t&&t.fillColor||i.fillColor;return e&&(r=i.states[e].fillColor,o=i.states[e].lineColor,n=i.states[e].lineWidth),{fill:r||s,stroke:o||s,"stroke-width":n||i.lineWidth||0}}setClip(){sr.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}sm.compose=i3.compose,sm.defaultOptions=sc(sa.defaultOptions,{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}),ss.compose(sm),sd(sm.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:i5,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:so,init:sr.prototype.init}),tb().registerSeriesType("flags",sm);var sf=E(184),sx=E.n(sf);let{addEvent:sb,find:sv,fireEvent:sy,isArray:sM,isNumber:sA,pick:sk}=B();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let t,r;for("value"!==this.options.gapUnit&&(o*=this.basePointRange),e&&e>o&&e>=this.basePointRange&&(o=e);n--;)if(r&&!1!==r.visible||(r=i[n+1]),t=i[n],!1!==r.visible&&!1!==t.visible){if(r.x-t.x>o){let e=(t.x+r.x)/2;i.splice(n+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(sx())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}r=t}}return this.getGraphPath(i)}t.compose=function(t,h){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),sb(t,"init",o),sb(t,"afterInit",e),sb(t,"afterSetTickPositions",s),sb(t,"afterSetOptions",i);let d=h.prototype;d.drawBreaks=a,d.gappedPath=l,sb(h,"afterGeneratePoints",n),sb(h,"afterRender",r)}return t};class h{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,n=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?n<=o:n=s);n++)o.to=t)break;else if(h.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return sv(e,function(e){return e.from{t.from=o.parse(t.from)||0,t.to=o.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),n||s.val2lin!==h.val2Lin||(delete s.val2lin,delete s.lin2val),n&&(s.userOptions.ordinal=!1,s.lin2val=h.lin2Val,s.val2lin=h.val2Lin,s.setExtremes=function(t,e,o,n,r){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;ed;)c-=l;for(;cthis.chart.plotSizeX/i||o&&n.forced)&&(s=!0));return s?i:0}function sN(){this.series.forEach(function(t){t.hasProcessed=!1})}function sF(t,e){let i;if(e=sH(e,!0),t||(t={forced:!1,units:null}),this instanceof m)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:sW(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}let sU={compose:function(t){m=t;let e=t.prototype;e.applyGrouping||(sz(t,"afterSetScale",sN),sz(t,"postProcessData",sX),sL(e,{applyGrouping:sX,getGroupPixelWidth:sY,setDataGrouping:sF}))}},{addEvent:s_,getMagnitude:sV,normalizeTickInterval:sZ,timeUnits:sj}=B();!function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,s_(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],s=i[i.length-1],o=sj[s[0]],n=s[1],r;for(r=0;r=e[0]){let i;p++;let s=t.groupMap[0].start,r=t.groupMap[0].length;s1(s)&&s1(r)&&(i=s+(r-1)),e[0]=({start:e[0],middle:e[0]+.5*o,end:e[0]+o,firstPoint:n[0],lastPoint:i&&n[i]})[l]}if(r>0&&h&&o&&e[r]>=i-o){d--;let i=t.groupMap[t.groupMap.length-1].start;e[r]=({start:e[r],middle:e[r]+.5*o,end:e[r]+o,firstPoint:i&&n[i],lastPoint:n[n.length-1]})[h]}if(a&&"start"!==a){let t=o*({middle:.5,end:1})[a];for(;d>=p;)e[d]+=t,d--}}(this,A||[],r),a&&A&&(sJ((e=A)[0])&&s1(f.min)&&s1(f.dataMin)&&e[0]f.max&&((!sJ(f.options.max)&&s1(f.dataMax)&&f.max>=f.dataMax||f.max===f.dataMax)&&(f.max=Math.max(e[e.length-1],f.max)),f.dataMax=Math.max(e[e.length-1],f.dataMax))),n.groupAll&&(this.allGroupedTable=M,A=(M=(d=this.cropData(M,f.min||0,f.max||0)).modified).getColumn("x"),this.cropStart=d.start),this.dataTable.modified=M}else this.groupMap=void 0,this.currentDataGrouping=void 0;this.hasGroupedData=s,this.preventGraphAnimation=(l&&l.totalRange)!==(h&&h.totalRange)}function s8(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function s9(){s6.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function s7(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function ot(t,e,i){let s=t.getColumn("x",!0)||[],o=t.getColumn("y",!0),n=this,r=n.data,a=n.options&&n.options.data,l=[],h=new eM,d=[],p=t.rowCount,c=!!o,u=[],g=n.pointArrayMap,m=g&&g.length,f=["x"].concat(g||["y"]),x=(g||["y"]).map(()=>[]),b=this.options.dataGrouping&&this.options.dataGrouping.groupAll,v,y,M,A=0,k=0,w="function"==typeof i?i:i&&sE[i]?sE[i]:sE[n.getDGApproximation&&n.getDGApproximation()||"average"];if(m){let t=g.length;for(;t--;)u.push([])}else u.push([]);let S=m||1;for(let t=0;t<=p;t++)if(!(s[t]=e[A+1]||t===p;){if(v=e[A],n.dataGroupInfo={start:b?k:n.cropStart+k,length:u[0].length,groupStart:v},M=w.apply(n,u),n.pointClass&&!sJ(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=s2(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+k])),f.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==M){l.push(v);let t=s3(M);for(let e=0;e{E[t]=x[e]}),h.setColumns(E),{groupMap:d,modified:h}}function oe(t){let e=t.options,i=this.type,s=this.chart.options.plotOptions,o=this.useCommonDataGrouping&&sI.common,n=sI.seriesSpecific,r=B().defaultOptions.plotOptions[i].dataGrouping;if(s&&(n[i]||o)){let t=this.chart.rangeSelector;r||(r=s2(sI.common,n[i])),e.dataGrouping=s2(o,r,s.series&&s.series.dataGrouping,s[i].dataGrouping,this.userOptions.dataGrouping,!e.isInternal&&t&&s1(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}let oi={compose:function(t){let e=t.prototype;e.applyGrouping||(s$(t.prototype.pointClass,"update",function(){if(this.dataGroup)return sQ(24,!1,this.series.chart),!1}),s$(t,"afterSetOptions",oe),s$(t,"destroy",s8),s0(e,{applyGrouping:s4,destroyGroupedData:s8,generatePoints:s9,getDGApproximation:s7,groupData:ot}))},groupData:ot},{format:os}=ic(),{composed:oo}=B(),{addEvent:on,extend:or,isNumber:oa,pick:ol,pushUnique:oh}=B();function od(t){let e=this.chart,i=e.time,s=t.point,o=s.series,n=o.options,r=o.tooltipOptions,a=n.dataGrouping,l=o.xAxis,h=r.xDateFormat||"",d,p,c,u,g,m=r[t.isFooter?"footerFormat":"headerFormat"];if(l&&"datetime"===l.options.type&&a&&oa(s.key)){p=o.currentDataGrouping,c=a.dateTimeLabelFormats||sI.common.dateTimeLabelFormats,p?(u=c[p.unitName],1===p.count?h=u[0]:(h=u[1],d=u[2])):!h&&c&&l.dateTime&&(h=l.dateTime.getXDateFormat(s.x,r.dateTimeLabelFormats));let n=ol(o.groupMap?.[s.index].groupStart,s.key),f=n+(p?.totalRange||0)-1;g=i.dateFormat(h,n),d&&(g+=i.dateFormat(d,f)),o.chart.styledMode&&(m=this.styledModeFormat(m)),t.text=os(m,{point:or(s,{key:g}),series:o},e),t.preventDefault()}}let op={compose:function(t,e,i){sU.compose(t),oi.compose(e),i&&oh(oo,"DataGrouping")&&on(i,"headerFormatter",od)},groupData:oi.groupData},oc=B();oc.dataGrouping=oc.dataGrouping||{},oc.dataGrouping.approximationDefaults=oc.dataGrouping.approximationDefaults||sG,oc.dataGrouping.approximations=oc.dataGrouping.approximations||sE,op.compose(oc.Axis,oc.Series,oc.Tooltip);let{defined:ou,isNumber:og,pick:om}=B(),of={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},{addEvent:ox,isObject:ob,pick:ov,defined:oy,merge:oM}=B(),{getAssignedAxis:oA}={annotationsFieldsTypes:of,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=om(t.axis.minPointOffset,0);return og(i)&&og(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=of[t],s=typeof e;return ou(i)&&(s=i),({string:"text",number:"number",boolean:"checkbox"})[s]}},ok=[],ow={enabled:!0,sensitivity:1.1},oS=t=>(ob(t)||(t={enabled:t??!0}),oM(ow,t)),oE=function(t,e,i,s,o,n,r){let a=ov(r.type,t.zooming.type,""),l=[];"x"===a?l=i:"y"===a?l=s:"xy"===a&&(l=t.axes);let h=t.transform({axes:l,to:{x:o-5,y:n-5,width:10,height:10},from:{x:o-5*e,y:n-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return h&&(oy(f)&&clearTimeout(f),f=setTimeout(()=>{t.pointer?.drop()},400)),h};function oC(){let t=oS(this.zooming.mouseWheel);t.enabled&&ox(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:i}=this,s=i&&!i.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&s){let s=t.sensitivity||1.1,o=e.detail||(e.deltaY||0)/120,n=oA(i.getCoordinates(e).xAxis),r=oA(i.getCoordinates(e).yAxis);oE(this,Math.pow(s,o),n?[n.axis]:this.xAxis,r?[r.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}/** + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/mouse-wheel-zoom * @requires highcharts * @@ -17,7 +17,7 @@ * * License: www.highcharts.com/license */let oT=B();oT.MouseWheelZoom=oT.MouseWheelZoom||{compose:function(t){-1===ok.indexOf(t)&&(ok.push(t),ox(t,"afterGetContainer",oC))}},oT.MouseWheelZoom.compose(oT.Chart);/** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/stock * @requires highcharts * diff --git a/modules/stock.src.js b/modules/stock.src.js index 7aae9dcf49..807cd385d5 100644 --- a/modules/stock.src.js +++ b/modules/stock.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/broken-axis * @requires highcharts * @@ -8032,7 +8032,7 @@ class RangeSelector { * exporting button */ handleCollision(xOffsetForExportButton) { - const { chart, buttonGroup, inputGroup } = this; + const { chart, buttonGroup, inputGroup, initialButtonGroupWidth } = this; const { buttonPosition, dropdown, inputPosition } = this.options; const moveInputsDown = () => { if (inputGroup && buttonGroup) { @@ -8049,7 +8049,7 @@ class RangeSelector { if (inputGroup && buttonGroup) { if (inputPosition.align === buttonPosition.align) { moveInputsDown(); - if (this.initialButtonGroupWidth > + if (initialButtonGroupWidth > chart.plotWidth + xOffsetForExportButton - 20) { this.collapseButtons(); } @@ -8057,7 +8057,7 @@ class RangeSelector { this.expandButtons(); } } - else if (this.initialButtonGroupWidth - + else if (initialButtonGroupWidth - xOffsetForExportButton + inputGroup.getBBox().width > chart.plotWidth) { @@ -8072,6 +8072,14 @@ class RangeSelector { this.expandButtons(); } } + else if (buttonGroup && dropdown === 'responsive') { + if (initialButtonGroupWidth > chart.plotWidth) { + this.collapseButtons(); + } + else { + this.expandButtons(); + } + } // Forced states if (buttonGroup) { if (dropdown === 'always') { @@ -13348,7 +13356,7 @@ const DataGroupingComposition = { ;// ./code/es-modules/masters/modules/datagrouping.src.js /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/datagrouping * @requires highcharts * @@ -13670,7 +13678,7 @@ const MouseWheelZoomComposition = { ;// ./code/es-modules/masters/modules/mouse-wheel-zoom.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/mouse-wheel-zoom * @requires highcharts * @@ -13690,7 +13698,7 @@ mouse_wheel_zoom_src_G.MouseWheelZoom.compose(mouse_wheel_zoom_src_G.Chart); ;// ./code/es-modules/masters/modules/stock.src.js /** - * @license Highstock JS v12.1.0 (2024-12-17) + * @license Highstock JS v12.1.1 (2024-12-20) * @module highcharts/modules/stock * @requires highcharts * diff --git a/modules/streamgraph.js b/modules/streamgraph.js index ffd33fbe62..6cc636d094 100644 --- a/modules/streamgraph.js +++ b/modules/streamgraph.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/streamgraph * @requires highcharts * diff --git a/modules/streamgraph.src.js b/modules/streamgraph.src.js index ad3b0856c0..2b3b86fd72 100644 --- a/modules/streamgraph.src.js +++ b/modules/streamgraph.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/streamgraph * @requires highcharts * diff --git a/modules/sunburst.js b/modules/sunburst.js index 204583f151..5bb62baa8e 100644 --- a/modules/sunburst.js +++ b/modules/sunburst.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sunburst * @requires highcharts * diff --git a/modules/sunburst.src.js b/modules/sunburst.src.js index fe6df9869a..1a2c0937b6 100644 --- a/modules/sunburst.src.js +++ b/modules/sunburst.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/sunburst * @requires highcharts * diff --git a/modules/textpath.js b/modules/textpath.js index 8a0b5bc93a..423df3d388 100644 --- a/modules/textpath.js +++ b/modules/textpath.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/textpath-support * @requires highcharts * diff --git a/modules/textpath.src.js b/modules/textpath.src.js index 0788880b88..4497730b02 100644 --- a/modules/textpath.src.js +++ b/modules/textpath.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/textpath-support * @requires highcharts * diff --git a/modules/tiledwebmap.js b/modules/tiledwebmap.js index 3966015dd4..b8019b4c3e 100644 --- a/modules/tiledwebmap.js +++ b/modules/tiledwebmap.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/tiledwebmap * @requires highcharts * diff --git a/modules/tiledwebmap.src.js b/modules/tiledwebmap.src.js index 9711665c8c..11c2b2636c 100644 --- a/modules/tiledwebmap.src.js +++ b/modules/tiledwebmap.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/tiledwebmap * @requires highcharts * diff --git a/modules/tilemap.js b/modules/tilemap.js index b9e8a3c391..7d1a137ac1 100644 --- a/modules/tilemap.js +++ b/modules/tilemap.js @@ -1,5 +1,5 @@ !/** - * Highmaps JS v12.1.0 (2024-12-17) + * Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/tilemap * @requires highcharts * @requires highcharts/modules/map diff --git a/modules/tilemap.src.js b/modules/tilemap.src.js index 7f471e17e5..3ef7871563 100644 --- a/modules/tilemap.src.js +++ b/modules/tilemap.src.js @@ -1,5 +1,5 @@ /** - * @license Highmaps JS v12.1.0 (2024-12-17) + * @license Highmaps JS v12.1.1 (2024-12-20) * @module highcharts/modules/tilemap * @requires highcharts * @requires highcharts/modules/map diff --git a/modules/timeline.js b/modules/timeline.js index 2db99b6de7..5fb8373fe0 100644 --- a/modules/timeline.js +++ b/modules/timeline.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/timeline * @requires highcharts * diff --git a/modules/timeline.src.js b/modules/timeline.src.js index 77dce98206..9c67f08dc1 100644 --- a/modules/timeline.src.js +++ b/modules/timeline.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/timeline * @requires highcharts * diff --git a/modules/treegraph.js b/modules/treegraph.js index 97fea3c83c..7482e1dce8 100644 --- a/modules/treegraph.js +++ b/modules/treegraph.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * Treegraph chart series type * @module highcharts/modules/treegraph * @requires highcharts diff --git a/modules/treegraph.src.js b/modules/treegraph.src.js index 4c8fcbcfef..9feaafe5c2 100644 --- a/modules/treegraph.src.js +++ b/modules/treegraph.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * Treegraph chart series type * @module highcharts/modules/treegraph * @requires highcharts diff --git a/modules/treegrid.js b/modules/treegrid.js index 25897b58a5..4e09f2a2ab 100644 --- a/modules/treegrid.js +++ b/modules/treegrid.js @@ -1,5 +1,5 @@ !/** - * Highcharts Gantt JS v12.1.0 (2024-12-17) + * Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/treegrid * @requires highcharts * diff --git a/modules/treegrid.src.js b/modules/treegrid.src.js index d268d39991..13b2c0db16 100644 --- a/modules/treegrid.src.js +++ b/modules/treegrid.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts Gantt JS v12.1.0 (2024-12-17) + * @license Highcharts Gantt JS v12.1.1 (2024-12-20) * @module highcharts/modules/treegrid * @requires highcharts * diff --git a/modules/treemap.js b/modules/treemap.js index 6a67dba051..4dbffe2848 100644 --- a/modules/treemap.js +++ b/modules/treemap.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/treemap * @requires highcharts * diff --git a/modules/treemap.src.js b/modules/treemap.src.js index 635d2929f7..afc0d1a137 100644 --- a/modules/treemap.src.js +++ b/modules/treemap.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/treemap * @requires highcharts * diff --git a/modules/variable-pie.js b/modules/variable-pie.js index 99590928dc..5aa5aed256 100644 --- a/modules/variable-pie.js +++ b/modules/variable-pie.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/variable-pie * @requires highcharts * diff --git a/modules/variable-pie.src.js b/modules/variable-pie.src.js index 8426c8738a..1b053c50fa 100644 --- a/modules/variable-pie.src.js +++ b/modules/variable-pie.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/variable-pie * @requires highcharts * diff --git a/modules/variwide.js b/modules/variwide.js index d6dd4d9fa7..7ad32dd92f 100644 --- a/modules/variwide.js +++ b/modules/variwide.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/variwide * @requires highcharts * diff --git a/modules/variwide.src.js b/modules/variwide.src.js index ab0aa9cebb..ea06e783cb 100644 --- a/modules/variwide.src.js +++ b/modules/variwide.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/variwide * @requires highcharts * diff --git a/modules/vector.js b/modules/vector.js index d612201a76..36fff0f1be 100644 --- a/modules/vector.js +++ b/modules/vector.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/vector * @requires highcharts * diff --git a/modules/vector.src.js b/modules/vector.src.js index 9889897c8a..69629e9f5f 100644 --- a/modules/vector.src.js +++ b/modules/vector.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/vector * @requires highcharts * diff --git a/modules/venn.js b/modules/venn.js index 3294d661c9..4881324a27 100644 --- a/modules/venn.js +++ b/modules/venn.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/venn * @requires highcharts * diff --git a/modules/venn.src.js b/modules/venn.src.js index f2b4621795..3f1a8f03d5 100644 --- a/modules/venn.src.js +++ b/modules/venn.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/venn * @requires highcharts * diff --git a/modules/windbarb.js b/modules/windbarb.js index 94e982dadc..8cb6ef6667 100644 --- a/modules/windbarb.js +++ b/modules/windbarb.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/windbarb * @requires highcharts * diff --git a/modules/windbarb.src.js b/modules/windbarb.src.js index 030d56d457..8f4c9ad95c 100644 --- a/modules/windbarb.src.js +++ b/modules/windbarb.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/windbarb * @requires highcharts * diff --git a/modules/wordcloud.js b/modules/wordcloud.js index 5d831e73da..e78e8e1962 100644 --- a/modules/wordcloud.js +++ b/modules/wordcloud.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/wordcloud * @requires highcharts * diff --git a/modules/wordcloud.src.js b/modules/wordcloud.src.js index e3892a88e3..7f1fb40e36 100644 --- a/modules/wordcloud.src.js +++ b/modules/wordcloud.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/wordcloud * @requires highcharts * diff --git a/modules/xrange.js b/modules/xrange.js index 7d9e91ad20..35fd9da1ae 100644 --- a/modules/xrange.js +++ b/modules/xrange.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/xrange * @requires highcharts * diff --git a/modules/xrange.src.js b/modules/xrange.src.js index d2ccd93669..920a5d4dc5 100644 --- a/modules/xrange.src.js +++ b/modules/xrange.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/xrange * @requires highcharts * diff --git a/package.json b/package.json index 6e3ae8811e..744017ffd2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "highcharts", "description": "JavaScript charting framework", "homepage": "http://www.highcharts.com", - "version": "12.1.0", + "version": "12.1.1", "author": "Highsoft AS (http://www.highcharts.com/about)", "main": "highcharts.js", "repository": { diff --git a/standalone-navigator.js b/standalone-navigator.js index c33e58f9ca..a9f36d688f 100644 --- a/standalone-navigator.js +++ b/standalone-navigator.js @@ -1,9 +1,9 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi * * License: www.highcharts.com/license - */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i;var s,o,r,a,n,h,l,d,c,p,g,u,f,m,x,y,b,v,k={};k.d=(t,e)=>{for(var i in e)k.o(e,i)&&!k.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},k.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var M={};k.d(M,{default:()=>dW}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.0",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(s||(s={}));let w=s,{charts:S,doc:A,win:T}=w;function C(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=B(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),j(s,function(e,i){t+=` - - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}V(w,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);T.console&&-1===C.messages.indexOf(a)&&console.warn(a)}),C.messages.push(a)}function O(t,e){return parseInt(t,e||10)}function P(t){return"string"==typeof t}function E(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function L(t,e){return!!t&&"object"==typeof t&&(!e||!E(t))}function D(t){return L(t)&&"number"==typeof t.nodeType}function I(t){let e=t&&t.constructor;return!!(L(t,!0)&&!D(t)&&e&&e.name&&"Object"!==e.name)}function B(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function z(t){return null!=t}function R(t,e,i){let s;let o=P(e)&&!z(i),r=(e,i)=>{z(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return P(e)?r(i,e):j(e,r),s}function N(t){return E(t)?t:[t]}function W(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function H(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(C||(C={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let Y=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let $=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();T.jQuery&&(T.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new w[P(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):S[R(this[0],"data-highcharts-chart")]});let Z={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;w.Point&&t instanceof w.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!w.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){U(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=N(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=T.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),H(s,"opacity"!==i)&&(o=O(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return G(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:j,offset:function(t){let e=A.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(T.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(T.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:H,pInt:O,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:U,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:N,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return P(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:$,useSerialIds:function(e){return t=H(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{win:q}=w,{defined:_,error:K,extend:J,isNumber:Q,isObject:tt,isString:te,merge:ti,objectEach:ts,pad:to,splat:tr,timeUnits:ta,ucfirst:tn}=Z,th=w.isSafari&&q.Intl&&!q.Intl.DateTimeFormat.prototype.formatRange,tl=t=>void 0===t.main,td=t=>["D","L","M","X","J","V","S"].indexOf(t),tc=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=q.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=ti(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||q.Date||Date;let s=t.timezone;_(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,td(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale){let s=JSON.stringify(t)+i;te(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(K(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):K(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&J(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||th||(n-=36e5)}}return n}parse(t){if(!te(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(Q(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(Q(a))return a}return 0}dateFormat(t,e,i){let s=w.defaultOptions?.lang;if(!_(e)||isNaN(e))return s?.invalidDate||"";if(te(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(te(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,g=s?.shortWeekdays||this.shortWeekdays,u=s?.months||this.months,f=s?.shortMonths||this.shortMonths;ts(J({a:g?g[c]:p[c].substr(0,3),A:p[c],d:to(a),e:to(a,2," "),w:c,b:f[r],B:u[r],m:to(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:to(n),k:n,I:to(n%12||12),l:n%12||12,M:to(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:to(l),L:to(d,3)},w.dateFormats),function(s,o){if(te(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(tt(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(J({timeZone:s},t),e)+r}return i?tn(t):t}resolveDTLFormat(t){return tt(t,!0)?tt(t,!0)&&tl(t)?{main:t}:t:{main:(t=tr(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,g,u]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),_(e)){if(f=h>=ta.second?0:n*Math.floor(f/n),h>=ta.second&&(u=h>=ta.minute?0:n*Math.floor(u/n)),h>=ta.minute&&(g=h>=ta.hour?0:n*Math.floor(g/n)),h>=ta.hour&&(p=h>=ta.day?0:n*Math.floor(p/n)),h>=ta.day&&(c=h>=ta.month?1:Math.max(1,n*Math.floor(c/n))),h>=ta.month&&(d=h>=ta.year?0:n*Math.floor(d/n)),h>=ta.year&&(l-=l%n),h===ta.week){n&&(e=o.makeTime(l,d,c,p,g,u,f));let t=td(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*ta.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=ta.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=J(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in ta){if(t===ta.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(ta[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tp}=w,{fireEvent:tg,merge:tu}=Z,tf={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tp?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};tf.chart.styledMode=!0,tf.chart.styledMode=!1;let tm=new tc(tf.time),tx={defaultOptions:tf,defaultTime:tm,getOptions:function(){return tf},setOptions:function(t){return tg(w,"setOptions",{options:t}),tu(!0,tf,t),t.time&&tm.update(tf.time),t.lang&&"locale"in t.lang&&tm.update({locale:t.lang.locale}),tf}},{isNumber:ty,merge:tb,pInt:tv,defined:tk}=Z;class tM{static parse(t){return t?new tM(t):tM.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=w.Color;if(r&&r!==tM)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tM(t[1]));else if("string"==typeof t)for(this.input=t=tM.names[t.toLowerCase()]||t,s=tM.parsers.length;s--&&!i;)(e=(o=tM.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tb(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&ty(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(ty(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tv(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!ty(i[0])||!ty(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tM.names={white:"#ffffff",black:"#000000"},tM.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tv(t[1]),tv(t[2]),tv(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tv(t[1]),tv(t[2]),tv(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tv(t[1]+t[1],16),tv(t[2]+t[2],16),tv(t[3]+t[3],16),tk(t[4])?tv(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tv(t[1],16),tv(t[2],16),tv(t[3],16),tk(t[4])?tv(t[4],16)/255:1]}}],tM.None=new tM("");let{parse:tw}=tM,{win:tS}=w,{isNumber:tA,objectEach:tT}=Z;class tC{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tT(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[r,r];function u(t,e){for(;t.length{let i=tR(t.options.animation);r=tD(e)&&tO(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tz(t,e.options.chart.animation,!0)},stop:tN},{SVG_NS:tH,win:tX}=w,{attr:tF,createElement:tG,css:tY,error:tj,isFunction:tU,isString:tV,objectEach:t$,splat:tZ}=Z,{trustedTypes:tq}=tX,t_=tq&&tU(tq.createPolicy)&&tq.createPolicy("highcharts",{createHTML:t=>t}),tK=t_?t_.createHTML(""):"";class tJ{static filterUserAttributes(t){return t$(t,(e,i)=>{let s=!0;-1===tJ.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tV(e)&&tJ.allowedReferences.some(t=>0===e.indexOf(t))),s||(tj(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tV(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=tJ.emptyHTML,e&&new tJ(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tZ(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?w.doc.createTextNode(e.textContent):void 0,n=tJ.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==tJ.allowedTags.indexOf(r)||n){let s="svg"===r?tH:i.namespaceURI||tH,h=w.doc.createElementNS(s,r),l=e.attributes||{};t$(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tF(h,n?l:tJ.filterUserAttributes(l)),e.style&&tY(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tj(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t_?t_.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tG("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=tJ.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}tJ.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],tJ.allowedReferences=["https://","http://","mailto:","/","../","./","#"],tJ.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],tJ.emptyHTML=tK,tJ.bypassHTMLFiltering=!1;let{defaultOptions:tQ,defaultTime:t0}=tx,{doc:t1}=w,{extend:t2,getNestedProperty:t3,isArray:t5,isNumber:t6,isObject:t9,isString:t4,pick:t8,ucfirst:t7}=Z,et={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t5(t)&&t.map((i,s)=>es(e.body,t2(t9(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:t7,unless:t=>!t},ee={},ei=t=>/^["'].+["']$/.test(t);function es(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||tQ.lang,l=i&&i.time||t0,d=i&&i.numberFormatter||eo,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ei(t)?t.slice(1,-1):t3(t,e))},p,g,u=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),g&&g.isBlock||(g={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(g.isBlock?i:p)[1].split(" ")[0].replace("#","");et[a]&&(g.isBlock&&a===g.fn&&u++,g.fn||(g.fn=a));let n="else"===p[1];if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||n)){if(u)!n&&u--;else{let e=g.startInner,i=t.substr(e,p.index-e);void 0===g.body?(g.body=i,g.startInner=p.index+p[0].length):g.elseBody=i,g.find+=i+p[0],n||(r.push(g),g=void 0)}}else g.isBlock||r.push(g);if(s&&!g?.isBlock)break}return r.forEach(s=>{let r,p;let{body:g,elseBody:u,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=et[m].length;p--;)t.unshift(c(o[p+1]));r=et[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=es(r?g:u,e,i))}else{let t=ei(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&t4(r)&&(r=`"${r}"`)}t=t.replace(s.find,t8(r,""))}),f?es(t,e,i):t}function eo(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||tQ.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):t6(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),t6(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,g=p?"en":this?.locale||h.locale||t1.body.closest("[lang]")?.lang,u=JSON.stringify(c)+g;return o=(ee[u]??(ee[u]=new Intl.NumberFormat(g,c))).format(t),p&&(o=o.replace(/\,/g,s??",").replace(".",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let er={dateFormat:function(t,e,i){return t0.dateFormat(t,e,i)},format:es,helpers:et,numberFormat:eo};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,w.Renderer=s)}}(o||(o={}));let ea=o,{clamp:en,pick:eh,pushUnique:el,stableSort:ed}=Z;(r||(r={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(ed(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>r;)f=e[c=Math.floor(p)],el(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(ed(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:eh(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=en(m-f.size*f.align,0,i-f.size);for(c=e.length,u=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),ed(o,a),o};let ec=r,{animate:ep,animObject:eg,stop:eu}=tW,{deg2rad:ef,doc:em,svg:ex,SVG_NS:ey,win:eb,isFirefox:ev}=w,{addEvent:ek,attr:eM,createElement:ew,crisp:eS,css:eA,defined:eT,erase:eC,extend:eO,fireEvent:eP,getAlignFactor:eE,isArray:eL,isFunction:eD,isNumber:eI,isObject:eB,isString:ez,merge:eR,objectEach:eN,pick:eW,pInt:eH,pushUnique:eX,replaceNested:eF,syncTimeout:eG,uniqueKey:eY}=Z;class ej{_defaultGetter(t){let e=eW(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o={"text-align":t?.align},r=this.renderer,a=r.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let h=!i||ez(i)?i||"renderer":void 0;h&&(n&&eX(a,this),i=void 0);let l=eW(i,r[h],r),d=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*eE(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*eE(t.verticalAlign);return o[e?"translateX":"x"]=Math.round(d),o[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](o),this.placed=!0),this.alignAttr=o,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=eg(eW(e,this.renderer.globalAnimation,!0)),o=s.defer;return em.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eG(()=>{this.element&&ep(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eN(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&w.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=em.createElementNS(ey,"tspan");eM(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=em.createElementNS(ey,"tspan");a.textContent="​",eM(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=ej.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eN(t,function(e,i){l=!1,s||eu(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=eY()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eO(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eS(i,e),n=eS(s,e);return eO(t,{x:a,y:n,width:eS(o,e)-a,height:eS(r,e)-n}),eT(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,g,u=[],f;eP(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eL(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eT(a.gradientUnits)&&(n=a,a=eR(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eN(a,function(t,e){"id"!==e&&u.push(e,t)}),eN(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=eY();let t=h[u]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tM.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eN(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eO(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eH(t.width)),eO(this.styles,t),o&&!ex&&this.renderer.forExport&&delete t.width;let r=ev&&t.fontSize||null;r&&(eI(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eR(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eA(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eH(s[e])*eW(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,eu(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=eW(e,this.rotation,0),f=h.styledMode?n&&ej.prototype.getStyle.call(n,"font-size"):l.fontSize;if(eT(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,u,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(g||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eA(e,{display:t})},eD(o)&&o("none"),i=n.getBBox?eO({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eD(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),u&&(i=this.getRotatedBox(i,u));let t={bBox:i};eP(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eE(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*ef,g=(e-90)*ef,u=Math.cos(p),f=Math.sin(p),m=o*u,x=o*f,y=Math.cos(g),b=Math.sin(g),[[v,k],[M,w]]=[h,l].map(t=>[t-t*u,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,C=T-m,O=s+c-d*x-k+M+c*b,P=O+x,E=P-r*b,L=E-x,D=Math.min(S,A,T,C),I=Math.min(O,P,E,L),B=Math.max(S,A,T,C)-D,z=Math.max(O,P,E,L)-I;return{x:D,y:I,width:B,height:z,polygon:[[S,O],[A,P],[T,E],[C,L]]}}getStyle(t){return eb.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ey,this.element="span"===e||"body"===e?ew(e):em.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eP(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=ek(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(ez(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eR(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},eB(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eH(t):""!==t&&(eM(i=em.createElementNS(ey,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;ej.symbolCustomAttribs.forEach(function(i){e[i]=eW(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||em.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eF(eW(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eT(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eW(o,e.getAttribute("x"),0)+" "+eW(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eT(a)||eT(n))&&d.push("scale("+eW(a,1)+" "+eW(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,g;if(eT(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eT(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=o.childNodes).length-1;g>=0&&!d;g--)c=!eT(l=(h=n[g]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!g?(o.insertBefore(r,n[g]),d=!0):(eH(l)<=t||c&&(!eT(t)||t>=0))&&(o.insertBefore(r,n[g+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}ej.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],ej.prototype.strokeSetter=ej.prototype.fillSetter,ej.prototype.yGetter=ej.prototype.xGetter,ej.prototype.matrixSetter=ej.prototype.rotationOriginXSetter=ej.prototype.rotationOriginYSetter=ej.prototype.rotationSetter=ej.prototype.scaleXSetter=ej.prototype.scaleYSetter=ej.prototype.translateXSetter=ej.prototype.translateYSetter=ej.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eU=ej,{defined:eV,extend:e$,getAlignFactor:eZ,isNumber:eq,merge:e_,pick:eK,removeEvent:eJ}=Z;class eQ extends eU{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=eQ.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=eZ(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&eq(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=e_(t),eQ.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eU.prototype.css.call(this,t)}destroy(){eJ(this.element,"mouseenter"),eJ(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eU.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=eK(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:eK(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&eV(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){eq(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!eq(this.widthSetting)||!eq(this.heightSetting)||this.textAlign)&&eV(e.textStr)?e.getBBox(void 0,0):eQ.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e$(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+eZ(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=eq(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=eK(this.paddingLeft,t),i=eK(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}eQ.emptyBBox={width:0,height:0,x:0,y:0},eQ.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e0,isNumber:e1,pick:e2}=Z;function e3(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e2(o.r,i),h=e2(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return e3(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e5,roundedRect:e6,square:e5,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:e4,SVG_NS:e8,win:e7}=w,{attr:it,extend:ie,fireEvent:ii,isString:is,objectEach:io,pick:ir}=Z,ia=(t,e)=>t.substring(0,e)+"…",ih=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=ir(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new tJ(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(e4.createTextNode(this.unescapeEntities(s)));is(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=it(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),it(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ia),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(e4.createTextNode(e),t);let s=e4.createElementNS(e8,"tspan");s.textContent="​",it(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ia)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===e7.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===e7.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),ie(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),ii(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,g=(e||i||"").length,u=g;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=g;)u=Math.ceil((p+g)/2),i&&(n=a(i,u)),h=f(u,n&&n.length-1),p===g?p=g+1:h>o?g=u-1:p=u;0===g?t.textContent="":e&&g===e.length-1||(t.textContent=n||a(e||i,u)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ia)}i&&i.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return io(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:il}=tx,{charts:id,deg2rad:ic,doc:ip,isFirefox:ig,isMS:iu,isWebKit:im,noop:ix,SVG_NS:iy,symbolSizes:ib,win:iv}=w,{addEvent:ik,attr:iM,createElement:iw,crisp:iS,css:iA,defined:iT,destroyObjectProperties:iC,extend:iO,isArray:iP,isNumber:iE,isObject:iL,isString:iD,merge:iI,pick:iB,pInt:iz,replaceNested:iR,uniqueKey:iN}=Z;class iW{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),iM(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iM(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ip.createTextNode("Created with Highcharts 12.1.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),ig&&t.getBoundingClientRect&&((n=function(){iA(t,{left:0,top:0}),h=t.getBoundingClientRect(),iA(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=ik(iv,"resize",n))}definition(t){return new tJ([t]).addToDOM(this.defs.element)}getReferenceURL(){if((ig||im)&&ip.getElementsByTagName("base").length){if(!iT(e)){let t=iN(),i=new tJ([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ip.body);iA(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ip.elementFromPoint(6,6);e="hitme"===(s&&s.id),ip.body.removeChild(i)}if(e)return iR(iv.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iO({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iC(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iI({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new ih(t).buildSVG()}getContrast(t){let e=tM.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0;o=iI(il.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let u=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[tJ.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iI(m[0],tJ.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),ik(d.element,iu?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),ik(d.element,iu?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{if(1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iL(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iO({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iT(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iS(i[1],e)),iT(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iS(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iP(t)?e.d=t:iL(t)&&iO(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iL(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iL(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iL(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iO(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iM(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iB(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iE(e)&&(a.x=e),iE(i)&&(a.y=i),iE(s)&&(a.width=s),iE(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new iv.Image;ik(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof e&&(n=u.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iO(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&iO(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iB(r&&r.width,ib[h]&&ib[h].width),s.imgheight=iB(r&&r.height,ib[h]&&ib[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),iM(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iT(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iT(s.imgwidth)&&iT(s.imgheight)?l(s):(s.attr({width:0,height:0}),iw("img",{onload:function(){let t=id[d.chartIndex];0===this.width&&(iA(this,{position:"absolute",top:"-999em"}),ip.body.appendChild(this)),ib[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iT(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iO(iW.prototype,{Element:eU,SVG_NS:iy,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:e9,draw:ix}),ea.registerRendererType("svg",iW,!0);let{composed:iH}=w,{attr:iX,css:iF,createElement:iG,defined:iY,extend:ij,getAlignFactor:iU,isNumber:iV,pInt:i$,pushUnique:iZ}=Z;function iq(t,e,i){let s=this.div?.style||i.style;eU.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let i_=(t,e)=>{if(!t.div){let i=iX(t.element,"class"),s=t.css,o=iG("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=iq,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eU.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class iK extends eU{static compose(t){iZ(iH,this.compose)&&(t.prototype.html=function(t,e,i){return new iK(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i$(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),iV(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),ij(this.styles,t),iF(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:g=0}=this,{display:u="block",whiteSpace:f}=n;if(iF(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iF(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iF(t,{width:e>s||i||r?l+"px":"auto",display:u,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,iY(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!iY(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,iU(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${g+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??g)-x-g-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iF(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iF(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=i_(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,tJ.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let iJ=iK.prototype;iJ.visibilitySetter=iJ.opacitySetter=iq,iJ.ySetter=iJ.rotationSetter=iJ.rotationOriginXSetter=iJ.rotationOriginYSetter=iJ.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(a||(a={}));let iQ=a,{addEvent:i0,isFunction:i1,objectEach:i2,removeEvent:i3}=Z;(n||(n={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i2(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i3(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i1(e)&&(t.eventOptions[i]=e,i0(t,i,e,{order:0})))})};let i5=n,{deg2rad:i6}=w,{clamp:i9,correctFloat:i4,defined:i8,destroyObjectProperties:i7,extend:st,fireEvent:se,getAlignFactor:si,isNumber:ss,merge:so,objectEach:sr,pick:sa}=Z,sn=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,se(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=sa(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(o?sa(o[n],a[n],n):n);r&&ss(y)&&(y=i4(r.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:ss(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y};se(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),er.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),M=m&&m.list;M?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*i6))):(f=s-d*c,m=s+(1-d)*c,fn&&(g=n-t.x+g*d,u=-1),(g=Math.min(p,g))g||e.autoRotation&&(h.styles||{}).width)&&(x=g)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(st({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sr(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sa(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(i4(p)c)&&(i=0);let g=sa(i,this.label&&this.label.newOpacity,1);i=sa(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,g,t),this.isNew=!1,se(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sa(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=sa(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=sa(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,g=!0;n&&ss(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):g=!1,l&&s%l&&(g=!1),g&&ss(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sh}=tW,{xAxis:sl,yAxis:sd}=iQ,{defaultOptions:sc}=tx,{registerEventOptions:sp}=i5,{deg2rad:sg}=w,{arrayMax:su,arrayMin:sf,clamp:sm,correctFloat:sx,defined:sy,destroyObjectProperties:sb,erase:sv,error:sk,extend:sM,fireEvent:sw,getClosestDistance:sS,insertItem:sA,isArray:sT,isNumber:sC,isString:sO,merge:sP,normalizeTickInterval:sE,objectEach:sL,pick:sD,relativeLength:sI,removeEvent:sB,splat:sz,syncTimeout:sR}=Z,sN=(t,e)=>sE(e,void 0,void 0,sD(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sM(sc,{xAxis:sl,yAxis:sP(sl,sd)});class sW{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sw(this,"init",{userOptions:e}),this.opposite=sD(e.opposite,this.opposite),this.side=sD(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sw(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sD(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sT(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sy(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sD(r.crosshair,sz(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sA(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sy(this.reversed)&&(this.reversed=!0),this.labelRotation=sC(a.rotation)?a.rotation:void 0,sp(this,r),sw(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sP(e,sc[this.coll],t),sw(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sC(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sc.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sw(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sC(a)||a instanceof Date||(o=o.filter(sC),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sD(e.dataMin,a),a),e.dataMax=Math.max(sD(e.dataMax,n),n)));else{let t=i.applyExtremes();sC(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sD(e.dataMin,a),a)),sC(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sD(e.dataMax,n),n)),sy(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sw(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sC(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,g=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(g=(t=t*d+c-h)/p+n,l&&(g=a.lin2val(g))):(l&&(t=a.val2lin(t)),g=d*(t-n)*p+c+d*h+(sC(r)?p*r:0),a.isRadial||(g=sx(g))),g}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,g,u,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sm(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sw(this,"getPlotLinePath",b,function(t){g=f=(c=sm(c=sD(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,u=m=h-c-d,sC(c)?e.horiz?(u=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),g=f=y(g,s,s+e.width)):(g=s,f=l-e.right+(i.scrollablePixelsX||0),u=m=y(u,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",g,u],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sx(Math.floor(e/t)*t),n=sx(Math.ceil(i/t)*t),h=[];if(sx(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sx(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sD(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sC(s)&&sC(o)&&sC(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=su(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sf(l))-ot-e),t=sS([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sT(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sy(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sD(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sC(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sD(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sO(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sw(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sC(t)&&sC(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sC(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:g,floor:u,linkedTo:f,softMax:m,softMin:x}=h,y=sC(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,M=0,w,S=sC(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,C,O;if(r||e||y||this.getTickAmount(),C=sD(this.userMin,d.parse(h.min)),O=sD(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sD(w.min,w.dataMin),this.max=sD(w.max,w.dataMax),this.type!==y.type&&sk(11,!0,i)):(l&&sy(c)&&sC(s)&&sC(o)&&(o>=c?(A=c,k=0):s<=c&&(T=c,v=0)),this.min=sD(C,A,o),this.max=sD(O,T,s)),sC(this.max)&&sC(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sD(o,this.min))&&sk(10,!0,i),this.min=sx(n.log2lin(this.min),16),this.max=sx(n.log2lin(this.max),16)),this.range&&sC(o)&&(this.userMin=this.min=C=Math.max(o,this.minFromRange()||0),this.userMax=O=this.max,this.range=void 0)),sw(this,"foundExtremes"),this.adjustForMinRange(),sC(this.min)&&sC(this.max)){if(!sC(this.userMin)&&sC(x)&&xthis.max&&(this.max=O=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(M=this.max-this.min)||(!sy(C)&&k&&(this.min-=M*k),sy(O)||!v||(this.max+=M*v)),!sC(this.userMin)&&sC(u)&&(this.min=Math.max(this.min,u)),!sC(this.userMax)&&sC(g)&&(this.max=Math.min(this.max,g)),l&&sC(o)&&sC(s)){let t=c||0;!sy(C)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sy(O)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sy(h.min)?this.max=this.min:sy(h.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&sC(this.min)&&sC(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sD(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sw(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sw(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let P=sD(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sk(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sN(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sC(this.min)&&sC(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sw(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sw(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sC(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sC(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sC(this.threshold)){let t=sm((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sy(t.tickInterval)||i||!(this.lenr.push(sx(r[r.length-1]+p)),f=()=>r.unshift(sx(r[0]-p));if(sC(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(g=a-1-g)),t.hasData()&&sC(s)&&sC(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sC(g)&&sC(t.threshold)){for(;r[g]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():u();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sw(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sw(this,"setExtremes",o=sM(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sI(sD(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sI(sD(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sI(sD(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sI(sD(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sx(t.lin2log(this.min)):this.min,max:t?sx(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sD(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sw(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sx(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sx(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sC(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(sg*i))))+Math.abs(i/360))u&&(u=i)}),this.maxLabelLength=u,this.autoRotation?u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sM(a,{width:`${p}px`,lineClamp:g})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sy(this.min)&&sy(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sP(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sn(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sC(s.crossing),g=e.axisOffset,u=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,M;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sD(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sL(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sy(y=d.offset)?0:sD(d.margin,i?5:10))),t.renderLine(),t.offset=f*sD(s.offset,g[o]?g[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=M,k+=f*(i?sD(c.y,t.tickRotCorr.y+f*c.distance):sD(c.x,f*c.distance))),t.axisTitleMargin=sD(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&u){let e=this.tickSize("tick");g[o]=Math.max(g[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;u[h]=Math.max(u[h],i)}sw(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,g={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],u=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?g+l:u+(n?this.width:0)+h+l,y:e?u+d-(n?this.height:0)+h:g+d};return sw(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sn(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sn(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,g=a.stackLabels,u=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sh(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sL(t,function(t){t.isActive=!1})}),sC(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sC(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sn(i,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sU(t=sV("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(l||(l={}));let s$=l,{erase:sZ,extend:sq,isNumber:s_}=Z;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!s_(this.min)||!s_(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),sK.compose(s8,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){s5(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),g=e.borderWidth,u=e.label,{label:f,svgElem:m}=this,x=[],y,b=s1(c)&&s1(d),v=s1(p),k=!m,M={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(M.stroke=o||"#999999",M["stroke-width"]=s4(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):b&&(M.fill=o||"#e6e9ff",g&&(M.stroke=e.borderColor,M["stroke-width"]=g))),l.zIndex=a,w+="-"+a,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=n.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=n.path().attr(M).add(y)),s1(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s1(c)&&s1(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(s9(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),u&&(s1(u.text)||s1(u.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(u=s6({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},u),this.renderLabel(u,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(s6({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s0(h),c=s0(l),p=sQ(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:sQ(l)-c}),(!n.alignValue||"left"===n.alignValue||s1(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s1(t.formatter)?t.formatter.call(this):t.text}destroy(){s3(this.axis.plotLinesAndBands,this),delete this.axis,s2(this)}}let{animObject:s7}=tW,{format:ot}=er,{composed:oe,dateFormats:oi,doc:os,isSafari:oo}=w,{distribute:or}=ec,{addEvent:oa,clamp:on,css:oh,discardElement:ol,extend:od,fireEvent:oc,isArray:op,isNumber:og,isObject:ou,isString:of,merge:om,pick:ox,pushUnique:oy,splat:ob,syncTimeout:ov}=Z;class ok{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||ob(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),ol(this.container)),Z.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=ob(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+ox(t.colorIndex,o.colorIndex),r&&r.className].filter(of).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ea.getRendererType();this.container=a=w.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),oh(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&w.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=os,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,g={},u=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),M=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&ox(i.ttBelow,!d&&!n===S),T=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+u)}},C=function(t,e,i,o,r){if(re-s)return!1;re-o/2?g[t]=e-o-2:g[t]=r-i/2},O=function(t){[k,M]=[M,k],w=t},P=()=>{!1!==T.apply(0,k)?!1!==C.apply(0,M)||w||(O(!0),P()):w?g.x=g.y=0:(O(!0),P())};return(n&&!d||this.len>1)&&O(),P(),g}hide(t){let e=this;Z.clearTimeout(this.hideTimer),t=ox(t,this.options.hideDelay),this.isHidden||(this.hideTimer=ov(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=ox(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=s7(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=ob(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;Z.clearTimeout(this.hideTimer),this.allowShared=!(!op(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),g=p[0],u=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=of(h)?ot(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=ox(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=g,r=u;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:on(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:g,plotY:u,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}oc(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:g,options:{positioner:u},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?os.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:M,top:w}=f.getChartPosition(),S=h+x,A=0,T=a-l;function C(t,e,s,o,r=!0){let a,n;return s?(a=k?0:T,n=on(t-o/2,y.left,y.right-o-(i.outside?M:0))):(a=e-S,n=on(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}of(t)&&(t=[!1,t]);let O=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:g.padding,r:g.borderRadius};c||(t.fill=g.backgroundColor,t["stroke-width"]=g.borderWidth??1),o=v.label("",0,0,g[r?"headerShape":"shape"],void 0,void 0,g.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(g.style).attr({stroke:g.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,k&&(S-=A));let{anchorX:M,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+on(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=on(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=u?u.call(i,x,e,r):C(M,w,l,x);t.push({align:u?0:void 0,anchorX:M,anchorY:w,boxWidth:x,point:r,rank:ox(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!u&&O.some(t=>{let{outside:e}=i,s=(e?M:0)+t.anchorX;return ss})&&(O=O.map(t=>{let{x:e,y:i}=C(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return od(t,{target:i,x:e})})),i.cleanSplit(),or(O,T);let P={left:M,right:M};O.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&M+eP.right&&(P.right=M+e))}),O.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(P.right-P.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:E,outside:L,renderer:D}=i;if(L&&E&&D){let{width:t,height:e,x:i,y:s}=b.getBBox();D.setSize(t+i,e+s,!1),E.style.left=P.left+"px",E.style.top=w+"px"}oo&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return oc(this,"headerFormatter",a,function(e){if(r&&!n&&og(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(ou(n)){let t=n;oi[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=ot(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,om(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),g=(o.positioner||this.getPosition).call(this,h,n,t),u=w.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(g.x+=l-s,g.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(on(h+x,0,u.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(oh(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-g.x,m+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,m)}}!function(t){t.compose=function(e){oy(oe,"Core.Tooltip")&&oa(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(ok||(ok={}));let oM=ok,{animObject:ow}=tW,{defaultOptions:oS}=tx,{format:oA}=er,{addEvent:oT,crisp:oC,erase:oO,extend:oP,fireEvent:oE,getNestedProperty:oL,isArray:oD,isFunction:oI,isNumber:oB,isObject:oz,merge:oR,pick:oN,syncTimeout:oW,removeEvent:oH,uniqueKey:oX}=Z;class oF{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oP({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oP(this,t=oF.prototype.optionsToObject.call(this,t)),this.options=this.options?oP(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oF.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oB(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oB(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=ow(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oH(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oO(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oW(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oE(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oL(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oX()),this.resolveColor(),t.chart.pointCount++,oE(this,"afterInit")}isValid(){return(oB(this.x)||this.x instanceof Date)&&oB(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oB(t)||null===t)r[s[0]]=t;else if(oD(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oF.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oB(i)&&oB(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oN(this.options.colorIndex,a),this.color=oN(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oz(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oA(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oz(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oz(l.data[o],!0)||oz(t,!0)?r.options:oN(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oN(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oN(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oR(this.series.options.point,this.options),i=e.events?.[t];oI(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oT(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oH(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oS.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=oN(d.options.chart.animation,o.animation);let e=u.opacity;i.options.inactiveOtherPoints&&oB(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,oN(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height,oR(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oN(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oP({fill:this.color||i.color,"fill-opacity":y.opacity},tJ.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oE(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oC(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oG=oF,{parse:oY}=tM,{charts:oj,composed:oU,isTouchDevice:oV}=w,{addEvent:o$,attr:oZ,css:oq,extend:o_,find:oK,fireEvent:oJ,isNumber:oQ,isObject:o0,objectEach:o1,offset:o2,pick:o3,pushUnique:o5,splat:o6}=Z;class o9{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!w.chartCount&&(o9.unbindDocumentMouseUp.forEach(t=>t.unbind()),o9.unbindDocumentMouseUp.length=0,o9.unbindDocumentTouchEnd&&(o9.unbindDocumentTouchEnd=o9.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o1(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return oJ(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o0(o)?o.enabled:o,p=r&&t[`${r}Key`],g=t.chartX,u=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(gn+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(g,u);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oY("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return oJ(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}oQ(i.index)&&(this.selectionMarker=s.destroy())}i&&oQ(i.index)&&(oq(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o0(r,!0)&&r.series&&(!o0(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&oQ(o.x)&&oQ(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o2(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o3(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};oJ(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=oK(t.points,function(t){return t.x===c.x&&!t.isNull});o0(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),oJ(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=oZ(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),oJ(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o3(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return o_(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(oJ(i.series,"click",o_(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(o_(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&oJ(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),w.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oj[o3(o9.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oj[o3(o9.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&o3(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(oJ(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&o6(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&o6(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(g?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o$(s.container.ownerDocument,"mousemove",t=>oj[o9.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o3((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=oK(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o$(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o$(t,"mouseleave",this.onContainerMouseLeave.bind(this))),o9.unbindDocumentMouseUp.some(t=>t.doc===e)||o9.unbindDocumentMouseUp.push({doc:e,unbind:o$(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o$(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o$(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o$(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),o9.unbindDocumentTouchEnd||(o9.unbindDocumentTouchEnd=o$(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o$(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!oV)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o3(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o$(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o$(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||oq(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||oq(i,{"touch-action":o3(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=w.charts[o3(o9.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&(t={...s,...t}),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(o9.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o3(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o3(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}o9.unbindDocumentMouseUp=[],function(t){t.compose=function(e){o5(oU,"Core.Pointer")&&o$(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(o9||(o9={}));let o4=o9,{fireEvent:o8,isArray:o7,objectEach:rt,uniqueKey:re}=Z,ri=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||re(),this.modified=this,this.rowCount=0,this.versionTag=re();let e=0;rt(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,rt(this.columns,e=>{o7(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;rt(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(o8(this,"afterSetColumns"),this.versionTag=re())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;rt(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(o8(this,"afterSetRows"),this.versionTag=re())}},{extend:rs,merge:ro,pick:rr}=Z;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},f,m=r.marker,x=0;if(o.styledMode||(u["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?u.dashstyle=r.dashStyle:"square"===r.linecap||(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,g],["L",n-x,g]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(rr(m.radius,d),d);0===l.indexOf("url")&&(m=ro(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,rs({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,rr(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(c||(c={}));let ra=c,{defaultOptions:rn}=tx,{extend:rh,extendClass:rl,merge:rd}=Z;!function(t){function e(e,i){let s=rn.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oG),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=w.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rn.plotOptions||{};if(s=s||"",n[i]=rd(n[s],o),delete t.seriesTypes[i],e(i,rl(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oG{}rh(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(p||(p={}));let rc=p,{animObject:rp,setAnimation:rg}=tW,{defaultOptions:ru}=tx,{registerEventOptions:rf}=i5,{svg:rm,win:rx}=w,{seriesTypes:ry}=rc,{arrayMax:rb,arrayMin:rv,clamp:rk,correctFloat:rM,crisp:rw,defined:rS,destroyObjectProperties:rA,diffObjects:rT,erase:rC,error:rO,extend:rP,find:rE,fireEvent:rL,getClosestDistance:rD,getNestedProperty:rI,insertItem:rB,isArray:rz,isNumber:rR,isString:rN,merge:rW,objectEach:rH,pick:rX,removeEvent:rF,syncTimeout:rG}=Z;class rY{constructor(){this.zoneAxis="y"}init(t,e){let i;rL(this,"init",{options:e}),this.dataTable??(this.dataTable=new ri);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rP(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rf(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rX(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rB(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rL(this,"afterInit")}is(t){return ry[t]&&this instanceof ry[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rL(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rX(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rB(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rO(18,!0,s)})}),rL(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rX(this.pointInterval,i.pointInterval,1),o&&rR(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rR(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rP(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rS(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rW(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rL(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=ru.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let g=rW(h,s.series,p,r);this.tooltipOptions=rW(ru.tooltip,ru.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rX(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let u=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),u.push(e)),u.length&&rS(u[u.length-1].value)&&u.push(a?{}:{color:this.color,fillColor:this.fillColor}),rL(this,"afterSetOptions",{options:g}),g}getName(){return rX(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rS(o=rX("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||ru.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oG&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rE(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rR(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rR(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rS(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rR(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let g=this.getColumn("x");return null===this.xIncrement&&g.length&&(this.xIncrement=rb(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),g=this.pointValKey||"y",u=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rW(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rz(t)&&(f||rR(t[0])));if(rR(i)&&rR(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[g]:i})}else if(o(i)&&o(s)){if(u){let e=i.length===u?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=u;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[g]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rI(i,t),o=rI(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,g,u,f,m=e.getColumn("x"),x=i,y=!1;return r&&(u=(g=r.getExtremes()).min,f=g.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new ri:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,u,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rD([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rO(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rL(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new ri({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],g=this.dataColumnKeys(),u,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,g=o||this.cropped||!i,u,f,m,x=0,y=0;for(i&&(x=(u=i.getExtremes()).min,y=u.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rR(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rv(d),dataMax:rb(d)};return rL(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rH(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rL(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=rX(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(g),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=rX(o.radius,s&&s.radius);e&&(n=s.states[e],l=rX((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rR(l)&&d&&(i.crisp&&(d[0]=rw(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,g=rX(o.lineWidth,i.lineWidth),u=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},g=rX((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,g+rX(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":g,fill:c,opacity:u=rX(l.opacity,h.opacity,u)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(rx.navigator.userAgent),n=o.data||[];for(rL(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rC(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rA(t,void 0,!0);Z.clearTimeout(o.animationTimeout),rH(o,function(t,e){t instanceof eU&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rC(r.series,o),r.orderItems("series"),rH(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:g=0}=d||{},u=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rk(d.toPixels(rX(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,f=r.len,y=a.len;c?(p=o,f=x):(g=o,y=x);let b=[["M",p,g],["L",f,g],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rS(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rS(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rF(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rp(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rL(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rG(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rL(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rG(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rm?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rL(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,g=n.data,u=this.getColumn("x");e=rX(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=u.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),g?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,g,...Object.values(d.getColumns())].filter(rS).forEach(t=>{t.shift()}),d.rowCount-=1,rL(d,"afterDeleteRows"))),!1!==o&&rL(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rS).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rL(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};rg(i,o),e=rX(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rX(t,!0)&&r.redraw(e)}!1!==i?rL(o,"remove",null,a):a()}update(t,e){rL(this,"update",{options:t=rT(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=ry[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||o.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));g=g||r,u?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rP(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rW(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(ry[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,ry[g].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rP(i,ry[g].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rO(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rL(this,"afterUpdate"),rX(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rX(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rS(r)?i!==o:i!==rX(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rL(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rL(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rX(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=rX(a[t].opacity,l)),o&&!o.dashstyle&&rR(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rL(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rL(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){ra[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rY.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rY.types=rc.seriesTypes,rY.registerType=rc.registerSeriesType,rP(rY.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oG,requireSorting:!0,sorted:!0}),rc.series=rY;let rj=rY,{animObject:rU,setAnimation:rV}=tW,{registerEventOptions:r$}=i5,{composed:rZ,marginNames:rq}=w,{distribute:r_}=ec,{format:rK}=er,{addEvent:rJ,createElement:rQ,css:r0,defined:r1,discardElement:r2,find:r3,fireEvent:r5,isNumber:r6,merge:r9,pick:r4,pushUnique:r8,relativeLength:r7,stableSort:at,syncTimeout:ae}=Z;class ai{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r$(this,e),rJ(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),rJ(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=r4(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=r9(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=r4(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(r9(!0,this.options,t)),"events"in this.options&&r$(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,r4(e,!0)&&i.redraw(),r5(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rj||t instanceof oG)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(r9(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,r5(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r1(e.translateY)?"animate":"attr"](o,void 0,()=>{r5(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r2(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r0(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?r4(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&r4(i.showInLegend,!r1(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),r5(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r1(t[a])&&(i[rq[a]]=Math.max(i[rq[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+r4(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r3(a?t.points:t.points.slice(0).reverse(),function(t){return r6(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),r_(i,e.plotHeight)))t=o.item.legendItem||{},r6(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=r7(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),at(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),r5(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=r9(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(r9(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=r4(l.animation,!0),c=l.arrowSize||12,p=this.pages,g=this.allItems,u=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=r4(this.currentPage,1),this.fullHeight=t,g.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((g[e-1].legendItem||{}).pageIx=o-1),e===g.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),u(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(u(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&rV(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),ae(()=>{r5(this,"afterScroll",{currentPage:l})},rU(r4(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oG,n=t instanceof rj,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(r9(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),r5(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&r5(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=rQ("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),rJ(t.checkbox,"click",function(e){let i=e.target;r5(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){r8(rZ,"Core.Legend")&&rJ(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(ai||(ai={}));let as=ai,{animate:ao,animObject:ar,setAnimation:aa}=tW,{defaultOptions:an}=tx,{numberFormat:ah}=er,{registerEventOptions:al}=i5,{charts:ad,doc:ac,marginNames:ap,svg:ag,win:au}=w,{seriesTypes:af}=rc,{addEvent:am,attr:ax,createElement:ay,css:ab,defined:av,diffObjects:ak,discardElement:aM,erase:aw,error:aS,extend:aA,find:aT,fireEvent:aC,getAlignFactor:aO,getStyle:aP,isArray:aE,isNumber:aL,isObject:aD,isString:aI,merge:aB,objectEach:az,pick:aR,pInt:aN,relativeLength:aW,removeEvent:aH,splat:aX,syncTimeout:aF,uniqueKey:aG}=Z;class aY{static chart(t,e,i){return new aY(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aI(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aR(t.zoomType,e.type),key:aR(t.zoomKey,e.key),pinchType:aR(t.pinchType,e.pinchType),singleTouch:aR(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:aB(e.resetButton,t.resetZoomButton)}}init(t,e){aC(this,"init",{args:arguments},function(){let i=aB(an,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aA({},t),(this.renderTo=aI(o)?ac.getElementById(o):o)||aS(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tc(aA(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ah).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ad.length,ad.push(this),w.chartCount++,al(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aC(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=af[i];s||aS(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aX(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aX(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(u.isInsidePlot=!1)}if(!i.ignoreY&&u.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+g:a+g;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(u.isInsidePlot=!1)}return aC(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){aC(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),aa(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&(g=!0)),t.isDirtyData&&aC(t,"updatedData")}),g&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){aC(t,"afterSetExtremes",aA(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aC(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aC(this,"redraw"),aC(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aT(this.axes,i)||aT(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aR(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=aB(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aA("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=aB(o),n=i?.textPxLength||0;if(i&&r){aC(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,g="title"===t?c?-3:0:c?e[0]+2:0,u=Math.min(a.width/n,1),f=Math.max(p,u),m=aB({y:"bottom"===d?h:g+h},{align:"title"===t?up?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aO(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aC(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aP(this.renderTo,"width",!0)||0,height:aP(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aW(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(ab(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ac.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ac.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ac.body.appendChild(e)),("none"===aP(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),ab(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ac.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aG(),r=this.renderTo,a=aN(ax(r,s));aL(a)&&ad[a]&&ad[a].hasRendered&&ad[a].destroy(),ax(r,s,this.index),r.innerHTML=tJ.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;ab(r,{overflow:"hidden"}),this.styledMode||(t=aA({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=ay("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||ab(l,{width:aR(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!ag?ea.getRendererType(i.renderer):iW;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),aa(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aC(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!av(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!av(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aC(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ap.forEach(function(i,o){av(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return ak(this.userOptions,an)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(Z.clearTimeout(e.reflowTimeout),e.reflowTimeout=aF(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=am(au,"resize",e);am(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,aa(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ao:ab)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aC(s,"resize"),setTimeout(()=>{s&&aC(s,"endResize")},ar(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),aC(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aC(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aD(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aR(e[i+s],o[r])})}),ap.forEach(function(e,i){t[e]=aR(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",x||(M="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[M](g),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),M="animate",y||(M="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[M](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aC(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=af[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=af[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aI(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aR(t.options.visible,s.options.visible,t.visible))}}),aC(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),aC(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sn(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aR(i.reserveSpace,!aL(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=aB(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(au.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aC(e,"destroy"),e.renderer.forExport?aw(ad,e):ad[e.index]=void 0,w.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aH(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=tJ.emptyHTML,aH(o),r&&aM(o)),az(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aE(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aC(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aC(this,"load"),aC(this,"render"),av(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aC(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),ab(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:g,minPointOffset:u=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aR(a[x],t.len),v=aR(s[x],t.len),k=10>Math.abs(b)?1:b/v,M=(s[y]||0)+v/2-t.pos,w=M-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:u*S),T=t.toValue(w+g/k,!0)-(r||t.isOrdinal?0:u*S||0),C=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===k&&!o&&"yAxis"===t.coll&&!C){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);C??(C={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aL(t.dataMin)&&aL(t.dataMax)&&(C.dataMin=Math.min(t.dataMin,C.dataMin),C.dataMax=Math.max(t.dataMax,C.dataMax))}t.allExtremes=C}let{dataMin:O,dataMax:P,min:E,max:L}=aA(t.getExtremes(),C||{}),D=l.parse(f.min),I=l.parse(f.max),B=O??D,z=P??I,R=T-A,N=t.categories?0:Math.min(R,z-B),W=B-N*(av(D)?0:f.minPadding),H=z+N*(av(I)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,F=Math.min(D??W,W,X?E:W),G=Math.max(I??H,H,X?L:H);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(A=1&&(T=A+R)),T>G&&(T=G,k>=1&&(A=T-R)),(o||t.series.length&&(A!==E||T!==L)&&A>=F&&T<=G)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:n,scale:k}),!o&&(A>F||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aA(aY.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aY.prototype.addAxis,[!0]],yAxis:[aY.prototype.addAxis,[!1]],series:[aY.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:aj}=tW,{composed:aU}=w,{addEvent:aV,createElement:a$,css:aZ,defined:aq,erase:a_,merge:aK,pushUnique:aJ}=Z;function aQ(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new a1(this)),t?.applyFixed()}function a0(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class a1{static compose(t,e,i){aJ(aU,this.compose)&&(aV(t,"afterInit",a0),aV(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),aV(e,"render",aQ),aV(i,"show",a0))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=aK(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),aq(s)&&(t.scrollablePlotBox=aK(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),aq(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=ea.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a$("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=a$("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=a$("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=a$("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),aZ(t.renderTo,{overflow:"visible"}),aV(t,"afterShowResetZoom",r),aV(t,"afterApplyDrilldown",r),aV(t,"afterLayOutTitles",r),aV(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+g;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aj(t.container),aZ(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),aZ(s,{width:`${r}px`,height:`${a}px`}),aq(i)||(s.scrollLeft=p*u,s.scrollTop=g*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,M=l+c-p,w=d+h-g,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",M,y],["L",r,y],["L",r,v],["L",M,v],["Z"]]:g&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,w],["L",b,a],["L",k,a],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=a1.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aJ(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])a_(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}a1.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a2}=er,{series:a3}=rc,{destroyObjectProperties:a5,fireEvent:a6,getAlignFactor:a9,isNumber:a4,pick:a8}=Z,a7=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){a5(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a2(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:a8(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a6(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:g}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===a8(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&a3.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*a9(l.textAlign||"center"),rotationOriginY:t.height/2}),a8(!i&&l.crop,!0)&&(s=a4(h.x)&&a4(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}a6(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*a9(i)-1),y:t.height/2*2*(1-a9(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:a8(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=a8(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||a4(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:nt}=tW,{series:{prototype:ne}}=rc,{addEvent:ni,correctFloat:ns,defined:no,destroyObjectProperties:nr,fireEvent:na,isNumber:nn,objectEach:nh,pick:nl}=Z;function nd(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nl(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function nc(){let t=this.stacking;if(t){let e=t.stacks;nh(e,(t,i)=>{nr(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function np(){this.stacking||(this.stacking=new ny(this))}function ng(t,e,i,s){return!no(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nu(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function nf(t,e,i){let s=e.total?100/e.total:0;t[0]=ns(t[0]*s),t[1]=ns(t[1]*s),this.stackedYData[i]=t[1]}function nm(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?ne.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function nx(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],g=c.length,u=this.options,f=u.threshold||0,m=u.startFromThreshold?f:0,x=u.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,M=k.stacks,w=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&M[r]?.[e]?(r=M[r][e]).total=Math.max(r.total||0,S)+Math.abs(u):ns(S+Math.abs(u))):"group"===l?nn(g)&&S++:S=ns(S+u),"group"===l?o.cumulative=(S||1)-1:o.cumulative=ns(nl(o.cumulative,m)+u),o.total=S,null!==g&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class ny{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{nh(t,t=>{t.cumulative=t.total})}))}resetStacks(){nh(this.stacks,t=>{nh(t,(e,i)=>{nn(e.touched)&&e.touched{nh(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(g||(g={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(ni(t,"init",np),ni(t,"destroy",nc),s.getStacks=nd,o.getStackIndicator=ng,o.modifyStacks=nu,o.percentStacker=nf,o.setGroupedPoints=nm,o.setStackedPoints=nx)};let nb=g,{defined:nv,merge:nk,isObject:nM}=Z;class nw extends rj{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nk({filterUnits:"userSpaceOnUse"},nM(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,g=l.plotY,u=t[d-1],f=l.isNull||"number"!=typeof g;(l.leftCliff||u&&u.rightCliff)&&!i&&(n=!0),f&&!nv(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",u.plotX,g]]:2===h?[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,g]]:[["L",p,u.plotY]]).push(["L",p,g]):c=[["L",p,g]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nw.defaultOptions=nk(rj.defaultOptions,{legendSymbol:"lineMarker"}),rc.registerSeriesType("line",nw);let{seriesTypes:{line:nS}}=rc,{extend:nA,merge:nT,objectEach:nC,pick:nO}=Z;class nP extends nS{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nS.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,g=Math.round(n.getThreshold(r.threshold)),u=nO(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],u=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?u[0]:u[1])+m,y=u[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?g:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?g:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,g){let u=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[g+i]],u=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;nJ(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&nZ(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nU(s)){if(nq(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=nK(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=nK(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,g=t.dataMax,u=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rj.prototype.translate.apply(t),t.points.forEach(function(s){let o=nK(s.yBottom,u),m=999+Math.abs(o),x=s.plotX||0,y=nY(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,M=d,w=x+c,S=f;h&&Math.abs(k)h?o-h:u-(b?h:0)),nU(s.options.pointWidth)&&(w-=Math.round(((M=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,M,s,l)),s.barX=w,s.pointWidth=M,s.tooltipPos=e.inverted?[nY(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,k]:[r.left-e.plotLeft+w+S/2,nY(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?u:v,S,s.isNull?0:k)}),n$(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,g=nK(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=n_(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nF(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,g=nK(a.opacity,g));let u={fill:l,stroke:d,"stroke-width":p,opacity:g};return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=n3(h)&&n3(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===he(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&n3(h)&&(t.series.forceDL||a&&!p||c||he(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();if(g&&u){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=n5({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),n5(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(n7(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=n9(i.align)*(l.width-h.width),e.alignAttr.y+=n9(i.verticalAlign)*(l.height-h.height),e.attr({"text-align":e.alignAttr["text-align"]||"center"})[e.placed?"animate":"attr"]({x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(he(i.crop,!0)){let{x:t,y:i}=e.alignAttr;g=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})}o&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(n8(l)&&l||n8(a)&&a||"#000000"),c=h(i),{animation:p,defer:g}=c[0],u=g?n1(s,p,i):{defer:0,duration:0};n6(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(u),t.forEach(t=>{let a=t.dataLabels||[];hs(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:g,style:u={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=n3(f=he(n[t.formatPrefix+"Format"],n.format))?n2(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(u.color=he(n.color,u.color,n8(i.color)?i.color:void 0,"#000000"),"contrast"===u.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),u.color=k||!n3(g)&&n.inside||0>hi(g||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(u.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),ht(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&n3(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&n3(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?u.width&&b.css({width:u.width,textOverflow:u.textOverflow,whiteSpace:u.whiteSpace}):b.css(u).shadow(n.shadow),n6(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),n6(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&u>=0?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(n4(t)&&!n4(e))i=t.map(function(t){return n7(t,e)});else if(n4(e)&&!n4(t))i=e.map(function(e){return n7(t,e)});else if(n4(t)||n4(e)){if(n4(t)&&n4(e))for(s=Math.max(t.length,e.length);s--;)i[s]=n7(t[s],e[s])}else i=n7(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return hs(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(u||(u={}));let ho=u,{composed:hr}=w,{series:ha}=rc,{merge:hn,pick:hh,pushUnique:hl}=Z;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hh(t.below,t.plotY>hh(this.translatedThreshold,h)),c=hh(i.inside,!!this.options.stacking);if(l){if(s=hn(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hx(hb.prototype,{drawTracker:hu.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hm(hb,"afterTranslate",function(){this.applyJitter()}),rc.registerSeriesType("scatter",hb);let{deg2rad:hv}=w,{fireEvent:hk,isNumber:hM,pick:hw,relativeLength:hS}=Z;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let g=[hw(r?.[0],"50%"),hw(r?.[1],"50%"),hw(l&&l<0?void 0:t.size,"100%"),hw(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rj||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=hS(p,[s,o,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),hM(n)&&2*n0&&(g[3]=g[2]-2*n),hk(this,"afterGetCenter",{positions:g}),g},t.getStartAndEndRadians=function(t,e){let i=hM(t)?t:0,s=hM(e)&&e>i&&e-i<360?e:i+360;return{start:hv*(i+-90),end:hv*(s+-90)}}}(m||(m={}));let hA=m,{setAnimation:hT}=tW,{addEvent:hC,defined:hO,extend:hP,isNumber:hE,pick:hL,relativeLength:hD}=Z;class hI extends oG{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hC(this,"select",s),hC(this,"unselect",s)}isValid(){return hE(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hT(i,s.chart),e=hL(e,!0),this.sliced=this.options.sliced=t=hO(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hP(hI.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,g="left"===t.alignment,{x:u,y:f}=t,m=o.x;if(i.crookDistance){let t=hD(i.crookDistance,1);m=g?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",u,f]];return(g?m<=u&&m>=o.x:m>=u&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hB}=hA,{noop:hz}=w,{clamp:hR,extend:hN,fireEvent:hW,merge:hH,pick:hX}=Z;class hF extends rj{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hX(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:e9.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hR((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hH(!0,n,i),hH(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hW(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hB(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,g,u,f,m=0;for(t||(this.center=t=this.getCenter()),u=0;u1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hW(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hF.defaultOptions=hH(rj.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hN(hF.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:n0.prototype.drawTracker,getCenter:hA.getCenter,getSymbol:hz,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:n0.prototype.pointAttribs,pointClass:hI,requireSorting:!1,searchPoint:hz,trackerGroups:["group","dataLabelsGroup"]}),rc.registerSeriesType("pie",hF);let{composed:hG,noop:hY}=w,{distribute:hj}=ec,{series:hU}=rc,{arrayMax:hV,clamp:h$,defined:hZ,pick:hq,pushUnique:h_,relativeLength:hK}=Z;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,g=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*g,y:p+d*g},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,g,u,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hU.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=hK(o?.distance||0,s);0===i&&d[t.half].push(t),!hZ(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,g=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},g.push(t.distributeBox))})}),hj(g,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,M=0,w=y,S="inherit";if(x){if(g&&hZ(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)M=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":M=p.alignToConnectors(e,a,s,r);break;case"plotEdges":M=p.alignToPlotEdges(l,a,s,r);break;default:M=p.radialDistributionX(t,i,w-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:M+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=M,x.computed.y=w-k,hq(d.crop,!0)){let t;M-(u=l.getBBox().width)s-b&&0===a&&(t=Math.round(M+u-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===hV(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;g=s.connector,a&&a.distance>0?(n=!g,g||(s.connector=g=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||g.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),g[n?"attr":"animate"]({d:e.getConnectorPath(s)}),g.attr({visibility:a.attribs?.visibility})):g&&(s.connector=g.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h$(r,o,e[2]-Math.max(t[0],t[2])):(r=h$(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(y||(y={}));let{pointInPolygon:hQ}=y,{addEvent:h0,fireEvent:h1,objectEach:h2,pick:h3}=Z;function h5(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(hQ({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{h2(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=h3(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,h6(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let h4={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=h5,h0(t,"render",h9))}},{defaultOptions:h8}=tx,{noop:h7}=w,{addEvent:lt,extend:le,isObject:li,merge:ls,relativeLength:lo}=Z,lr={radius:0,scope:"stack",where:void 0},la=h7,ln=h7;function lh(t,e,i,s,o={}){let r=la(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lo(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),g=Math.min(p,d/Math.PI*2*a),u=r.length-1;for(;u--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,g=n?a-i:a+i,u=g?Math.asin(i/g):0,f=n?u:-u,m=Math.cos(u)*g;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?g:p);return r}function ll(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=h8.plotOptions?.[this.type]?.borderRadius,o=ld(t.borderRadius,li(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,g=o.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let u=Math.min(lo(o.radius,n),n/2,"all"===g?h/2:1/0)||0;"end"===g&&(p&&(d-=u),c+=u),le(a,{brBoxHeight:c,brBoxY:d,r:u})}}}}function ld(t,e){return li(t)||(t={radius:t||0}),ls(lr,e,t)}function lc(){let t=ld(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lo(t.radius,(i.r||0)-(i.innerR||0)))}}function lp(t,e,i,s,o={}){let r=ln(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,g=Math.max(c&&l,0),u=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],M=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=w(c,c-g);f[0]-=t,m[0]+=t,x[1]=M[1]=e+c-g}if(s=lx(i.minWidth,0)&&this.chartHeight>=lx(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=ly()),this.matchResponsiveRule(t,o)},this);let a=lm(...o.map(t=>lf((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lg(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lu(s,{matchResponsiveRule:e,setResponsive:i}),t}}(b||(b={}));let lb=b;w.AST=tJ,w.Axis=sW,w.Chart=aY,w.Color=tM,w.DataLabel=ho,w.DataTableCore=ri,w.Fx=tC,w.HTMLElement=iK,w.Legend=as,w.LegendSymbol=ra,w.OverlappingDataLabels=w.OverlappingDataLabels||h4,w.PlotLineOrBand=s8,w.Point=oG,w.Pointer=o4,w.RendererRegistry=ea,w.Series=rj,w.SeriesRegistry=rc,w.StackItem=a7,w.SVGElement=eU,w.SVGRenderer=iW,w.Templating=er,w.Tick=sn,w.Time=tc,w.Tooltip=oM,w.animate=tW.animate,w.animObject=tW.animObject,w.chart=aY.chart,w.color=tM.parse,w.dateFormat=er.dateFormat,w.defaultOptions=tx.defaultOptions,w.distribute=ec.distribute,w.format=er.format,w.getDeferredAnimation=tW.getDeferredAnimation,w.getOptions=tx.getOptions,w.numberFormat=er.numberFormat,w.seriesType=rc.seriesType,w.setAnimation=tW.setAnimation,w.setOptions=tx.setOptions,w.stop=tW.stop,w.time=tx.defaultTime,w.timers=tC.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;lt(t,"afterColumnTranslate",ll,{order:9}),lt(s,"afterTranslate",lc),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),la=o.arc,ln=o.roundedRect,o.arc=lh,o.roundedRect=lp}},optionsToObject:ld}).compose(w.Series,w.SVGElement,w.SVGRenderer),hd.compose(w.Series.types.column),ho.compose(w.Series),sY.compose(w.Axis),iK.compose(w.SVGRenderer),as.compose(w.Chart),s$.compose(w.Axis),h4.compose(w.Chart),hJ.compose(w.Series.types.pie),s8.compose(w.Chart,w.Axis),o4.compose(w.Chart),lb.compose(w.Chart),a1.compose(w.Axis,w.Chart,w.Series),nb.compose(w.Axis,w.Chart,w.Series),oM.compose(w.Pointer),Z.extend(w,Z);let{isTouchDevice:lv}=w,{addEvent:lk,merge:lM,pick:lw}=Z,lS=[];function lA(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function lT(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=lw(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+lw(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function lC(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),lw(t.redraw,!0)&&this.redraw(t.animation))}function lO(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function lP(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!lv&&"x"===this.zooming.type||lv&&"x"===this.zooming.pinchType))return!1}function lE(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function lL(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(lM(!0,this.options.navigator,e),lM(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let lD={compose:function(t,e){if(Z.pushUnique(lS,t)){let s=t.prototype;i=e,s.callbacks.push(lE),lk(t,"afterAddSeries",lA),lk(t,"afterSetChartSize",lT),lk(t,"afterUpdate",lC),lk(t,"beforeRender",lO),lk(t,"beforeShowResetZoom",lP),lk(t,"update",lL)}}},{isTouchDevice:lI}=w,{addEvent:lB,correctFloat:lz,defined:lR,isNumber:lN,pick:lW}=Z;function lH(){this.navigatorAxis||(this.navigatorAxis=new lF(this))}function lX(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||lI&&"xy"===a)&&this.options.range){let e=r.previousZoom;lR(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class lF{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),lB(t,"init",lH),lB(t,"setExtremes",lX))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=lW(i,o.translate(t,!0,!o.horiz)),n=lW(s,o.translate(e,!0,!o.horiz));return lR(i)||(a=lz(a+r)),lR(s)||(n=lz(n-r)),lN(a)&&lN(n)||(a=n=void 0),{min:a,max:n}}}let{parse:lG}=tM,{seriesTypes:lY}=rc,lj={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:lG("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===lY.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:lU}=Z,lV={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,a=lU(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...e9.rect(-r-1,.5,2*r+1,s,{r:a})]}},{defined:l$}=Z,{setOptions:lZ}=tx,{composed:lq}=w,{getRendererType:l_}=ea,{setFixedRange:lK}={setFixedRange:function(t){let e=this.xAxis[0];l$(e.dataMax)&&l$(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:lJ,extend:lQ,pushUnique:l0}=Z;function l1(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let l2={compose:function(t,e,i){lF.compose(e),l0(lq,"Navigator")&&(t.prototype.setFixedRange=lK,lQ(l_().prototype.symbols,lV),lJ(i,"afterUpdate",l1),lZ({navigator:lj}))}},{composed:l3}=w,{addEvent:l5,defined:l6,pick:l9,pushUnique:l4}=Z;!function(t){let e;function i(t){let e=l9(t.options&&t.options.min,t.min),i=l9(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:l6(t.dataMin)?Math.min(e,t.min,t.dataMin,l9(t.threshold,1/0)):e,scrollMax:l6(t.dataMax)?Math.max(i,t.max,t.dataMax,l9(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),l5(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:a,scrollMin:n,scrollMax:h}=i(t),l=h-n;if(l6(r)&&l6(a)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=n+l*this.to,o=n+l*this.from):(s=n+l*(1-this.from),o=n+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),a=this.scrollbar,n=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=n),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=n),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(r)||!l6(this.min)||!l6(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){l4(l3,"Axis.Scrollbar")&&(e=i,l5(t,"afterGetOffset",s),l5(t,"afterInit",o),l5(t,"afterRender",r))}}(v||(v={}));let l8=v,l7={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:dt}=tx,{addEvent:de,correctFloat:di,crisp:ds,defined:dr,destroyObjectProperties:da,fireEvent:dn,merge:dh,pick:dl,removeEvent:dd}=Z;class dc{static compose(t){l8.compose(t,dc)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,da(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let a=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),a.attr(a.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},a.strokeWidth()));let n=e.path(dc.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dh(l7,dt.scrollbar,e),this.options.margin=dl(this.options.margin,10),this.chart=i,this.size=dl(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dn(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dn(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){dd.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-ds(0,r),y:-ds(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(dc.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-ds(0,this.scrollbarStrokeWidth),-ds(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,a=o.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!dr(n))return;let l=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=di(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dl(this.options.liveRedraw,w.svg&&!w.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!dr(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dn(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dh(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=di(1-di(e-t)),e=1),t<0&&(e=di(e-t),t=0),this.from=t,this.to=e}}dc.defaultOptions=l7,dt.scrollbar=dh(!0,dc.defaultOptions,dt.scrollbar);let{defaultOptions:dp}=tx,{isTouchDevice:dg}=w,{prototype:{symbols:du}}=iW,{addEvent:df,clamp:dm,correctFloat:dx,defined:dy,destroyObjectProperties:db,erase:dv,extend:dk,find:dM,fireEvent:dw,isArray:dS,isNumber:dA,merge:dT,pick:dC,removeEvent:dO,splat:dP}=Z;function dE(t,...e){let i=[].filter.call(e,dA);if(i.length)return Math[t].apply(0,i)}class dL{static compose(t,e,i){lD.compose(t,dL),l2.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-a,g=d+c,u=this.left,f,m;i?(f=d+e+n,e=d+t+n,m=[["M",u+c,d-h-n],["L",u+c,f],["L",u,f],["M",u,e],["L",u+c,e],["L",u+c,d+l+h]],o&&m.push(["M",u+c,f-a],["L",u+c,e+a])):(u-=h,t+=u+h-n,e+=u+h-n,m=[["M",u,p],["L",t,p],["L",t,g],["M",e,g],["L",e,p],["L",u+l+2*h,p]],o&&m.push(["M",t-a,p],["L",e+a,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,a,n;let h=this.left,l=this.top,d=this.height;i?(a=[h,h,h],n=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(a=[h,h+t,h+e],n=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(a))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=du[l].call(du,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(a)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(dT(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),dy(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{dO(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(df(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,g=this.scrollButtonSize,u,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!dy(i))return;if(this.isDirty&&this.renderElements(),t=dx(t-a/2),e=dx(e+a/2),!dA(t)||!dA(e)){if(!l)return;i=0,s=dC(r.width,n.width)}this.left=dC(r.left,o.plotLeft+g+(d?o.plotWidth:0));let v=this.size=y=dC(r.len,(d?o.plotHeight:o.plotWidth)-2*g);u=d?x:y+2*g,i=dC(i,r.toPixels(t,!0)),s=dC(s,r.toPixels(e,!0)),dA(i)&&Math.abs(i)!==1/0||(i=0,s=u);let k=r.toValue(i,!0),M=r.toValue(s,!0),w=Math.abs(dx(M-k));wp&&(this.grabbedLeft?i=r.toPixels(M-p-a,!0):this.grabbedRight&&(s=r.toPixels(k+p+a,!0))),this.zoomedMax=dm(Math.max(i,s),0,v),this.zoomedMin=dm(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-g,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*g):(m=this.top+(h?this.height:-x),f=this.left-g),this.scrollbar.position(f,m,u,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,dw(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(df(e.renderTo,"mousemove",o),df(i.ownerDocument,"mouseup",r),df(e.renderTo,"touchmove",o),df(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(df(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(df(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,dy((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&dw(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&dC(e.scrollbar.options.liveRedraw,!dg&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a;let n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),dy((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&dw(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&dA(this.zoomedMin)&&dA(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){dO(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&dO(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,a=s&&i.height||0,n=r&&o.height||0,h=o.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=a,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,g=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new sW(t,dT({breaks:g.options.breaks,ordinal:g.options.ordinal,overscroll:g.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:g.options.ordinal?0:g.options.minPadding,maxPadding:g.options.ordinal?0:g.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:a}:{offsets:e,height:a}),"xAxis"),l.yAxis=new sW(t,dT(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:dC(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:a}:{height:a}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=df(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,a=dE("min",s.options.min,o.dataMin),n=dE("max",s.options.max,o.dataMax)-a;return i?e*n/r+a:r*(e-a)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=lF.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=dT(t.options.scrollbar,{vertical:t.inverted});!dA(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new dc(t.renderer,e,t),df(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=dC(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,a=i.options;return t&&null===i.dataMin||(e={dataMin:dC(s.parse(r?.min),dE("min",s.parse(a.min),i.dataMin,o.dataMin,o.min)),dataMax:dC(s.parse(r?.max),dE("max",s.parse(a.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?dM(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(dO(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=dk({color:t.color,visible:t.visible},dS(l)?dp.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(n=t.options||{}).navigatorOptions||{},p.dataLabels=dP(p.dataLabels),(h=dT(n,r,p,d)).pointRange=dC(p.pointRange,d.pointRange,dp.plotOptions[h.type||"line"].pointRange);let g=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!g,h.data=g||n.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,a.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||dS(l))&&(i.hasNavigatorData=!1,(l=dP(l)).forEach((t,e)=>{r.name="Navigator "+(a.length+1),(h=dT(dp.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(df(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(df(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(df(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(df(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(df(i,"remove",function(){e&&dv(e,i),this.navigatorSeries&&t.series&&(dv(t.series,this.navigatorSeries),dy(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=dC(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],g=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),g&&(l||d)&&dA(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=dC(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(dA(o)&&dA(r))&&(a&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{db(t)}),this.navigatorEnabled=!1}}let dD={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}},{merge:dI,addEvent:dB,fireEvent:dz,pick:dR}=Z;class dN{static navigator(t,e){let i=new dN(t,e);return w.navigators?w.navigators.push(i):w.navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=dI(w.getOptions(),dD,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);let i=new aY(t,this.chartOptions);i.options=dI(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new dL(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof aY?t.xAxis[0]:t;if(!(s instanceof sW))return;let{min:o,max:r}=this.navigator.xAxis,a=[];if(e){let t=dB(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mouseWheelZoom"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:s})});a.push(t)}let n=dB(this.navigator,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});a.push(n);let h=this.boundAxes.filter(function(t){return t.axis===s})[0];h||(h={axis:s,callbacks:[]},this.boundAxes.push(h)),h.callbacks=a,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),s.setExtremes(o,r),dB(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t){if(!t){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0;return}let e=t instanceof sW?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===e&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=dI(this.chartOptions,t.height&&{chart:{height:t.height}},{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(dI(t,{showInNavigator:dR(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:o,max:r}=this.navigator.xAxis.getExtremes();return{min:dR(t,o),max:dR(e,r),dataMin:o,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,o){dz(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:dI(o,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}w.StandaloneNavigator=w.StandaloneNavigator||dN,w.navigator=w.StandaloneNavigator.navigator,l2.compose(w.Chart,w.Axis,w.Series);let dW=w;return M.default})()); \ No newline at end of file + */function(t,e){"object"==typeof exports&&"object"==typeof module?(t._Highcharts=e(),module.exports=t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],e):"object"==typeof exports?(t._Highcharts=e(),exports.highcharts=t._Highcharts):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e())}("undefined"==typeof window?this:window,()=>(()=>{"use strict";let t,e,i;var s,o,r,a,n,h,l,d,c,p,g,u,f,m,x,y,b,v,k={};k.d=(t,e)=>{for(var i in e)k.o(e,i)&&!k.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},k.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var M={};k.d(M,{default:()=>dH}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.1",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.body.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(s||(s={}));let w=s,{charts:S,doc:A,win:T}=w;function C(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=B(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),j(s,function(e,i){t+=` + - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))}),a+=t}V(w,"displayError",{chart:i,code:t,message:a,params:s},function(){if(e)throw Error(a);T.console&&-1===C.messages.indexOf(a)&&console.warn(a)}),C.messages.push(a)}function O(t,e){return parseInt(t,e||10)}function P(t){return"string"==typeof t}function E(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function L(t,e){return!!t&&"object"==typeof t&&(!e||!E(t))}function D(t){return L(t)&&"number"==typeof t.nodeType}function I(t){let e=t&&t.constructor;return!!(L(t,!0)&&!D(t)&&e&&e.name&&"Object"!==e.name)}function B(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function z(t){return null!=t}function R(t,e,i){let s;let o=P(e)&&!z(i),r=(e,i)=>{z(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return P(e)?r(i,e):j(e,r),s}function N(t){return E(t)?t:[t]}function W(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function H(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(C||(C={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let Y=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let $=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();T.jQuery&&(T.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new w[P(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):S[R(this[0],"data-highcharts-chart")]});let _={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;w.Point&&t instanceof w.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!w.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort((t,e)=>t.order-e.order),function(){U(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&o[h]){i=N(i),r[h]=[];for(let e=0;e({center:.5,right:1,middle:.5,bottom:1})[t]||0,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=T.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),H(s,"opacity"!==i)&&(o=O(o))),o},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return G(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:j,offset:function(t){let e=A.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(T.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(T.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:H,pInt:O,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:U,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:N,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return P(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:$,useSerialIds:function(e){return t=H(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:Z,win:q}=w,{defined:K,error:J,extend:Q,isNumber:tt,isObject:te,isString:ti,merge:ts,objectEach:to,pad:tr,splat:ta,timeUnits:tn,ucfirst:th}=_,tl=w.isSafari&&q.Intl&&!q.Intl.DateTimeFormat.prototype.formatRange,td=t=>void 0===t.main,tc=t=>["D","L","M","X","J","V","S"].indexOf(t),tp=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=q.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=ts(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||q.Date||Date;let s=t.timezone;K(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,a,n,Math.floor(Number(t)||0)%1e3,tc(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||Z){let s=JSON.stringify(t)+i;ti(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(J(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):J(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&Q(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||tl||(n-=36e5)}}return n}parse(t){if(!ti(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tt(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-(36e5*(s+r/60));if(tt(a))return a}return 0}dateFormat(t,e,i){let s=w.defaultOptions?.lang;if(!K(e)||isNaN(e))return s?.invalidDate||"";if(ti(t=t??"%Y-%m-%d %H:%M:%S")){let i;let s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(ti(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,g=s?.shortWeekdays||this.shortWeekdays,u=s?.months||this.months,f=s?.shortMonths||this.shortMonths;to(Q({a:g?g[c]:p[c].substr(0,3),A:p[c],d:tr(a),e:tr(a,2," "),w:c,b:f[r],B:u[r],m:tr(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tr(n),k:n,I:tr(n%12||12),l:n%12||12,M:tr(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:tr(l),L:tr(d,3)},w.dateFormats),function(s,o){if(ti(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(te(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(Q({timeZone:s},t),e)+r}return i?th(t):t}resolveDTLFormat(t){return te(t,!0)?te(t,!0)&&td(t)?{main:t}:t:{main:(t=ta(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o=this,r=[],a={},{count:n=1,unitRange:h}=t,[l,d,c,p,g,u]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),K(e)){if(f=h>=tn.second?0:n*Math.floor(f/n),h>=tn.second&&(u=h>=tn.minute?0:n*Math.floor(u/n)),h>=tn.minute&&(g=h>=tn.hour?0:n*Math.floor(g/n)),h>=tn.hour&&(p=h>=tn.day?0:n*Math.floor(p/n)),h>=tn.day&&(c=h>=tn.month?1:Math.max(1,n*Math.floor(c/n))),h>=tn.month&&(d=h>=tn.year?0:n*Math.floor(d/n)),h>=tn.year&&(l-=l%n),h===tn.week){n&&(e=o.makeTime(l,d,c,p,g,u,f));let t=tc(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));c+=-t+s+(t4*tn.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t1?t=o.makeTime(l,d,c,p+x*n):t+=h*n,x++;r.push(t),h<=tn.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return r.info=Q(t,{higherRanks:a,totalRange:h*n}),r}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in tn){if(t===tn.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(tn[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}},{isTouchDevice:tg}=w,{fireEvent:tu,merge:tf}=_,tm={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:tg?25:10,headerFormat:'{ucfirst point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tx=new tp(tm.time),ty={defaultOptions:tm,defaultTime:tx,getOptions:function(){return tm},setOptions:function(t){return tu(w,"setOptions",{options:t}),tf(!0,tm,t),t.time&&tx.update(tm.time),t.lang&&"locale"in t.lang&&tx.update({locale:t.lang.locale}),tm}},{isNumber:tb,merge:tv,pInt:tk,defined:tM}=_;class tw{static parse(t){return t?new tw(t):tw.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=w.Color;if(r&&r!==tw)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tw(t[1]));else if("string"==typeof t)for(this.input=t=tw.names[t.toLowerCase()]||t,s=tw.parsers.length;s--&&!i;)(e=(o=tw.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=tv(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tb(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tb(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=tk(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tb(i[0])||!tb(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}tw.names={white:"#ffffff",black:"#000000"},tw.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tk(t[1]),tk(t[2]),tk(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tk(t[1]),tk(t[2]),tk(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tk(t[1]+t[1],16),tk(t[2]+t[2],16),tk(t[3]+t[3],16),tM(t[4])?tk(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tk(t[1],16),tk(t[2],16),tk(t[3],16),tM(t[4])?tk(t[4],16)/255:1]}}],tw.None=new tw("");let{parse:tS}=tw,{win:tA}=w,{isNumber:tT,objectEach:tC}=_;class tO{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,tC(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,l,d,c,p,g=e&&e.slice();if(!g||h)return[r,r];function u(t,e){for(;t.length{let i=tN(t.options.animation);r=tI(e)&&tP(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=tR(t,e.options.chart.animation,!0)},stop:tW},{SVG_NS:tX,win:tF}=w,{attr:tG,createElement:tY,css:tj,error:tU,isFunction:tV,isString:t$,objectEach:t_,splat:tZ}=_,{trustedTypes:tq}=tF,tK=tq&&tV(tq.createPolicy)&&tq.createPolicy("highcharts",{createHTML:t=>t}),tJ=tK?tK.createHTML(""):"";class tQ{static filterUserAttributes(t){return t_(t,(e,i)=>{let s=!0;-1===tQ.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=t$(e)&&tQ.allowedReferences.some(t=>0===e.indexOf(t))),s||(tU(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),t$(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=tQ.emptyHTML,e&&new tQ(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tZ(e).forEach(function(e){let o;let r=e.tagName,a=e.textContent?w.doc.createTextNode(e.textContent):void 0,n=tQ.bypassHTMLFiltering;if(r){if("#text"===r)o=a;else if(-1!==tQ.allowedTags.indexOf(r)||n){let s="svg"===r?tX:i.namespaceURI||tX,h=w.doc.createElementNS(s,r),l=e.attributes||{};t_(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)}),tG(h,n?l:tQ.filterUserAttributes(l)),e.style&&tj(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else tU(33,!1,void 0,{"Invalid tagName in config":r})}o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e;let i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(tK?tK.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=tY("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=tQ.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}tQ.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],tQ.allowedReferences=["https://","http://","mailto:","/","../","./","#"],tQ.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],tQ.emptyHTML=tJ,tQ.bypassHTMLFiltering=!1;let{defaultOptions:t0,defaultTime:t1}=ty,{pageLang:t2}=w,{extend:t3,getNestedProperty:t5,isArray:t6,isNumber:t9,isObject:t4,isString:t8,pick:t7,ucfirst:et}=_,ee={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!t6(t)&&t.map((i,s)=>eo(e.body,t3(t4(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:et,unless:t=>!t},ei={},es=t=>/^["'].+["']$/.test(t);function eo(t="",e,i){let s=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,o=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,r=[],a=/f$/,n=/\.(\d)/,h=i?.options.lang||t0.lang,l=i&&i.time||t1,d=i&&i.numberFormatter||er,c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:es(t)?t.slice(1,-1):t5(t,e))},p,g,u=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),g&&g.isBlock||(g={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let a=(g.isBlock?i:p)[1].split(" ")[0].replace("#","");ee[a]&&(g.isBlock&&a===g.fn&&u++,g.fn||(g.fn=a));let n="else"===p[1];if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||n)){if(u)!n&&u--;else{let e=g.startInner,i=t.substr(e,p.index-e);void 0===g.body?(g.body=i,g.startInner=p.index+p[0].length):g.elseBody=i,g.find+=i+p[0],n||(r.push(g),g=void 0)}}else g.isBlock||r.push(g);if(s&&!g?.isBlock)break}return r.forEach(s=>{let r,p;let{body:g,elseBody:u,expression:f,fn:m}=s;if(m){let t=[s],o=[],a=f.length,n=0,h;for(p=0;p<=a;p++){let t=f.charAt(p);h||'"'!==t&&"'"!==t?h===t&&(h=""):h=t,h||" "!==t&&p!==a||(o.push(f.substr(n,p-n)),n=p+1)}for(p=ee[m].length;p--;)t.unshift(c(o[p+1]));r=ee[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=eo(r?g:u,e,i))}else{let t=es(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(a.test(e)){let t=parseInt((e.match(n)||["","-1"])[1],10);null!==r&&(r=d(r,t,h.decimalPoint,e.indexOf(",")>-1?h.thousandsSep:""))}else r=l.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&t8(r)&&(r=`"${r}"`)}t=t.replace(s.find,t7(r,""))}),f?eo(t,e,i):t}function er(t,e,i,s){e=+e;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||t0.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):t9(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),t9(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,g=p?"en":this?.locale||h.locale||t2,u=JSON.stringify(c)+g;return o=(ei[u]??(ei[u]=new Intl.NumberFormat(g,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let ea={dateFormat:function(t,e,i){return t1.dateFormat(t,e,i)},format:eo,helpers:ee,numberFormat:er};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,w.Renderer=s)}}(o||(o={}));let en=o,{clamp:eh,pick:el,pushUnique:ed,stableSort:ec}=_;(r||(r={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,a=(t,e)=>t.target-e.target,n=[],h=e.length,l=[],d=n.push,c,p,g,u=!0,f,m,x=0,y;for(c=h;c--;)x+=e[c].size;if(x>r){for(ec(e,(t,e)=>(e.rank||0)-(t.rank||0)),g=(y=e[0].rank===e[e.length-1].rank)?h/2:-1,p=y?g:h-1;g&&x>r;)f=e[c=Math.floor(p)],ed(l,c)&&(x-=f.size),p+=g,y&&p>=e.length&&(g/=2,p=g);l.sort((t,e)=>e-t).forEach(t=>d.apply(n,e.splice(t,1)))}for(ec(e,a),e=e.map(t=>({size:t.size,targets:[t.target],align:el(t.align,.5)}));u;){for(c=e.length;c--;)f=e[c],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=eh(m-f.size*f.align,0,i-f.size);for(c=e.length,u=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),u=!0)}return d.apply(o,n),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),ec(o,a),o};let ep=r,{animate:eg,animObject:eu,stop:ef}=tH,{deg2rad:em,doc:ex,svg:ey,SVG_NS:eb,win:ev,isFirefox:ek}=w,{addEvent:eM,attr:ew,createElement:eS,crisp:eA,css:eT,defined:eC,erase:eO,extend:eP,fireEvent:eE,getAlignFactor:eL,isArray:eD,isFunction:eI,isNumber:eB,isObject:ez,isString:eR,merge:eN,objectEach:eW,pick:eH,pInt:eX,pushUnique:eF,replaceNested:eG,syncTimeout:eY,uniqueKey:ej}=_;class eU{_defaultGetter(t){let e=eH(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||eR(i)?i||"renderer":void 0;n&&(a&&eF(r,this),i=void 0);let h=eH(i,o[n],o),l=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*eL(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*eL(t.verticalAlign),c={"text-align":t?.align};return c[e?"translateX":"x"]=Math.round(l),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=eu(eH(e,this.renderer.globalAnimation,!0)),o=s.defer;return ex.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),eY(()=>{this.element&&eg(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),eW(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&w.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ex.createElementNS(eb,"tspan");ew(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let a=ex.createElementNS(eb,"tspan");a.textContent="​",ew(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=eU.symbolCustomAttribs,a,n,h=this,l;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(eW(t,function(e,i){l=!1,s||ef(this,i),this.symbolName&&-1!==r.indexOf(i)&&(n||(this.symbolAttr(t),n=!0),l=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),l||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=ej()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);eP(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=eA(i,e),n=eA(s,e);return eP(t,{x:a,y:n,width:eA(o,e)-a,height:eA(r,e)-n}),eC(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,l,d,c,p,g,u=[],f;eE(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,l=t.stops,p=i.radialReference,eD(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!eC(a.gradientUnits)&&(n=a,a=eN(a,s.getRadialAttr(p,n),{gradientUnits:"userSpaceOnUse"})),eW(a,function(t,e){"id"!==e&&u.push(e,t)}),eW(l,function(t){u.push(t)}),h[u=u.join(",")])g=h[u].attr("id");else{a.id=g=ej();let t=h[u]=s.createElement(r).attr(a).add(s.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tw.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+g+")",i.setAttribute(e,f),i.gradient=u,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&eW(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=eP(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=eX(t.width)),eP(this.styles,t),o&&!ey&&this.renderer.forExport&&delete t.width;let r=ek&&t.fontSize||null;r&&(eB(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let a=eN(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>a&&delete a[t]),a.color&&(a.fill=a.color)),eT(s,a)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+eX(s[e])*eH(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ef(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;ae&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,g=n.namespaceURI===this.SVG_NS,u=eH(e,this.rotation,0),f=h.styledMode?n&&eU.prototype.getStyle.call(n,"font-size"):l.fontSize;if(eC(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",h.rootFontSize,f,u,this.textWidth,a,l.lineClamp,l.textOverflow,l.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(g||h.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&eT(e,{display:t})},eI(o)&&o("none"),i=n.getBBox?eP({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},eI(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),u&&(i=this.getRotatedBox(i,u));let t={bBox:i};eE(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=eL(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*em,g=(e-90)*em,u=Math.cos(p),f=Math.sin(p),m=o*u,x=o*f,y=Math.cos(g),b=Math.sin(g),[[v,k],[M,w]]=[h,l].map(t=>[t-t*u,t*f]),S=i+d*(o-m)+v+w+c*y,A=S+m,T=A-r*y,C=T-m,O=s+c-d*x-k+M+c*b,P=O+x,E=P-r*b,L=E-x,D=Math.min(S,A,T,C),I=Math.min(O,P,E,L),B=Math.max(S,A,T,C)-D,z=Math.max(O,P,E,L)-I;return{x:D,y:I,width:B,height:z,polygon:[[S,O],[A,P],[T,E],[C,L]]}}getStyle(t){return ev.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eb,this.element="span"===e||"body"===e?eS(e):ex.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},eE(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=eM(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(eR(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=eN(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},ez(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=eX(t):""!==t&&(ew(i=ex.createElementNS(eb,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;eU.symbolCustomAttribs.forEach(function(i){e[i]=eH(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ex.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=eG(eH(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];eC(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+eH(o,e.getAttribute("x"),0)+" "+eH(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(eC(a)||eC(n))&&d.push("scale("+eH(a,1)+" "+eH(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,l,d=!1,c,p=this.added,g;if(eC(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):eC(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=o.childNodes).length-1;g>=0&&!d;g--)c=!eC(l=(h=n[g]).getAttribute("data-z-index")),h!==r&&(t<0&&c&&!a&&!g?(o.insertBefore(r,n[g]),d=!0):(eX(l)<=t||c&&(!eC(t)||t>=0))&&(o.insertBefore(r,n[g+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}eU.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],eU.prototype.strokeSetter=eU.prototype.fillSetter,eU.prototype.yGetter=eU.prototype.xGetter,eU.prototype.matrixSetter=eU.prototype.rotationOriginXSetter=eU.prototype.rotationOriginYSetter=eU.prototype.rotationSetter=eU.prototype.scaleXSetter=eU.prototype.scaleYSetter=eU.prototype.translateXSetter=eU.prototype.translateYSetter=eU.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eV=eU,{defined:e$,extend:e_,getAlignFactor:eZ,isNumber:eq,merge:eK,pick:eJ,removeEvent:eQ}=_;class e0 extends eV{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=e0.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=eZ(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&eq(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=eK(t),e0.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return eV.prototype.css.call(this,t)}destroy(){eQ(this.element,"mouseenter"),eQ(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eV.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=eJ(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:eJ(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&e$(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){eq(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,i={},s=this.padding,o=this.bBox=(!eq(this.widthSetting)||!eq(this.heightSetting)||this.textAlign)&&e$(e.textStr)?e.getBBox(void 0,0):e0.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(e_(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+eZ(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=eq(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=eJ(this.paddingLeft,t),i=eJ(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}e0.emptyBBox={width:0,height:0,x:0,y:0},e0.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:e1,isNumber:e2,pick:e3}=_;function e5(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=e3(o.r,i),h=e3(o.r,s||i),l=2e-4/(o.borderRadius?1:Math.max(n,1)),d=Math.abs((o.end||0)-a-2*Math.PI)0&&h0)return l;if(t+n>i-a){if(h>e+a&&he+a&&h0){let i=hs&&na&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return e5(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:e6,roundedRect:e9,square:e6,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:e8,SVG_NS:e7,win:it}=w,{attr:ie,extend:ii,fireEvent:is,isString:io,objectEach:ir,pick:ia}=_,ih=(t,e)=>t.substring(0,e)+"…",il=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=ia(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||//g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new tQ(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(e8.createTextNode(this.unescapeEntities(s)));io(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=ie(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),ie(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,(t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ih),t.textContent=t.textContent?.replace("…","")+"…");break}n.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(e8.createTextNode(e),t);let s=e8.createElementNS(e7,"tspan");s.textContent="​",ie(s,{dy:h,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ih)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===it.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===it.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),ii(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),is(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h;let l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,g=(e||i||"").length,u=g;i||(o=r);let f=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return c[r]};if(l.rotation=0,s+(h=f(t.textContent.length))>o){for(;p<=g;)u=Math.ceil((p+g)/2),i&&(n=a(i,u)),h=f(u,n&&n.length-1),p===g?p=g+1:h>o?g=u-1:p=u;0===g?t.textContent="":e&&g===e.length-1||(t.textContent=n||a(e||i,u)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ih)}i&&i.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ir(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:id}=ty,{charts:ic,deg2rad:ip,doc:ig,isFirefox:iu,isMS:im,isWebKit:ix,noop:iy,SVG_NS:ib,symbolSizes:iv,win:ik}=w,{addEvent:iM,attr:iw,createElement:iS,crisp:iA,css:iT,defined:iC,destroyObjectProperties:iO,extend:iP,isArray:iE,isNumber:iL,isObject:iD,isString:iI,merge:iB,pick:iz,pInt:iR,replaceNested:iN,uniqueKey:iW}=_;class iH{constructor(t,e,i,s,o,r,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),iw(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&iw(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ig.createTextNode("Created with Highcharts 12.1.1")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),iu&&t.getBoundingClientRect&&((n=function(){iT(t,{left:0,top:0}),h=t.getBoundingClientRect(),iT(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=iM(ik,"resize",n))}definition(t){return new tQ([t]).addToDOM(this.defs.element)}getReferenceURL(){if((iu||ix)&&ig.getElementsByTagName("base").length){if(!iC(e)){let t=iW(),i=new tQ([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ig.body);iT(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ig.elementFromPoint(6,6);e="hitme"===(s&&s.id),ig.body.removeChild(i)}if(e)return iN(ik.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=iP({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),iO(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=iB({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new il(t).buildSVG()}getContrast(t){let e=tw.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0;o=iB(id.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let u=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[tQ.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(iB(m[0],tQ.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),iM(d.element,im?"mouseover":"mouseenter",function(){3!==g&&d.setState(1)}),iM(d.element,im?"mouseout":"mouseleave",function(){3!==g&&d.setState(g)}),d.setState=(t=0)=>{if(1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];iD(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(iP({cursor:"default"},f)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==g&&s.call(d,t)})}crispLine(t,e){let[i,s]=t;return iC(i[1])&&i[1]===s[1]&&(i[1]=s[1]=iA(i[1],e)),iC(i[2])&&i[2]===s[2]&&(i[2]=s[2]=iA(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return iE(t)?e.d=t:iD(t)&&iP(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=iD(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;iD(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=iD(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,iP(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,iw(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:iz(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};iL(e)&&(a.x=e),iL(i)&&(a.y=i),iL(s)&&(a.width=s),iL(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new ik.Image;iM(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l;let d=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof e&&(n=u.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),iP(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&iP(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=iz(r&&r.width,iv[h]&&iv[h].width),s.imgheight=iz(r&&r.height,iv[h]&&iv[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),iw(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}}),iC(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,iC(s.imgwidth)&&iC(s.imgheight)?l(s):(s.attr({width:0,height:0}),iS("img",{onload:function(){let t=ic[d.chartIndex];0===this.width&&(iT(this,{position:"absolute",top:"-999em"}),ig.body.appendChild(this)),iv[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),iC(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;it.align())}}iP(iH.prototype,{Element:eV,SVG_NS:ib,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:e4,draw:iy}),en.registerRendererType("svg",iH,!0);let{composed:iX}=w,{attr:iF,css:iG,createElement:iY,defined:ij,extend:iU,getAlignFactor:iV,isNumber:i$,pInt:i_,pushUnique:iZ}=_;function iq(t,e,i){let s=this.div?.style||i.style;eV.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let iK=(t,e)=>{if(!t.div){let i=iF(t.element,"class"),s=t.css,o=iY("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=iq,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eV.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class iJ extends eV{static compose(t){iZ(iX,this.compose)&&(t.prototype.html=function(t,e,i){return new iJ(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=i_(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),i$(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),iU(this.styles,t),iG(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:a,styles:n,textAlign:h="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:g=0}=this,{display:u="block",whiteSpace:f}=n;if(iG(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let n;let d=[i,h,t.innerHTML,l,this.textAlign].join(","),c=-(this.parentGroup?.padding*1)||0;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(iG(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(iG(t,{width:e>s||i||r?l+"px":"auto",display:u,whiteSpace:f||"normal"}),this.oldTextWidth=l)}d!==this.cTT&&(n=e.fontMetrics(t).b,ij(i)&&(i!==(this.oldRotation||0)||h!==this.oldAlign)&&this.setSpanRotation(i,c,c),this.getSpanCorrection(!ij(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,n,iV(h)));let{xCorr:m=0,yCorr:x=0}=this,y={left:`${p+m}px`,top:`${g+x}px`,textAlign:h,transformOrigin:`${(s??p)-m-p-c}px ${(o??g)-x-g-c}px`};(r||a)&&(y.transform=`scale(${r??1},${a??1})`),iG(t,y),this.cTT=d,this.oldRotation=i,this.oldAlign=h}}setSpanRotation(t,e,i){iG(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=iK(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,tQ.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let iQ=iJ.prototype;iQ.visibilitySetter=iQ.opacitySetter=iq,iQ.ySetter=iQ.rotationSetter=iQ.rotationOriginXSetter=iQ.rotationOriginYSetter=iQ.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(a||(a={}));let i0=a,{addEvent:i1,isFunction:i2,objectEach:i3,removeEvent:i5}=_;(n||(n={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},i3(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(i5(t,i,t.eventOptions[i]),delete t.eventOptions[i]),i2(e)&&(t.eventOptions[i]=e,i1(t,i,e,{order:0})))})};let i6=n,{deg2rad:i9}=w,{clamp:i4,correctFloat:i8,defined:i7,destroyObjectProperties:st,extend:se,fireEvent:si,getAlignFactor:ss,isNumber:so,merge:sr,objectEach:sa,pick:sn}=_,sh=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,si(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,a=e.names,n=t.pos,h=sn(t.options&&t.options.labels,i.labels),l=e.tickPositions,d=n===l[0],c=n===l[l.length-1],p=(!h.step||1===h.step)&&1===e.tickInterval,g=l.info,u=t.label,f,m,x,y=this.parameters.category||(o?sn(o[n],a[n],n):n);r&&so(y)&&(y=i8(r.lin2log(y))),e.dateTime&&(g?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid&&g.higherRanks[n]||g.unitName])).main:so(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:n,tick:t,tickPositionInfo:g,value:y};si(this,"labelFormat",b);let v=t=>h.formatter?h.formatter.call(t,t):h.format?(t.text=e.defaultLabelFormatter.call(t),ea.format(h.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),M=m&&m.list;M?t.shortenLabel=function(){for(x=0;x0&&s+d*c>n&&(x=Math.round((o-s)/Math.cos(l*i9))):(f=s-d*c,m=s+(1-d)*c,fn&&(g=n-t.x+g*d,u=-1),(g=Math.min(p,g))g||e.autoRotation&&(h.styles||{}).width)&&(x=g)),x&&h&&(this.shortenLabel?this.shortenLabel():h.css(se({},{width:Math.floor(x)+"px",lineClamp:e.isRadial?0:1})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):sa(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=sn(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l;!s.chart.polar&&this.isNew&&(i8(p)c)&&(i=0);let g=sn(i,this.label&&this.label.newOpacity,1);i=sn(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,g,t),this.isNew=!1,si(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=sn(this.tickmarkOffset,i.tickmarkOffset),h=i.chart.renderer,l=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),l||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=l=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),l&&(d=i.getPlotLinePath({value:r+n,lineWidth:l.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&l[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=sn(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=sn(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,g=!0;n&&so(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||h.step||h.rotation||e||0===i||this.handleOverflow(t):g=!1,l&&s%l&&(g=!1),g&&so(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:sl}=tH,{xAxis:sd,yAxis:sc}=i0,{defaultOptions:sp}=ty,{registerEventOptions:sg}=i6,{deg2rad:su}=w,{arrayMax:sf,arrayMin:sm,clamp:sx,correctFloat:sy,defined:sb,destroyObjectProperties:sv,erase:sk,error:sM,extend:sw,fireEvent:sS,getClosestDistance:sA,insertItem:sT,isArray:sC,isNumber:sO,isString:sP,merge:sE,normalizeTickInterval:sL,objectEach:sD,pick:sI,relativeLength:sB,removeEvent:sz,splat:sR,syncTimeout:sN}=_,sW=(t,e)=>sL(e,void 0,void 0,sI(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);sw(sp,{xAxis:sd,yAxis:sE(sd,sc)});class sH{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,sS(this,"init",{userOptions:e}),this.opposite=sI(e.opposite,this.opposite),this.side=sI(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),sS(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=sI(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=sC(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=sb(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=sI(r.crosshair,sR(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),sT(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!sb(this.reversed)&&(this.reversed=!0),this.labelRotation=sO(a.rotation)?a.rotation:void 0,sg(this,r),sS(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=sE(e,sp[this.coll],t),sS(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=sO(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=sp.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,c,p;if(o)p=`${this.value}`;else if(r)p=s.dateFormat(r,i,!0);else if(d&&n&&l>=1e3)for(;d--&&void 0===p;)l>=(c=Math.pow(h,d+1))&&10*i%c==0&&null!==n[d]&&0!==i&&(p=e(i/c,-1)+n[d]);return void 0===p&&(p=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),p}getSeriesExtremes(){let t;let e=this;sS(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,sO(a)||a instanceof Date||(o=o.filter(sO),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(sI(e.dataMin,a),a),e.dataMax=Math.max(sI(e.dataMax,n),n)));else{let t=i.applyExtremes();sO(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(sI(e.dataMin,a),a)),sO(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(sI(e.dataMax,n),n)),sb(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),sS(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!sO(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,g=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(g=(t=t*d+c-h)/p+n,l&&(g=a.lin2val(g))):(l&&(t=a.val2lin(t)),g=d*(t-n)*p+c+d*h+(sO(r)?p*r:0),a.isRadial||(g=sy(g))),g}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldChartHeight||i.chartHeight,l=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,g,u,f,m,x;function y(t,e,i){return"pass"!==p&&(ti)&&(p?t=sx(t,e,i):x=!0),t}let b={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return sS(this,"getPlotLinePath",b,function(t){g=f=(c=sx(c=sI(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,u=m=h-c-d,sO(c)?e.horiz?(u=o,m=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),g=f=y(g,s,s+e.width)):(g=s,f=l-e.right+(i.scrollablePixelsX||0),u=m=y(u,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",g,u],["L",f,m]],n||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r;let a=sy(Math.floor(e/t)*t),n=sy(Math.ceil(i/t)*t),h=[];if(sy(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=sy(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?sI(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),sO(s)&&sO(o)&&sO(r)&&s-o=r,a=(r-s+o)/2,h=[o-a,i.parse(t.min)??o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(o=sf(h))+r,i.parse(t.max)??o+r],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=sm(l))-ot-e),t=sA([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sC(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,sb(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):sI(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):sO(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?sI(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&sP(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,sS(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return sO(t)&&sO(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=i.time,c=sO(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:g,floor:u,linkedTo:f,softMax:m,softMin:x}=h,y=sO(f)&&i[this.coll]?.[f],b=h.tickPixelInterval,v=h.maxPadding,k=h.minPadding,M=0,w,S=sO(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,A,T,C,O;if(r||e||y||this.getTickAmount(),C=sI(this.userMin,d.parse(h.min)),O=sI(this.userMax,d.parse(h.max)),y?(this.linkedParent=y,w=y.getExtremes(),this.min=sI(w.min,w.dataMin),this.max=sI(w.max,w.dataMax),this.type!==y.type&&sM(11,!0,i)):(l&&sb(c)&&sO(s)&&sO(o)&&(o>=c?(A=c,k=0):s<=c&&(T=c,v=0)),this.min=sI(C,A,o),this.max=sI(O,T,s)),sO(this.max)&&sO(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,sI(o,this.min))&&sM(10,!0,i),this.min=sy(n.log2lin(this.min),16),this.max=sy(n.log2lin(this.max),16)),this.range&&sO(o)&&(this.userMin=this.min=C=Math.max(o,this.minFromRange()||0),this.userMax=O=this.max,this.range=void 0)),sS(this,"foundExtremes"),this.adjustForMinRange(),sO(this.min)&&sO(this.max)){if(!sO(this.userMin)&&sO(x)&&xthis.max&&(this.max=O=m),e||this.axisPointRange||this.stacking?.usePercentage||y||!(M=this.max-this.min)||(!sb(C)&&k&&(this.min-=M*k),sb(O)||!v||(this.max+=M*v)),!sO(this.userMin)&&sO(u)&&(this.min=Math.max(this.min,u)),!sO(this.userMax)&&sO(g)&&(this.max=Math.min(this.max,g)),l&&sO(o)&&sO(s)){let t=c||0;!sb(C)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-p):t:!sb(O)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(sb(h.min)?this.max=this.min:sb(h.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&sO(this.min)&&sO(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=sI(S,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*b/Math.max(this.len,b)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),sS(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),sS(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let P=sI(h.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],sM(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=sW(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&sO(this.min)&&sO(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),sS(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(sS(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);sO(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!sO(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),sO(this.threshold)){let t=sx((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;sb(t.tickInterval)||i||!(this.lenr.push(sy(r[r.length-1]+p)),f=()=>r.unshift(sy(r[0]-p));if(sO(n)&&(g=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(g=a-1-g)),t.hasData()&&sO(s)&&sO(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(sO(g)&&sO(t.threshold)){for(;r[g]!==l||r.length!==a||r[0]>s||r[r.length-1]t.threshold?f():u();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,sS(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),sS(this,"setExtremes",o=sw(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(sB(sI(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(sB(sI(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(sB(sI(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(sB(sI(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?sy(t.lin2log(this.min)):this.min,max:t?sy(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=sI(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return sS(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=sy(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),sy(i*s)},l=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(sO(r)?p=[r]:o=-90&&i<=90)&&(e=(t=h(Math.abs(a/Math.sin(su*i))))+Math.abs(i/360))u&&(u=i)}),this.maxLabelLength=u,this.autoRotation?u>h&&u>d.h?l.rotation=this.labelRotation:this.labelRotation=0:n&&(p=h),l.rotation&&(p=u>.5*t.chartHeight?.33*t.chartHeight:u,c||(g=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(sw(a,{width:`${p}px`,lineClamp:g})):!i.styles.width||a.width||o||i.css({width:"auto"}),e.rotation=l.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&sb(this.min)&&sb(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(sE(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new sh(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,l=t.hasData(),d=s.title,c=s.labels,p=sO(s.crossing),g=e.axisOffset,u=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,M;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,sI(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):sD(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=sb(y=d.offset)?0:sI(d.margin,i?5:10))),t.renderLine(),t.offset=f*sI(s.offset,g[o]?g[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=M,k+=f*(i?sI(c.y,t.tickRotCorr.y+f*c.distance):sI(c.x,f*c.distance))),t.axisTitleMargin=sI(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&u){let e=this.tickSize("tick");g[o]=Math.max(g[o],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;u[h]=Math.max(u[h],i)}sS(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,g={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],u=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?g+l:u+(n?this.width:0)+h+l,y:e?u+d-(n?this.height:0)+h:g+d};return sS(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new sh(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new sh(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,g=a.stackLabels,u=a.alternateGridColor,f=a.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=sl(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){sD(t,function(t){t.isActive=!1})}),sO(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&sO(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),h.length&&(h.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new sh(i,-1,null,!0)),d[-1].render(-1))),u&&h.forEach(function(r,a){e=void 0!==h[a+1]?h[a+1]+m:i.max-m,a%2==0&&r=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c;let p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=sV(t=s$("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(l||(l={}));let s_=l,{erase:sZ,extend:sq,isNumber:sK}=_;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,a=!sK(this.min)||!sK(this.max)||tthis.max&&e>this.max,n=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,l=1,d;if(n&&s)for(a&&(d=n.toString()===s.toString(),l=0),h=0;h{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),sJ.compose(s7,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){s6(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,l={},d=h.parse(e.to),c=h.parse(e.from),p=h.parse(e.value),g=e.borderWidth,u=e.label,{label:f,svgElem:m}=this,x=[],y,b=s2(c)&&s2(d),v=s2(p),k=!m,M={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},w=b?"bands":"lines";if(!t.chart.styledMode&&(v?(M.stroke=o||"#999999",M["stroke-width"]=s8(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):b&&(M.fill=o||"#e6e9ff",g&&(M.stroke=e.borderColor,M["stroke-width"]=g))),l.zIndex=a,w+="-"+a,(y=t.plotLinesAndBandsGroups[w])||(t.plotLinesAndBandsGroups[w]=y=n.g("plot-"+w).attr(l).add()),m||(this.svgElem=m=n.path().attr(M).add(y)),s2(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(s2(c)&&s2(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(s4(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),u&&(s2(u.text)||s2(u.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(u=s9({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},u),this.renderLabel(u,x,b,a)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(s9({fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=s1(h),c=s1(l),p=s0(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:s0(l)-c}),(!n.alignValue||"left"===n.alignValue||s2(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(n.alignAttr.x-o.left)))+"px"}),n.show(!0)}getLabelText(t){return s2(t.formatter)?t.formatter.call(this):t.text}destroy(){s5(this.axis.plotLinesAndBands,this),delete this.axis,s3(this)}}let{animObject:ot}=tH,{format:oe}=ea,{composed:oi,dateFormats:os,doc:oo,isSafari:or}=w,{distribute:oa}=ep,{addEvent:on,clamp:oh,css:ol,discardElement:od,extend:oc,fireEvent:op,isArray:og,isNumber:ou,isObject:of,isString:om,merge:ox,pick:oy,pushUnique:ob,splat:ov,syncTimeout:ok}=_;class oM{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||ov(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),od(this.container)),_.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=ov(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+oy(t.colorIndex,o.colorIndex),r&&r.className].filter(om).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=en.getRendererType();this.container=a=w.doc.createElement("div"),a.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),ol(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return a&&!a.parentElement&&w.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oo,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=o,{plotX:c=0,plotY:p=0}=i,g={},u=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(r?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+o.plotWidth:l+o.plotHeight])},k=v("y"),M=v("x"),w,S=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(S=!S);let A=!this.followPointer&&oy(i.ttBelow,!d&&!n===S),T=function(t,e,i,o,a,n,h){let l=r?"y"===t?b(s):y(s):s,d=(i-o)/2,c=oe?m:m+u)}},C=function(t,e,i,o,r){if(re-s)return!1;re-o/2?g[t]=e-o-2:g[t]=r-i/2},O=function(t){[k,M]=[M,k],w=t},P=()=>{!1!==T.apply(0,k)?!1!==C.apply(0,M)||w||(O(!0),P()):w?g.x=g.y=0:(O(!0),P())};return(n&&!d||this.len>1)&&O(),P(),g}hide(t){let e=this;_.clearTimeout(this.hideTimer),t=oy(t,this.options.hideDelay),this.isHidden||(this.hideTimer=ok(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=oy(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=ot(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,n={x:t,y:e};a||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,a=ov(t),n=a[0],h=s.format,l=s.formatter||this.defaultFormatter,d=i.styledMode,c=this.allowShared;if(!s.enabled||!n.series)return;_.clearTimeout(this.hideTimer),this.allowShared=!(!og(t)&&t.series&&t.series.noSharedTooltip),c=c&&!this.allowShared,this.followPointer=!this.split&&n.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),g=p[0],u=p[1];r&&this.allowShared&&(o.applyInactiveState(a),a.forEach(t=>t.setState("hover")),n.points=a),this.len=a.length;let f=om(h)?oe(h,n,i):l.call(n,this);n.points=void 0;let m=n.series;if(this.distance=oy(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,a);else{let t=g,r=u;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===m.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel(c&&this.tt||{});(!s.style.width||d)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(n),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:oh(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),d||t.attr({stroke:s.borderColor||n.color||m.color||"#666666"}),this.updatePosition({plotX:g,plotY:u,negative:n.negative,ttBelow:n.ttBelow,h:p[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}op(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:g,options:{positioner:u},pointer:f}=i,{scrollLeft:m=0,scrollTop:x=0}=s.scrollablePlotArea?.scrollingContainer||{},y=i.outside&&"number"!=typeof d?oo.documentElement.getBoundingClientRect():{left:m,right:m+o,top:x,bottom:x+r},b=i.getLabel(),v=this.renderer||s.renderer,k=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:M,top:w}=f.getChartPosition(),S=h+x,A=0,T=a-l;function C(t,e,s,o,r=!0){let a,n;return s?(a=k?0:T,n=oh(t-o/2,y.left,y.right-o-(i.outside?M:0))):(a=e-S,n=oh(n=r?t-o-p:t+p,r?n:y.left,y.right)),{x:n,y:a}}om(t)&&(t=[!1,t]);let O=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:g.padding,r:g.borderRadius};c||(t.fill=g.backgroundColor,t["stroke-width"]=g.borderWidth??1),o=v.label("",0,0,g[r?"headerShape":"shape"],void 0,void 0,g.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(b)}return o.isActive=!0,o.attr({text:s}),c||o.css(g.style).attr({stroke:g.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),m=f.getBBox(),x=m.width+f.strokeWidth();l&&(A=m.height,T+=A,k&&(S-=A));let{anchorX:M,anchorY:w}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+oh(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=oh(e,y.left-p,y.right+p),anchorY:i}}(r);if("number"==typeof w){let e=m.height+1,s=u?u.call(i,x,e,r):C(M,w,l,x);t.push({align:u?0:void 0,anchorX:M,anchorY:w,boxWidth:x,point:r,rank:oy(s.rank,l?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!u&&O.some(t=>{let{outside:e}=i,s=(e?M:0)+t.anchorX;return ss})&&(O=O.map(t=>{let{x:e,y:i}=C(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return oc(t,{target:i,x:e})})),i.cleanSplit(),oa(O,T);let P={left:M,right:M};O.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&M+eP.right&&(P.right=M+e))}),O.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+S,anchorX:s,anchorY:o};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(P.right-P.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:E,outside:L,renderer:D}=i;if(L&&E&&D){let{width:t,height:e,x:i,y:s}=b.getBBox();D.setSize(t+i,e+s,!1),E.style.left=P.left+"px",E.style.top=w+"px"}or&&b.attr({opacity:1===b.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return op(this,"headerFormatter",a,function(e){if(r&&!n&&ou(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(of(n)){let t=n;os[0]=e=>i.chart.time.dateFormat(t,e),n="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{h=h.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=oe(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,ox(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),g=(o.positioner||this.getPosition).call(this,h,n,t),u=w.doc,f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(o.positioner&&(g.x+=l-s,g.y+=d-s),x=(o.borderWidth||0)+2*s+2,a.setSize(oh(h+x,0,u.documentElement.clientWidth)-1,n+x,!1),(1!==c||1!==p)&&(ol(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-g.x,m+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,m)}}!function(t){t.compose=function(e){ob(oi,"Core.Tooltip")&&on(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(oM||(oM={}));let ow=oM,{animObject:oS}=tH,{defaultOptions:oA}=ty,{format:oT}=ea,{addEvent:oC,crisp:oO,erase:oP,extend:oE,fireEvent:oL,getNestedProperty:oD,isArray:oI,isFunction:oB,isNumber:oz,isObject:oR,merge:oN,pick:oW,syncTimeout:oH,removeEvent:oX,uniqueKey:oF}=_;class oG{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(oE({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return oE(this,t=oG.prototype.optionsToObject.call(this,t)),this.options=this.options?oE(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=oG.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():oz(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),oz(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=oS(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(oX(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),oP(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),oH(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),oL(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?oD(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=oF()),this.resolveColor(),t.chart.pointCount++,oL(this,"afterInit")}isValid(){return(oz(this.x)||this.x instanceof Date)&&oz(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(oz(t)||null===t)r[s[0]]=t;else if(oI(t))for(!i&&t.length>o&&("string"==(a=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===a&&(r.x=t[0]),n++);h0?oG.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(oz(i)&&oz(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=oW(this.options.colorIndex,a),this.color=oW(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:oR(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),oT(t,this,e)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,h=a.chart,l=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),oR(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let c={};for(let t of a.dataColumnKeys())c[t]=r[t];a.dataTable.setRow(c,o),l.data[o]=oR(l.data[o],!0)||oR(t,!0)?r.options:oW(t,l.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=oW(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=oW(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=oN(this.series.options.point,this.options),i=e.events?.[t];oB(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=oC(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(oX(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=oA.plotOptions[i.type].marker&&i.options.marker,a=r&&!1===r.enabled,n=r&&r.states&&r.states[t||"normal"]||{},h=!1===n.enabled,l=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,g,u,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(h||a&&!1===n.enabled)||t&&l.states&&l.states[t]&&!1===l.states[t].enabled)return;if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){u=i.pointAttribs(this,t),f=oW(d.options.chart.animation,o.animation);let e=u.opacity;i.options.inactiveOtherPoints&&oz(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(u,f)}g&&this.graphic.animate(g,oW(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(x=l.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),g&&(m?m[e?"animate":"attr"]({x:g.x,y:g.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,g.x,g.y,g.width,g.height,oN(r,n)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b&&b.visibility||"inherit";y&&y.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+oW(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(oE({fill:this.color||i.color,"fill-opacity":y.opacity},tQ.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),oL(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(oO(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let oY=oG,{parse:oj}=tw,{charts:oU,composed:oV,isTouchDevice:o$}=w,{addEvent:o_,attr:oZ,css:oq,extend:oK,find:oJ,fireEvent:oQ,isNumber:o0,isObject:o1,objectEach:o2,offset:o3,pick:o5,pushUnique:o6,splat:o9}=_;class o4{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!w.chartCount&&(o4.unbindDocumentMouseUp.forEach(t=>t.unbind()),o4.unbindDocumentMouseUp.length=0,o4.unbindDocumentTouchEnd&&(o4.unbindDocumentTouchEnd=o4.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),o2(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return oQ(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,l=e.plotWidth,d=e.plotHeight,c=o1(o)?o.enabled:o,p=r&&t[`${r}Key`],g=t.chartX,u=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(gn+l&&(g=n+l),uh+d&&(u=h+d),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-u,2)),this.hasDragged>10)){f=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:r,attrs:l}=this.getSelectionMarkerAttrs(g,u);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[r](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||oj("#334eff").setOpacity(.25).get()})),m&&m.attr(l),f&&!m&&c&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return oQ(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}o0(i.index)&&(this.selectionMarker=s.destroy())}i&&o0(i.index)&&(oq(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);o1(r,!0)&&r.series&&(!o1(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&o0(o.x)&&o0(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=o3(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&o5(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};oQ(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(l,o,r);return h=c&&c.series,c&&(o&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=oJ(t.points,function(t){return t.x===c.x&&!t.isNull});o1(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),oQ(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=oZ(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),oQ(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):o5(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return oK(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(oQ(i.series,"click",oK(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(oK(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&oQ(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),w.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=oU[o5(o4.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){oU[o5(o4.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&o5(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):l?this.runPointActions(e.normalize(t)):o&&(oQ(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&o9(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&o9(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n&&n.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(g?c:n,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=o_(s.container.ownerDocument,"mousemove",t=>oU[o4.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=o5((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=oJ(c,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(o_(t,"mouseenter",this.onContainerMouseEnter.bind(this)),o_(t,"mouseleave",this.onContainerMouseLeave.bind(this))),o4.unbindDocumentMouseUp.some(t=>t.doc===e)||o4.unbindDocumentMouseUp.push({doc:e,unbind:o_(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(o_(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(o_(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),o_(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),o4.unbindDocumentTouchEnd||(o4.unbindDocumentTouchEnd=o_(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),o_(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!o$)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=o5(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(o_(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),o_(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||oq(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||oq(i,{"touch-action":o5(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=w.charts[o5(o4.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(o4.hoverChartIndex=e.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),o5(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=o5(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}o4.unbindDocumentMouseUp=[],function(t){t.compose=function(e){o6(oV,"Core.Pointer")&&o_(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(o4||(o4={}));let o8=o4,{fireEvent:o7,isArray:rt,objectEach:re,uniqueKey:ri}=_,rs=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||ri(),this.modified=this,this.rowCount=0,this.versionTag=ri();let e=0;re(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,re(this.columns,e=>{rt(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;re(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(o7(this,"afterSetColumns"),this.versionTag=ri())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;re(t,(t,a)=>{let n=o[a]||s?.addColumns!==!1&&Array(r);n&&(i?n.splice(e,0,t):n[e]=t,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(o7(this,"afterSetRows"),this.versionTag=ri())}},{extend:ro,merge:rr,pick:ra}=_;!function(t){function e(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}=this,{baseline:a=0,symbolWidth:n,symbolHeight:h}=t,l=this.symbol||"circle",d=h/2,c=o.renderer,p=s.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),u={},f,m=r.marker,x=0;if(o.styledMode||(u["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?u.dashstyle=r.dashStyle:"square"===r.linecap||(u["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(u).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),u["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),n)/2),n){let t=[["M",x,g],["L",n-x,g]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",n-x,a],["L",x,a]]})}if(m&&!1!==m.enabled&&n){let t=Math.min(ra(m.radius,d),d);0===l.indexOf("url")&&(m=rr(m,{width:h,height:h}),t=0),s.symbol=f=c.symbol(l,n/2-t,g-t,2*t,2*t,ro({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,a=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,ra(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(c||(c={}));let rn=c,{defaultOptions:rh}=ty,{extend:rl,extendClass:rd,merge:rc}=_;!function(t){function e(e,i){let s=rh.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=oY),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=w.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,a){let n=rh.plotOptions||{};if(s=s||"",n[i]=rc(n[s],o),delete t.seriesTypes[i],e(i,rd(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,a){class e extends oY{}rl(e.prototype,a),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(p||(p={}));let rp=p,{animObject:rg,setAnimation:ru}=tH,{defaultOptions:rf}=ty,{registerEventOptions:rm}=i6,{svg:rx,win:ry}=w,{seriesTypes:rb}=rp,{arrayMax:rv,arrayMin:rk,clamp:rM,correctFloat:rw,crisp:rS,defined:rA,destroyObjectProperties:rT,diffObjects:rC,erase:rO,error:rP,extend:rE,find:rL,fireEvent:rD,getClosestDistance:rI,getNestedProperty:rB,insertItem:rz,isArray:rR,isNumber:rN,isString:rW,merge:rH,objectEach:rX,pick:rF,removeEvent:rG,syncTimeout:rY}=_;class rj{constructor(){this.zoneAxis="y"}init(t,e){let i;rD(this,"init",{options:e}),this.dataTable??(this.dataTable=new rs);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),rE(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),rm(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=rF(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",rz(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),rD(this,"afterInit")}is(t){return rb[t]&&this instanceof rb[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;rD(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(rF(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(rz(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||rP(18,!0,s)})}),rD(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e;let i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=rF(this.pointInterval,i.pointInterval,1),o&&rN(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&rN(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;rE(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),rA(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=rH(t),a=i.styledMode,n={plotOptions:s,userOptions:r};rD(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=rf.plotOptions[this.type]||{},p=l[this.type]||{};this.userOptions=n.userOptions;let g=rH(h,s.series,p,r);this.tooltipOptions=rH(rf.tooltip,rf.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=rF(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let u=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),u.push(e)),u.length&&rA(u[u.length-1].value)&&u.push(a?{}:{color:this.color,fillColor:this.fillColor}),rD(this,"afterSetOptions",{options:g}),g}getName(){return rF(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(rA(o=rF("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||rf.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o;let r=t.id,a=t.x,n=this.points,h=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof oY&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=rL(n,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&rN(a)&&(o=this.getColumn("x").indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&rN(o)&&n[o]&&n[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=rA(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||rN(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?r.push(t):o[l]&&t!==i.data[l]?(o[l].update(t,!1,null,!1),o[l].touched=!0,a&&(c=l+1)):o[l]&&(o[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):r.push(t)},this),h)for(l=o.length;l--;)(d=o[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);if(o.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let g=this.getColumn("x");return null===this.xIncrement&&g.length&&(this.xIncrement=rv(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o&&o.length||0,a=this.options,n=this.chart,h=a.dataSorting,l=this.xAxis,d=a.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),g=this.pointValKey||"y",u=(this.pointArrayMap||[]).length,f=a.keys,m,x,y=0,b=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=rH(!0,t));let k=(t=v||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),n.options.chart.allowMutatingData&&!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(rR(t)&&(f||rN(t[0])));if(rN(i)&&rN(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[g]:i})}else if(o(i)&&o(s)){if(u){let e=i.length===u?1:0,s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=u;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];if(y===b)for(let i of t)e.push(this.autoIncrement()),s.push(i[b]);else for(let i of t)e.push(i[y]),s.push(i[b]);c.setColumns({x:e,[g]:s})}}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m{let s=rB(i,t),o=rB(i,e);return os?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r?.logarithmic,l=i.rowCount,d,c,p=0,g,u,f,m=e.getColumn("x"),x=i,y=!1;return r&&(u=(g=r.getExtremes()).min,f=g.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||l>a||e.forceCrop)&&(m[l-1]f?x=new rs:e.getColumn(e.pointValKey||"y").length&&(m[0]f)&&(x=(d=this.cropData(i,u,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:rI([h?m.map(h.log2lin):m],()=>e.requireSorting&&!y&&rP(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,rD(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,l=o;for(a=0;a=e){h=Math.max(0,a-1);break}for(n=a;ni){l=n+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(h,l))}return{modified:new rs({columns:r}),start:h,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.modified,s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c=this.xAxis?.categories,p=this.pointArrayMap||["y"],g=this.dataColumnKeys(),u,f,m,x,y=this.data,b;if(!y&&!n){let t=[];t.length=e?.length||0,y=this.data=t}for(h&&n&&(this.options.keys=!1),x=0;xr.getColumn(t,!0)||[])||[],l=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,g=o||this.cropped||!i,u,f,m,x=0,y=0;for(i&&(x=(u=i.getExtremes()).min,y=u.max),m=0;m=x&&(l[m-c]||f)<=y)for(let t of h){let e=t[m];rN(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:rk(d),dataMax:rv(d)};return rD(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),rX(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,rD(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=this[this.specialGroup||"markerGroup"],u=this.xAxis,f=rF(p.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(g),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,l=rF(o.radius,s&&s.radius);e&&(n=s.states[e],l=rF((h=o.states&&o.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return rN(l)&&d&&(i.crisp&&(d[0]=rS(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-l,a.y=d[1]-l),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,g=rF(o.lineWidth,i.lineWidth),u=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},g=rF((l=o.states&&o.states[e]||{}).lineWidth,h.lineWidth,g+rF(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":g,fill:c,opacity:u=rF(l.opacity,h.opacity,u)}}destroy(t){let e,i,s;let o=this,r=o.chart,a=/AppleWebKit\/533/.test(ry.navigator.userAgent),n=o.data||[];for(rD(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(rO(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)rT(t,void 0,!0);_.clearTimeout(o.animationTimeout),rX(o,function(t,e){t instanceof eV&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),rO(r.series,o),r.orderItems("series"),rX(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:g=0}=d||{},u=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=rM(d.toPixels(rF(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,f=r.len,y=a.len;c?(p=o,f=x):(g=o,y=x);let b=[["M",p,g],["L",f,g],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return rA(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(rA(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||rG(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=rg(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;rD(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=rY(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,rD(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,rY(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(rx?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),rD(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c&&c.hasNames&&c.names,g=n.data,u=this.getColumn("x");e=rF(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(a=u.length,this.requireSorting&&mm;)a--;d.setRow(f,a,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),g?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,g,...Object.values(d.getColumns())].filter(rA).forEach(t=>{t.shift()}),d.rowCount-=1,rD(d,"afterDeleteRows"))),!1!==o&&rD(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,...Object.values(n.getColumns())].filter(rA).forEach(e=>{e.splice(t,1)}),n.rowCount-=1,rD(n,"afterDeleteRows"),h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};ru(i,o),e=rF(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),rF(t,!0)&&r.redraw(e)}!1!==i?rD(o,"remove",null,a):a()}update(t,e){rD(this,"update",{options:t=rC(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=rb[r].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=t.type||o.type||s.options.chart.type,u=!(this.hasDerivedData||g&&g!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));g=g||r,u?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&rE(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=rH(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!u&&{data:i.options.data},t,h),u&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(rb[g]){if(f=g!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,rb[g].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;rE(i,rb[g].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else rP(17,!0,s,{missingModuleFor:g});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),u&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,o)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),rD(this,"afterUpdate"),rF(e,!0)&&s.redraw(!!u&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=rF(s?.[this.type]?.[t],s?.series?.[t]);return o&&!rA(r)?i!==o:i!==rF(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&rD(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&rD(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=rF(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=rF(a[t].opacity,l)),o&&!o.dashstyle&&rN(h))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),rD(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),rD(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){rn[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}rj.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},rj.types=rp.seriesTypes,rj.registerType=rp.registerSeriesType,rE(rj.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:oY,requireSorting:!0,sorted:!0}),rp.series=rj;let rU=rj,{animObject:rV,setAnimation:r$}=tH,{registerEventOptions:r_}=i6,{composed:rZ,marginNames:rq}=w,{distribute:rK}=ep,{format:rJ}=ea,{addEvent:rQ,createElement:r0,css:r1,defined:r2,discardElement:r3,find:r5,fireEvent:r6,isNumber:r9,merge:r4,pick:r8,pushUnique:r7,relativeLength:at,stableSort:ae,syncTimeout:ai}=_;class as{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),r_(this,e),rQ(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),rQ(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=r8(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=r4(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=r8(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(r4(!0,this.options,t)),"events"in this.options&&r_(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,r8(e,!0)&&i.redraw(),r6(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof rU||t instanceof oY)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(r4(e?this.itemStyle:i)),a?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}t.color=i,r6(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[r2(e.translateY)?"animate":"attr"](o,void 0,()=>{r6(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&r3(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,r1(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?r8(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&r8(i.showInLegend,!r2(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),r6(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,a){r.test(o)&&!r2(t[a])&&(i[rq[a]]=Math.max(i[rq[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+r8(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=r5(a?t.points:t.points.slice(0).reverse(),function(t){return r9(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(h-.3*r):h+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),rK(i,e.plotHeight)))t=o.item.legendItem||{},r9(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=at(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),ae(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[r?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),r6(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=r4(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(r4(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,h=o.maxHeight,l=o.navigation,d=r8(l.animation,!0),c=l.arrowSize||12,p=this.pages,g=this.allItems,u=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-r:r)-n,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=r8(this.currentPage,1),this.fullHeight=t,g.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((g[e-1].legendItem||{}).pageIx=o-1),e===g.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(k)),u(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(u(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&r$(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),ai(()=>{r6(this,"afterScroll",{currentPage:l})},rV(r8(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof oY,n=t instanceof rU,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!a)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(r4(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(h),r6(s,"itemClick",{browserEvent:e,legendItem:t},i),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&r6(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=r0("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),rQ(t.checkbox,"click",function(e){let i=e.target;r6(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){r7(rZ,"Core.Legend")&&rQ(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(as||(as={}));let ao=as,{animate:ar,animObject:aa,setAnimation:an}=tH,{defaultOptions:ah}=ty,{numberFormat:al}=ea,{registerEventOptions:ad}=i6,{charts:ac,doc:ap,marginNames:ag,svg:au,win:af}=w,{seriesTypes:am}=rp,{addEvent:ax,attr:ay,createElement:ab,css:av,defined:ak,diffObjects:aM,discardElement:aw,erase:aS,error:aA,extend:aT,find:aC,fireEvent:aO,getAlignFactor:aP,getStyle:aE,isArray:aL,isNumber:aD,isObject:aI,isString:aB,merge:az,objectEach:aR,pick:aN,pInt:aW,relativeLength:aH,removeEvent:aX,splat:aF,syncTimeout:aG,uniqueKey:aY}=_;class aj{static chart(t,e,i){return new aj(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(aB(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:aN(t.zoomType,e.type),key:aN(t.zoomKey,e.key),pinchType:aN(t.pinchType,e.pinchType),singleTouch:aN(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:az(e.resetButton,t.resetZoomButton)}}init(t,e){aO(this,"init",{args:arguments},function(){let i=az(ah,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=aT({},t),(this.renderTo=aB(o)?ap.getElementById(o):o)||aA(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tp(aT(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||al).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ac.length,ac.push(this),w.chartCount++,ad(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),aO(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=am[i];s||aA(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=aF(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?aF(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(u.isInsidePlot=!1)}if(!i.ignoreY&&u.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+g:a+g;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(u.isInsidePlot=!1)}return aO(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){aO(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,g=this.isDirtyLegend,u;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),an(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((u=i[c]).options.stacking||u.options.centerInCategory)&&(d=!0,u.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(u=i[c]).options.stacking&&(u.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&(g=!0)),t.isDirtyData&&aO(t,"updatedData")}),g&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){aO(t,"afterSetExtremes",aT(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),aO(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),aO(this,"redraw"),aO(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=aC(this.axes,i)||aC(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{aN(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=az(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(aT("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],a=az(o),n=i?.textPxLength||0;if(i&&r){aO(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,g="title"===t?c?-3:0:c?e[0]+2:0,u=Math.min(a.width/n,1),f=Math.max(p,u),m=az({y:"bottom"===d?h:g+h},{align:"title"===t?up?this.chartWidth:a.width)/f;i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:`${x}px`}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,a).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${a.x+n*f*aP(m.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,aO(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:aE(this.renderTo,"width",!0)||0,height:aE(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,aH(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(av(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(ap.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(ap.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,ap.body.appendChild(e)),("none"===aE(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),av(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==ap.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t;let e=this.options,i=e.chart,s="data-highcharts-chart",o=aY(),r=this.renderTo,a=aW(ay(r,s));aD(a)&&ac[a]&&ac[a].hasRendered&&ac[a].destroy(),ay(r,s,this.index),r.innerHTML=tQ.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;av(r,{overflow:"hidden"}),this.styledMode||(t=aT({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let l=ab("div",{id:o},t,r);this.container=l,this.getChartSize(),h===this.chartWidth||(h=this.chartWidth,this.styledMode||av(l,{width:aN(i.style?.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor;let d=i.renderer||!au?en.getRendererType(i.renderer):iH;if(this.renderer=new d(l,h,n,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),an(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,aO(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!ak(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!ak(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),aO(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ag.forEach(function(i,o){ak(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return aM(this.userOptions,ah)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(_.clearTimeout(e.reflowTimeout),e.reflowTimeout=aG(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=ax(af,"resize",e);ax(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,an(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?ar:av)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,aO(s,"resize"),setTimeout(()=>{s&&aO(s,"endResize")},aa(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;let{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:l}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=l.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=l.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),l.alignElements()),aO(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){aO(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=aI(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=aN(e[i+s],o[r])})}),ag.forEach(function(e,i){t[e]=aN(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,g=this.plotBox,u=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),k={fill:a||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),M="animate",x||(M="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[M](g),!o&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(g)):this.plotBGImage=e.image(h,l,d,c,p).add())),u?u.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),M="animate",y||(M="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[M](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,aO(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=am[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=am[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(aB(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=aN(t.options.visible,s.options.visible,t.visible))}}),aO(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,h=0;for(let e of(this.setTitle(),aO(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new sh(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&aN(i.reserveSpace,!aD(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=az(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(af.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(aO(e,"destroy"),e.renderer.forExport?aS(ac,e):ac[e.index]=void 0,w.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),aX(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=tQ.emptyHTML,aX(o),r&&aw(o)),aR(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=aL(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),aO(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),aO(this,"load"),aO(this,"render"),ak(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),aO(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),av(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:h,time:l}=this,d=!1,c,p;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:g,minPointOffset:u=0,options:f,reversed:m}=t,x=e?"width":"height",y=e?"x":"y",b=aN(a[x],t.len),v=aN(s[x],t.len),k=10>Math.abs(b)?1:b/v,M=(s[y]||0)+v/2-t.pos,w=M-((a[y]??t.pos)+b/2-t.pos)/k,S=m&&!h||!m&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.toValue(w,!0)+(r||t.isOrdinal?0:u*S),T=t.toValue(w+g/k,!0)-(r||t.isOrdinal?0:u*S||0),C=t.allExtremes;if(A>T&&([A,T]=[T,A]),1===k&&!o&&"yAxis"===t.coll&&!C){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);C??(C={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),aD(t.dataMin)&&aD(t.dataMax)&&(C.dataMin=Math.min(t.dataMin,C.dataMin),C.dataMax=Math.max(t.dataMax,C.dataMax))}t.allExtremes=C}let{dataMin:O,dataMax:P,min:E,max:L}=aT(t.getExtremes(),C||{}),D=l.parse(f.min),I=l.parse(f.max),B=O??D,z=P??I,R=T-A,N=t.categories?0:Math.min(R,z-B),W=B-N*(ak(D)?0:f.minPadding),H=z+N*(ak(I)?0:f.maxPadding),X=t.allowZoomOutside||1===k||"zoom"!==n&&k>1,F=Math.min(D??W,W,X?E:W),G=Math.max(I??H,H,X?L:H);(!t.isOrdinal||t.options.overscroll||1!==k||o)&&(A=1&&(T=A+R)),T>G&&(T=G,k>=1&&(A=T-R)),(o||t.series.length&&(A!==E||T!==L)&&A>=F&&T<=G)&&(r?r[t.coll].push({axis:t,min:A,max:T}):(t.isPanning="zoom"!==n,t.isPanning&&(p=!0),t.setExtremes(o?void 0:A,o?void 0:T,!1,!1,{move:w,trigger:n,scale:k}),!o&&(A>F||T{delete t.selection,t.trigger="zoom",this.transform(t)}):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),d}}aT(aj.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aj.prototype.addAxis,[!0]],yAxis:[aj.prototype.addAxis,[!1]],series:[aj.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:aU}=tH,{composed:aV}=w,{addEvent:a$,createElement:a_,css:aZ,defined:aq,erase:aK,merge:aJ,pushUnique:aQ}=_;function a0(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new a2(this)),t?.applyFixed()}function a1(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class a2{static compose(t,e,i){aQ(aV,this.compose)&&(a$(t,"afterInit",a1),a$(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a$(e,"render",a0),a$(i,"show",a1))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=aJ(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),aq(s)&&(t.scrollablePlotBox=aJ(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),aq(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let i=t.options.chart,s=en.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;let n=this.parentDiv=a_("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=a_("div",{className:"highcharts-scrolling"},a,n),l=this.innerContainer=a_("div",{className:"highcharts-inner-container"},void 0,h),d=this.fixedDiv=a_("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(d,h),aZ(t.renderTo,{overflow:"visible"}),a$(t,"afterShowResetZoom",r),a$(t,"afterApplyDrilldown",r),a$(t,"afterLayOutTitles",r),a$(h,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),l.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=a+g;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),aU(t.container),aZ(n,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:[0,0,m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),aZ(s,{width:`${r}px`,height:`${a}px`}),aq(i)||(s.scrollLeft=p*u,s.scrollTop=g*f);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,M=l+c-p,w=d+h-g,S=[["M",0,0]];p?S=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",M,y],["L",r,y],["L",r,v],["L",M,v],["Z"]]:g&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,w],["L",b,a],["L",k,a],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=a2.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aQ(a,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])aK(a,e);for(let t of a)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}a2.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:a3}=ea,{series:a5}=rp,{destroyObjectProperties:a6,fireEvent:a9,getAlignFactor:a4,isNumber:a8,pick:a7}=_,nt=class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){a6(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?a3(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:a7(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a9(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:g}=a;if(h&&p){let t=h.getBBox(void 0,0),e=h.padding,i="justify"===a7(l.overflow,"justify"),s;a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:g,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(s=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(i=!1),i&&a5.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,t,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:t.width*a4(l.textAlign||"center"),rotationOriginY:t.height/2}),a7(!i&&l.crop,!0)&&(s=a8(h.x)&&a8(h.y)&&c.isInsidePlot(h.x-e+(h.width||0),h.y)&&c.isInsidePlot(h.x+e,h.y)),h[s?"show":"hide"]()}a9(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*a4(i)-1),y:t.height/2*2*(1-a4(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:a7(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=a7(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||a8(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:ne}=tH,{series:{prototype:ni}}=rp,{addEvent:ns,correctFloat:no,defined:nr,destroyObjectProperties:na,fireEvent:nn,isNumber:nh,objectEach:nl,pick:nd}=_;function nc(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,nd(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function np(){let t=this.stacking;if(t){let e=t.stacks;nl(e,(t,i)=>{na(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function ng(){this.stacking||(this.stacking=new nb(this))}function nu(t,e,i,s){return!nr(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function nf(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=r.length,a,h,l;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),h=o[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function nm(t,e,i){let s=e.total?100/e.total:0;t[0]=no(t[0]*s),t[1]=no(t[1]*s),this.stackedYData[i]=t[1]}function nx(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?ni.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function ny(t,e){let i,s,o,r,a,n,h;let l=e||this.options.stacking;if(!l||!this.reserveSpace()||(({group:"xAxis"})[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],g=c.length,u=this.options,f=u.threshold||0,m=u.startFromThreshold?f:0,x=u.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,M=k.stacks,w=k.oldStacks;for(k.stacksTouched+=1,h=0;h0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let S=o.total||0;"percent"===l?(r=s?y:b,S=v&&M[r]?.[e]?(r=M[r][e]).total=Math.max(r.total||0,S)+Math.abs(u):no(S+Math.abs(u))):"group"===l?nh(g)&&S++:S=no(S+u),"group"===l?o.cumulative=(S||1)-1:o.cumulative=no(nd(o.cumulative,m)+u),o.total=S,null!==g&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class nb{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e{nl(t,t=>{t.cumulative=t.total})}))}resetStacks(){nl(this.stacks,t=>{nl(t,(e,i)=>{nh(e.touched)&&e.touched{nl(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(g||(g={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(ns(t,"init",ng),ns(t,"destroy",np),s.getStacks=nc,o.getStackIndicator=nu,o.modifyStacks=nf,o.percentStacker=nm,o.setGroupedPoints=nx,o.setStackedPoints=ny)};let nv=g,{defined:nk,merge:nM,isObject:nw}=_;class nS extends rU{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r).shadow(t.shadow&&nM({filterUnits:"userSpaceOnUse"},nw(t.shadow)?t.shadow:{}))),a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,l=(t=t||s.points).reversed;return l&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(l,d){let c;let p=l.plotX,g=l.plotY,u=t[d-1],f=l.isNull||"number"!=typeof g;(l.leftCliff||u&&u.rightCliff)&&!i&&(n=!0),f&&!nk(e)&&d>0?n=!o.connectNulls:f&&!e?n=!0:(0===d||n?c=[["M",l.plotX,l.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,l,d)]:h?(c=1===h?[["L",u.plotX,g]]:2===h?[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,g]]:[["L",p,u.plotY]]).push(["L",p,g]):c=[["L",p,g]],a.push(l.x),h&&(a.push(l.x),2===h&&a.push(l.x)),r.push.apply(r,c),n=!1)}),r.xMap=a,s.graphPath=r,r}}nS.defaultOptions=nM(rU.defaultOptions,{legendSymbol:"lineMarker"}),rp.registerSeriesType("line",nS);let{seriesTypes:{line:nA}}=rp,{extend:nT,merge:nC,objectEach:nO,pick:nP}=_;class nE extends nA{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s;let o=nA.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,g=Math.round(n.getThreshold(r.threshold)),u=nP(r.connectNulls,"percent"===a),f=function(i,s,o){let r=t[i],u=a&&c[r.x].points[d],f=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||f?(x=(f?u[0]:u[1])+m,y=u[0]+m,b=!!f):!a&&t[s]&&t[s].isNull&&(x=y=p),void 0!==x&&(l.push({plotX:e,plotY:null===x?g:n.getThreshold(x),isNull:b,isCliff:!0}),h.push({plotX:e,plotY:null===y?g:n.getThreshold(y),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o1&&a&&l.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible);s.forEach(function(t,g){let u=0,f,m;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=a[s[g+i]],u=0;if(r){let i=c;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;nQ(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&&nZ(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(nV(s)){if(nq(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),a=i.length}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=nJ(i.borderWidth,s?0:1),r=t.xAxis,a=t.yAxis,n=i.threshold,h=nJ(i.minPointLength,5),l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,g=t.dataMax,u=t.translatedThreshold=a.getThreshold(n),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),rU.prototype.translate.apply(t),t.points.forEach(function(s){let o=nJ(s.yBottom,u),m=999+Math.abs(o),x=s.plotX||0,y=nj(s.plotY,-m,a.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,M=d,w=x+c,S=f;h&&Math.abs(k)h?o-h:u-(b?h:0)),nV(s.options.pointWidth)&&(w-=Math.round(((M=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(w=t.adjustForMissingColumns(w,M,s,l)),s.barX=w,s.pointWidth=M,s.tooltipPos=e.inverted?[nj(a.len+a.pos-e.plotLeft-y,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-w-S/2,k]:[r.left-e.plotLeft+w+S/2,nj(y+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(w,s.isNull?u:v,S,s.isNull?0:k)}),n_(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,l=t&&t.color||this.color,d=t&&t[o]||i[o]||l,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,g=nJ(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),l=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,c=n.dashStyle||c,p=n.borderWidth||p)),e&&t&&(h=(a=nK(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,l=a.color||void 0!==h&&nG(l).brighten(a.brightness).get()||l,d=a[o]||d,p=a[r]||p,c=a.dashStyle||c,g=nJ(a.opacity,g));let u={fill:l,stroke:d,"stroke-width":p,opacity:g};return c&&(u.dashstyle=c),u}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:a}=this,n=this.isCartesian&&r.inverted,h=t.plotX,l=t.plotY,d=i.rotation||0,c=n5(h)&&n5(l)&&r.isInsidePlot(h,Math.round(l),{inverted:n,paneCoordinates:!0,series:this}),p=0===d&&"justify"===hi(i.overflow,a?"none":"justify"),g=this.visible&&!1!==t.visible&&n5(h)&&(t.series.forceDL||a&&!p||c||hi(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(h,n?s.x+1:s.y+s.height-1,{inverted:n,paneCoordinates:!0,series:this})),u=t.pos();if(g&&u){var f;let h=e.getBBox(),l=e.getBBox(void 0,0);if(s=n6({x:u[0],y:Math.round(u[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[n?"x":"y"]=0,s[n?"width":"height"]=this.yAxis?.len||0),n6(i,{width:h.width,height:h.height}),f=s,a&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(ht(i,{width:l.width,height:l.height}),!1,s,!1),e.alignAttr.x+=n4(i.align)*(l.width-h.width),e.alignAttr.y+=n4(i.verticalAlign)*(l.height-h.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(h.width-l.width)/2,y:e.alignAttr.y+(h.height-l.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,h,s,o);else if(hi(i.crop,!0)){let{x:t,y:i}=e.alignAttr;g=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+h.width-1,i+h.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:u[0],anchorY:u[1]})}o&&a&&(e.placed=!1),g||a&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:a,plotBackgroundColor:l}=s.options.chart,d=r.getContrast(n7(l)&&l||n7(a)&&a||"#000000"),c=h(i),{animation:p,defer:g}=c[0],u=g?n2(s,p,i):{defer:0,duration:0};n9(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(u),t.forEach(t=>{let a=t.dataLabels||[];ho(n(c,t.dlOptions||t.options?.dataLabels)).forEach((n,h)=>{let l=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,n),{backgroundColor:c,borderColor:p,distance:g,style:u={}}=n,f,m,x,y={},b=a[h],v=!b,k;l&&(m=n5(f=hi(n[t.formatPrefix+"Format"],n.format))?n3(f,t,s):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n),x=n.rotation,!s.styledMode&&(u.color=hi(n.color,u.color,n7(i.color)?i.color:void 0,"#000000"),"contrast"===u.color?("none"!==c&&(k=c),t.contrastColor=r.getContrast("auto"!==k&&k||t.color||i.color),u.color=k||!n5(g)&&n.inside||0>hs(g||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(u.cursor=o.cursor)),y={r:n.borderRadius||0,rotation:x,padding:n.padding,zIndex:1},s.styledMode||(y.fill="auto"===c?t.color:c,y.stroke="auto"===p?t.color:p,y["stroke-width"]=n.borderWidth),he(y,(t,e)=>{void 0===t&&delete y[e]})),!b||l&&n5(m)&&!!b.div==!!n.useHTML&&(b.rotation&&n.rotation||b.rotation===n.rotation)||(b=void 0,v=!0),l&&n5(m)&&(b?y.text=m:(b=r.label(m,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),b&&(b.options=n,b.attr(y),s.styledMode?u.width&&b.css({width:u.width,textOverflow:u.textOverflow,whiteSpace:u.whiteSpace}):b.css(u).shadow(n.shadow),n9(b,"beforeAddingDataLabel",{labelOptions:n,point:t}),b.added||b.add(e),i.alignDataLabel(t,b,n,void 0,v),b.isActive=!0,a[h]&&a[h]!==b&&a[h].destroy(),a[h]=b))});let h=a.length;for(;h--;)a[h]&&a[h].isActive?a[h].isActive=!1:(a[h]?.destroy(),a.splice(h,1));t.dataLabel=a[0],t.dataLabels=a})),n9(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,g=p?p.top-a.plotTop:0,{x:u=0,y:f=0}=e,m,x;return(m=(i.x||0)+l+c)<0&&("right"===n&&u>=0?(e.align="left",e.inside=!0):u-=m,x=!0),(m=(i.x||0)+s.width-l+c)>a.plotWidth&&("left"===n&&u<=0?(e.align="right",e.inside=!0):u+=a.plotWidth-m,x=!0),(m=i.y+l+g)<0&&("bottom"===h&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-l+g)>a.plotHeight&&("top"===h&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=a.plotHeight-m,x=!0),x&&(e.x=u,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function n(t,e){let i=[],s;if(n8(t)&&!n8(e))i=t.map(function(t){return ht(t,e)});else if(n8(e)&&!n8(t))i=e.map(function(e){return ht(t,e)});else if(n8(t)||n8(e)){if(n8(t)&&n8(e))for(s=Math.max(t.length,e.length);s--;)i[s]=ht(t[s],e[s])}else i=ht(t,e);return i}function h(t){let e=t.chart.options.plotOptions;return ho(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function l(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let n=t.prototype;n.initDataLabels||(n.initDataLabels=o,n.initDataLabelsGroup=s,n.alignDataLabel=i,n.drawDataLabels=r,n.justifyDataLabel=a,n.setDataLabelStartPos=l,n.hasDataLabels=e)}}(u||(u={}));let hr=u,{composed:ha}=w,{series:hn}=rp,{merge:hh,pick:hl,pushUnique:hd}=_;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,a=t.series,n=(a.xAxis?a.xAxis.len:this.chart.plotSizeX)||0,h=(a.yAxis?a.yAxis.len:this.chart.plotSizeY)||0,l=t.dlBox||t.shapeArgs,d=hl(t.below,t.plotY>hl(this.translatedThreshold,h)),c=hl(i.inside,!!this.options.stacking);if(l){if(s=hh(l),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}),hy(hv.prototype,{drawTracker:hf.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),hx(hv,"afterTranslate",function(){this.applyJitter()}),rp.registerSeriesType("scatter",hv);let{deg2rad:hk}=w,{fireEvent:hM,isNumber:hw,pick:hS,relativeLength:hA}=_;!function(t){t.getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,a=Math.min(s,o),n=t.thickness,h,l=t.size,d=t.innerSize||0,c,p;"string"==typeof l&&(l=parseFloat(l)),"string"==typeof d&&(d=parseFloat(d));let g=[hS(r?.[0],"50%"),hS(r?.[1],"50%"),hS(l&&l<0?void 0:t.size,"100%"),hS(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof rU||(g[3]=0),c=0;c<4;++c)p=g[c],h=c<2||2===c&&/%$/.test(p),g[c]=hA(p,[s,o,a,g[2]][c])+(h?i:0);return g[3]>g[2]&&(g[3]=g[2]),hw(n)&&2*n0&&(g[3]=g[2]-2*n),hM(this,"afterGetCenter",{positions:g}),g},t.getStartAndEndRadians=function(t,e){let i=hw(t)?t:0,s=hw(e)&&e>i&&e-i<360?e:i+360;return{start:hk*(i+-90),end:hk*(s+-90)}}}(m||(m={}));let hT=m,{setAnimation:hC}=tH,{addEvent:hO,defined:hP,extend:hE,isNumber:hL,pick:hD,relativeLength:hI}=_;class hB extends oY{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};hO(this,"select",s),hO(this,"unselect",s)}isValid(){return hL(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;hC(i,s.chart),e=hD(e,!0),this.sliced=this.options.sliced=t=hP(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}hE(hB.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,g="left"===t.alignment,{x:u,y:f}=t,m=o.x;if(i.crookDistance){let t=hI(i.crookDistance,1);m=g?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(h-f)*Math.tan(s-Math.PI/2);let x=[["M",u,f]];return(g?m<=u&&m>=o.x:m>=u&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:hz}=hT,{noop:hR}=w,{clamp:hN,extend:hW,fireEvent:hH,merge:hX,pick:hF}=_;class hG extends rU{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:hF(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:e4.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(hN((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hX(!0,n,i),hX(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){hH(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=hz(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,l,d,c,p,g,u,f,m=0;for(t||(this.center=t=this.getCenter()),u=0;u1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*g],f.half=c<-Math.PI/2||c>Math.PI/2?1:0,f.angle=c}hH(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}hG.defaultOptions=hX(rU.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),hW(hG.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:n1.prototype.drawTracker,getCenter:hT.getCenter,getSymbol:hR,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:n1.prototype.pointAttribs,pointClass:hB,requireSorting:!1,searchPoint:hR,trackerGroups:["group","dataLabelsGroup"]}),rp.registerSeriesType("pie",hG);let{composed:hY,noop:hj}=w,{distribute:hU}=ep,{series:hV}=rp,{arrayMax:h$,clamp:h_,defined:hZ,pick:hq,pushUnique:hK,relativeLength:hJ}=_;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&si&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,g=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*g,y:p+d*g},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,h=n[2]/2,l=n[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,g,u,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),hV.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=hJ(o?.distance||0,s);0===i&&d[t.half].push(t),!hZ(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,a)=>{let d=e.length,g=[],x,y,b=0,v;d&&(t.sortByAngle(e,a-.5),m>0&&(x=Math.max(0,l-h-m),y=Math.min(l+h+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,l-h-s.distance),s.bottom=Math.min(l+h+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},g.push(t.distributeBox))})}),hU(g,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let d=l.options||{},m=i.distributeBox,x=l.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,M=0,w=y,S="inherit";if(x){if(g&&hZ(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,w=p.radialDistributionY(i,l))),d.justify)M=p.justify(i,l,h,n);else switch(d.alignTo){case"connectors":M=p.alignToConnectors(e,a,s,r);break;case"plotEdges":M=p.alignToPlotEdges(l,a,s,r);break;default:M=p.radialDistributionX(t,i,w-k,y,l)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:M+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:w+(d.y||0)-v/2},x.computed.x=M,x.computed.y=w-k,hq(d.crop,!0)){let t;M-(u=l.getBBox().width)s-b&&0===a&&(t=Math.round(M+u-s+b),c[1]=Math.max(t,c[1])),w-f/2<0?c[0]=Math.max(Math.round(-w+f/2),c[0]):w+f/2>o&&(c[2]=Math.max(Math.round(w+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===h$(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;g=s.connector,a&&a.distance>0?(n=!g,g||(s.connector=g=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||g.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),g[n?"attr":"animate"]({d:e.getConnectorPath(s)}),g.attr({visibility:a.attribs?.visibility})):g&&(s.connector=g.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=h_(r,o,e[2]-Math.max(t[0],t[2])):(r=h_(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,a=!1;for(o=0,r=s-1;oe!=l>e&&t<(h-s)*(e-n)/(l-n)+s&&(a=!a)}return a}}(y||(y={}));let{pointInPolygon:h0}=y,{addEvent:h1,fireEvent:h2,objectEach:h3,pick:h5}=_;function h6(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(h0({x:i[0],y:i[1]},e))return!0;return!1},o,r,a,n,h,l=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let o=0;o{h3(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=h5(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,h9(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let h8={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=h6,h1(t,"render",h4))}},{defaultOptions:h7}=ty,{noop:lt}=w,{addEvent:le,extend:li,isObject:ls,merge:lo,relativeLength:lr}=_,la={radius:0,scope:"stack",where:void 0},ln=lt,lh=lt;function ll(t,e,i,s,o={}){let r=ln(t,e,i,s,o),{innerR:a=0,r:n=i,start:h=0,end:l=0}=o;if(o.open||!o.borderRadius)return r;let d=l-h,c=Math.sin(d/2),p=Math.max(Math.min(lr(o.borderRadius||0,n-a),(n-a)/2,n*c/(1+c)),0),g=Math.min(p,d/Math.PI*2*a),u=r.length-1;for(;u--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,g=n?a-i:a+i,u=g?Math.asin(i/g):0,f=n?u:-u,m=Math.cos(u)*g;r?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)1?g:p);return r}function ld(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=h7.plotOptions?.[this.type]?.borderRadius,o=lc(t.borderRadius,ls(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:a}=s;if("roundedRect"===s.shapeType&&a){let{width:n=0,height:h=0,y:l=0}=a,d=l,c=h;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=a.y,c=a.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,g=o.where;!g&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let u=Math.min(lr(o.radius,n),n/2,"all"===g?h/2:1/0)||0;"end"===g&&(p&&(d-=u),c+=u),li(a,{brBoxHeight:c,brBoxY:d,r:u})}}}}function lc(t,e){return ls(t)||(t={radius:t||0}),lo(la,e,t)}function lp(){let t=lc(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=lr(t.radius,(i.r||0)-(i.innerR||0)))}}function lg(t,e,i,s,o={}){let r=lh(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,g=Math.max(c&&l,0),u=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],M=[t,e+c],w=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=w(c,c-g);f[0]-=t,m[0]+=t,x[1]=M[1]=e+c-g}if(s=ly(i.minWidth,0)&&this.chartHeight>=ly(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=lb()),this.matchResponsiveRule(t,o)},this);let a=lx(...o.map(t=>lm((i||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));a.isResponsiveOptions=!0,o=o.toString()||void 0;let n=s&&s.ruleIds;o===n||(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=lu(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:a,undoOptions:r},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||lf(s,{matchResponsiveRule:e,setResponsive:i}),t}}(b||(b={}));let lv=b;w.AST=tQ,w.Axis=sH,w.Chart=aj,w.Color=tw,w.DataLabel=hr,w.DataTableCore=rs,w.Fx=tO,w.HTMLElement=iJ,w.Legend=ao,w.LegendSymbol=rn,w.OverlappingDataLabels=w.OverlappingDataLabels||h8,w.PlotLineOrBand=s7,w.Point=oY,w.Pointer=o8,w.RendererRegistry=en,w.Series=rU,w.SeriesRegistry=rp,w.StackItem=nt,w.SVGElement=eV,w.SVGRenderer=iH,w.Templating=ea,w.Tick=sh,w.Time=tp,w.Tooltip=ow,w.animate=tH.animate,w.animObject=tH.animObject,w.chart=aj.chart,w.color=tw.parse,w.dateFormat=ea.dateFormat,w.defaultOptions=ty.defaultOptions,w.distribute=ep.distribute,w.format=ea.format,w.getDeferredAnimation=tH.getDeferredAnimation,w.getOptions=ty.getOptions,w.numberFormat=ea.numberFormat,w.seriesType=rp.seriesType,w.setAnimation=tH.setAnimation,w.setOptions=ty.setOptions,w.stop=tH.stop,w.time=ty.defaultTime,w.timers=tO.timers,({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;le(t,"afterColumnTranslate",ld,{order:9}),le(s,"afterTranslate",lp),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),ln=o.arc,lh=o.roundedRect,o.arc=ll,o.roundedRect=lg}},optionsToObject:lc}).compose(w.Series,w.SVGElement,w.SVGRenderer),hc.compose(w.Series.types.column),hr.compose(w.Series),sj.compose(w.Axis),iJ.compose(w.SVGRenderer),ao.compose(w.Chart),s_.compose(w.Axis),h8.compose(w.Chart),hQ.compose(w.Series.types.pie),s7.compose(w.Chart,w.Axis),o8.compose(w.Chart),lv.compose(w.Chart),a2.compose(w.Axis,w.Chart,w.Series),nv.compose(w.Axis,w.Chart,w.Series),ow.compose(w.Pointer),_.extend(w,_);let{isTouchDevice:lk}=w,{addEvent:lM,merge:lw,pick:lS}=_,lA=[];function lT(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function lC(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=lS(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+lS(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function lO(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),lS(t.redraw,!0)&&this.redraw(t.animation))}function lP(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function lE(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!lk&&"x"===this.zooming.type||lk&&"x"===this.zooming.pinchType))return!1}function lL(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function lD(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(lw(!0,this.options.navigator,e),lw(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let lI={compose:function(t,e){if(_.pushUnique(lA,t)){let s=t.prototype;i=e,s.callbacks.push(lL),lM(t,"afterAddSeries",lT),lM(t,"afterSetChartSize",lC),lM(t,"afterUpdate",lO),lM(t,"beforeRender",lP),lM(t,"beforeShowResetZoom",lE),lM(t,"update",lD)}}},{isTouchDevice:lB}=w,{addEvent:lz,correctFloat:lR,defined:lN,isNumber:lW,pick:lH}=_;function lX(){this.navigatorAxis||(this.navigatorAxis=new lG(this))}function lF(t){let e;let i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,a=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(o?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||lB&&"xy"===a)&&this.options.range){let e=r.previousZoom;lN(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class lG{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),lz(t,"init",lX),lz(t,"setExtremes",lF))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=lH(i,o.translate(t,!0,!o.horiz)),n=lH(s,o.translate(e,!0,!o.horiz));return lN(i)||(a=lR(a+r)),lN(s)||(n=lR(n-r)),lW(a)&&lW(n)||(a=n=void 0),{min:a,max:n}}}let{parse:lY}=tw,{seriesTypes:lj}=rp,lU={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:lY("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===lj.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{relativeLength:lV}=_,l$={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,a=lV(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...e4.rect(-r-1,.5,2*r+1,s,{r:a})]}},{defined:l_}=_,{setOptions:lZ}=ty,{composed:lq}=w,{getRendererType:lK}=en,{setFixedRange:lJ}={setFixedRange:function(t){let e=this.xAxis[0];l_(e.dataMax)&&l_(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:lQ,extend:l0,pushUnique:l1}=_;function l2(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let l3={compose:function(t,e,i){lG.compose(e),l1(lq,"Navigator")&&(t.prototype.setFixedRange=lJ,l0(lK().prototype.symbols,l$),lQ(i,"afterUpdate",l2),lZ({navigator:lU}))}},{composed:l5}=w,{addEvent:l6,defined:l9,pick:l4,pushUnique:l8}=_;!function(t){let e;function i(t){let e=l4(t.options&&t.options.min,t.min),i=l4(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:l9(t.dataMin)?Math.min(e,t.min,t.dataMin,l4(t.threshold,1/0)):e,scrollMax:l9(t.dataMax)?Math.max(i,t.max,t.dataMax,l4(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),l6(t.scrollbar,"changed",function(e){let s,o;let{axisMin:r,axisMax:a,scrollMin:n,scrollMax:h}=i(t),l=h-n;if(l9(r)&&l9(a)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=n+l*this.to,o=n+l*this.from):(s=n+l*(1-this.from),o=n+l*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function r(){let t,e,s;let{scrollMin:o,scrollMax:r}=i(this),a=this.scrollbar,n=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,l=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=n),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(h[1]+=l),t=1;else{let e;this.opposite&&(h[0]+=n),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:l):this.opposite?0:l,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=l),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(r)||!l9(this.min)||!l9(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){l8(l5,"Axis.Scrollbar")&&(e=i,l6(t,"afterGetOffset",s),l6(t,"afterInit",o),l6(t,"afterRender",r))}}(v||(v={}));let l7=v,dt={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:de}=ty,{addEvent:di,correctFloat:ds,crisp:dr,defined:da,destroyObjectProperties:dn,fireEvent:dh,merge:dl,pick:dd,removeEvent:dc}=_;class dp{static compose(t){l7.compose(t,dp)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,dn(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let a=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),a.attr(a.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},a.strokeWidth()));let n=e.path(dp.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=dl(dt,de.scrollbar,e),this.options.margin=dd(this.options.margin,10),this.chart=i,this.size=dd(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&dh(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&dh(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",h=s,l=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=l,a?(this.width=this.yOffset=i=l=this.size,this.xOffset=h=0,this.yOffset=l=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-h,translateY:a?s-l:0})}removeEvents(){this._events.forEach(function(t){dc.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-dr(0,r),y:-dr(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(dp.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-dr(0,this.scrollbarStrokeWidth),-dr(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,a=o.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!da(n))return;let l=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=ds(l-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return dd(this.options.liveRedraw,w.svg&&!w.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!da(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),dh(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,dl(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=ds(1-ds(e-t)),e=1),t<0&&(e=ds(e-t),t=0),this.from=t,this.to=e}}dp.defaultOptions=dt,de.scrollbar=dl(!0,dp.defaultOptions,de.scrollbar);let{defaultOptions:dg}=ty,{isTouchDevice:du}=w,{prototype:{symbols:df}}=iH,{addEvent:dm,clamp:dx,correctFloat:dy,defined:db,destroyObjectProperties:dv,erase:dk,extend:dM,find:dw,fireEvent:dS,isArray:dA,isNumber:dT,merge:dC,pick:dO,removeEvent:dP,splat:dE}=_;function dL(t,...e){let i=[].filter.call(e,dT);if(i.length)return Math[t].apply(0,i)}class dD{static compose(t,e,i){lI.compose(t,dD),l3.compose(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,h=this.scrollButtonSize,l=this.size,d=this.top,c=this.height,p=d-a,g=d+c,u=this.left,f,m;i?(f=d+e+n,e=d+t+n,m=[["M",u+c,d-h-n],["L",u+c,f],["L",u,f],["M",u,e],["L",u+c,e],["L",u+c,d+l+h]],o&&m.push(["M",u+c,f-a],["L",u+c,e+a])):(u-=h,t+=u+h-n,e+=u+h-n,m=[["M",u,p],["L",t,p],["L",t,g],["M",e,g],["L",e,p],["L",u+l+2*h,p]],o&&m.push(["M",t-a,p],["L",e+a,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,a,n;let h=this.left,l=this.top,d=this.height;i?(a=[h,h,h],n=[l,l+t,l+e],r=[d,d,d],o=[t,e-t,this.size-e]):(a=[h,h+t,h+e],n=[l,l,l],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let h=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&h.css(a))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:h}=i;[0,1].forEach(e=>{let l=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===l){if(!t.handles[e].isImg&&t.handles[e].symbolName!==l){let i=df[l].call(df,-h/2-1,0,h,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=l}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-h/2-1,0,h,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(o+h)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-h/2-1,y:0}).css(a)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(dC(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),db(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{dP(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(dm(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,h=this.navigatorEnabled,l=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,g=this.scrollButtonSize,u,f,m,x=this.scrollbarHeight,y,b;if(this.hasDragged&&!db(i))return;if(this.isDirty&&this.renderElements(),t=dy(t-a/2),e=dy(e+a/2),!dT(t)||!dT(e)){if(!l)return;i=0,s=dO(r.width,n.width)}this.left=dO(r.left,o.plotLeft+g+(d?o.plotWidth:0));let v=this.size=y=dO(r.len,(d?o.plotHeight:o.plotWidth)-2*g);u=d?x:y+2*g,i=dO(i,r.toPixels(t,!0)),s=dO(s,r.toPixels(e,!0)),dT(i)&&Math.abs(i)!==1/0||(i=0,s=u);let k=r.toValue(i,!0),M=r.toValue(s,!0),w=Math.abs(dy(M-k));wp&&(this.grabbedLeft?i=r.toPixels(M-p-a,!0):this.grabbedRight&&(s=r.toPixels(k+p+a,!0))),this.zoomedMax=dx(Math.max(i,s),0,v),this.zoomedMin=dx(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let S=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),b=l&&!this.hasDragged?"animate":"attr",this.drawMasks(S,v,d,b),this.drawOutline(S,v,d,b),this.navigatorOptions.handles.enabled&&(this.drawHandle(S,0,d,b),this.drawHandle(v,1,d,b))),this.scrollbar&&(d?(m=this.top-g,f=this.left-x+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),x=y+2*g):(m=this.top+(h?this.height:-x),f=this.left-g),this.scrollbar.position(f,m,u,x),this.scrollbar.setRange(this.zoomedMin/(y||1),this.zoomedMax/(y||1))),this.rendered=!0,this.isDirty=!1,dS(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(dm(e.renderTo,"mousemove",o),dm(i.ownerDocument,"mouseup",r),dm(e.renderTo,"touchmove",o),dm(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(dm(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(dm(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,h=t.chartX,l,d,c,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=a,this.dragOffset=h-o):(p=h-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):l=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,db((c=s.navigatorAxis.toFixedRange(p,p+a,d,l)).min)&&dS(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&(e.hasDragged=!0,hs+r-o&&(h=s+r-o),e.render(0,0,h-r,h-r+o)),e.hasDragged&&e.scrollbar&&dO(e.scrollbar.options.liveRedraw,!du&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a;let n=this.chart,h=this.xAxis,l=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!l||!l.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),db((a=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&dS(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&dT(this.zoomedMin)&&dT(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){dP(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&dP(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,a=s&&i.height||0,n=r&&o.height||0,h=o.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=a,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let l=this,d=l.baseSeries,c=t.xAxis.length,p=t.yAxis.length,g=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,l.navigatorEnabled){let e=this.getXAxisOffsets();l.xAxis=new sH(t,dC({breaks:g.options.breaks,ordinal:g.options.ordinal,overscroll:g.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:g.options.ordinal?0:g.options.minPadding,maxPadding:g.options.ordinal?0:g.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:a}:{offsets:e,height:a}),"xAxis"),l.yAxis=new sH(t,dC(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:dO(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:a}:{height:a}),"yAxis"),d||i.series.data?l.updateNavigatorSeries(!1):0===t.series.length&&(l.unbindRedraw=dm(t,"beforeRedraw",function(){t.series.length>0&&!l.series&&(l.setBaseSeries(),l.unbindRedraw())})),l.reversedExtremes=t.inverted&&!l.xAxis.reversed||!t.inverted&&l.xAxis.reversed,l.renderElements(),l.addMouseEvents()}else l.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*h,a=dL("min",s.options.min,o.dataMin),n=dL("max",s.options.max,o.dataMax)-a;return i?e*n/r+a:r*(e-a)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},l.xAxis.navigatorAxis.axis=l.xAxis,l.xAxis.navigatorAxis.toFixedRange=lG.prototype.toFixedRange.bind(l.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=dC(t.options.scrollbar,{vertical:t.inverted});!dT(e.margin)&&l.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=l.scrollbar=new dp(t.renderer,e,t),dm(l.scrollbar,"changed",function(t){let e=l.size,i=e*this.to,s=e*this.from;l.hasDragged=l.scrollbar.hasDragged,l.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){l.onMouseUp(t)})})}l.addBaseSeriesEvents(),l.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=dO(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,a=i.options;return t&&null===i.dataMin||(e={dataMin:dO(s.parse(r?.min),dL("min",s.parse(a.min),i.dataMin,o.dataMin,o.min)),dataMax:dO(s.parse(r?.max),dL("max",s.parse(a.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?dw(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(dP(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,l=i.navigatorOptions.series,d;o&&o.length&&o.forEach(t=>{let c=t.navigatorSeries,p=dM({color:t.color,visible:t.visible},dA(l)?dg.navigator.series:l);if(c&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(n=t.options||{}).navigatorOptions||{},p.dataLabels=dE(p.dataLabels),(h=dC(n,r,p,d)).pointRange=dO(p.pointRange,d.pointRange,dg.plotOptions[h.type||"line"].pointRange);let g=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!g,h.data=g||n.data?.slice(0),c&&c.options?c.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,a.push(t.navigatorSeries))}),(l.data&&!(o&&o.length)||dA(l))&&(i.hasNavigatorData=!1,(l=dE(l)).forEach((t,e)=>{r.name="Navigator "+(a.length+1),(h=dC(dg.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(dm(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(dm(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(dm(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(dm(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(dm(i,"remove",function(){e&&dk(e,i),this.navigatorSeries&&t.series&&(dk(t.series,this.navigatorSeries),db(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,h=r-o,l=i.stickToMin,d=i.stickToMax,c=dO(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],g=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(l&&(t=(e=a)+h),d&&(t=n+c,l||(e=Math.max(a,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),g&&(l||d)&&dT(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=dO(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(dT(o)&&dT(r))&&(a&&o-i>0?o-i{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{dv(t)}),this.navigatorEnabled=!1}}let dI={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}},{merge:dB,addEvent:dz,fireEvent:dR,pick:dN}=_;class dW{static navigator(t,e){let i=new dW(t,e);return w.navigators?w.navigators.push(i):w.navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=dB(w.getOptions(),dI,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);let i=new aj(t,this.chartOptions);i.options=dB(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new dD(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof aj?t.xAxis[0]:t;if(!(s instanceof sH))return;let{min:o,max:r}=this.navigator.xAxis,a=[];if(e){let t=dz(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mouseWheelZoom"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger,{trigger:s})});a.push(t)}let n=dz(this.navigator,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});a.push(n);let h=this.boundAxes.filter(function(t){return t.axis===s})[0];h||(h={axis:s,callbacks:[]},this.boundAxes.push(h)),h.callbacks=a,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),s.setExtremes(o,r),dz(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t){if(!t){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0;return}let e=t instanceof sH?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===e&&(this.boundAxes[t].callbacks.forEach(t=>t()),this.boundAxes.splice(t,1))}destroy(){this.boundAxes.forEach(({callbacks:t})=>{t.forEach(t=>t())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=dB(this.chartOptions,t.height&&{chart:{height:t.height}},{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries(dB(t,{showInNavigator:dN(t.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:o,max:r}=this.navigator.xAxis.getExtremes();return{min:dN(t,o),max:dN(e,r),dataMin:o,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,o){dR(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:dB(o,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}w.StandaloneNavigator=w.StandaloneNavigator||dW,w.navigator=w.StandaloneNavigator.navigator,l3.compose(w.Chart,w.Axis,w.Series);let dH=w;return M.default})()); \ No newline at end of file diff --git a/standalone-navigator.src.js b/standalone-navigator.src.js index 2e22d2c6d4..06bfac89df 100644 --- a/standalone-navigator.src.js +++ b/standalone-navigator.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/highcharts * * (c) 2009-2024 Torstein Honsi @@ -74,12 +74,12 @@ var Globals; * Constants * * */ - Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.0', Globals.win = (typeof window !== 'undefined' ? + Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ? window : {}), // eslint-disable-line node/no-unsupported-features/es-builtins Globals.doc = Globals.win.document, Globals.svg = (Globals.doc && Globals.doc.createElementNS && - !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ + !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [ 'plotTop', 'marginRight', 'marginBottom', @@ -3500,7 +3500,7 @@ const SeriesPalettes = { * */ -const { win: Time_win } = Core_Globals; +const { pageLang, win: Time_win } = Core_Globals; const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities; /* * @@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * `Highcharts.setOptions`, or individually for each Chart item through the * [time](https://api.highcharts.com/highcharts/time) options set. * - * The Time object is available from {@link Highcharts.Chart#time}, - * which refers to `Highcharts.time` if no individual time settings are - * applied. + * The Time object is available from {@link Highcharts.Chart#time}, which refers + * to `Highcharts.time` unless individual time settings are applied for each + * chart. + * + * When configuring time settings for individual chart instances, be aware that + * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within + * formatter callbacks relies on the global time object, which applies the + * global language and time zone settings. To ensure charts with local time + * settings function correctly, use `chart.time.dateFormat? instead. However, + * the recommended best practice is to use `setOptions` to define global time + * settings unless specific configurations are needed for each chart. * * @example * // Apply time settings globally @@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind * @class * @name Highcharts.Time * - * @param {Highcharts.TimeOptions} [options] - * Time options as defined in [chart.options.time](/highcharts/time). + * @param {Highcharts.TimeOptions} [options] Time options as defined in + * [chart.options.time](/highcharts/time). */ class Time { /* * @@ -3688,7 +3696,7 @@ class Time { /** * Shorthand to get a cached `Intl.DateTimeFormat` instance. */ - dateTimeFormat(options, timestamp, locale = this.options.locale) { + dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) { const cacheKey = JSON.stringify(options) + locale; if (Time_isString(options)) { options = this.str2dtf(options); @@ -7066,14 +7074,6 @@ const defaultOptions = { text: 'Highcharts.com' } }; -/* eslint-disable spaced-comment */ -/*= if (!build.classic) { =*/ -// Legacy build for styled mode, set the styledMode option to true by default. -defaultOptions.chart.styledMode = true; -/*= } else { =*/ -defaultOptions.chart.styledMode = false; -/*= } =*/ -''; const defaultTime = new Core_Time(defaultOptions.time); /** * Get the updated default options. Until 3.0.7, merely exposing defaultOptions @@ -8834,7 +8834,7 @@ AST.bypassHTMLFiltering = false; const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults; -const { doc: Templating_doc } = Core_Globals; +const { pageLang: Templating_pageLang } = Core_Globals; const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities; const helpers = { @@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) { } const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ? 'en' : - (this?.locale || - lang.locale || - Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); + (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options)); ret = nf.format(number); // If thousandsSep or decimalPoint are set, fall back to using English // format with string replacement for the separators. if (hasSeparators) { ret = ret - .replace(/\,/g, thousandsSep ?? ',') - .replace('.', decimalPoint ?? '.'); + // Preliminary step to avoid re-swapping (#22402) + .replace(/([,\.])/g, '_$1') + .replace(/_\,/g, thousandsSep ?? ',') + .replace('_.', decimalPoint ?? '.'); } if ( // Remove signed zero (#20564) @@ -9691,9 +9691,7 @@ class SVGElement { * @return {Highcharts.SVGElement} Returns the SVGElement for chaining. */ align(alignOptions, alignByTranslate, alignTo, redraw = true) { - const attribs = { - 'text-align': alignOptions?.align - }, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); + const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions); // First call on instanciate if (alignOptions) { this.alignOptions = alignOptions; @@ -9725,7 +9723,9 @@ class SVGElement { // Default: top align y = (alignToBox.y || 0) + (alignOptions.y || 0) + ((alignToBox.height || 0) - (alignOptions.height || 0)) * - SVGElement_getAlignFactor(alignOptions.verticalAlign); + SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = { + 'text-align': alignOptions?.align + }; attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x); attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y); // Animate only if already placed @@ -11608,7 +11608,9 @@ class SVGLabel extends SVG_SVGElement { this.boxAttr(key, value); } 'text-alignSetter'(value) { - this.textAlign = value; + // The text-align variety is for the pre-animation getter. The code + // should be unified to either textAlign or text-align. + this.textAlign = this['text-align'] = value; this.updateTextPadding(); } textSetter(text) { @@ -12636,7 +12638,7 @@ class SVGRenderer { this.url = this.getReferenceURL(); // Add description const desc = this.createElement('desc').add(); - desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.0')); + desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1')); this.defs = this.createElement('defs').add(); this.allowHTML = allowHTML; this.forExport = forExport; @@ -27477,7 +27479,9 @@ class Pointer { hoverChart !== chart) { const relatedTargetObj = { relatedTarget: chart.container }; if (e && !e?.relatedTarget) { - e = { ...relatedTargetObj, ...e }; + // #17192, Non-enumerable properties of "e" are dropped with + // spreading (...e). Using Object.assign ensures integrity. + Object.assign({}, e, relatedTargetObj); } hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj); } @@ -42627,9 +42631,8 @@ var DataLabel; (unrotatedbBox.width - bBox.width); dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) * (unrotatedbBox.height - bBox.height); - dataLabel.attr({ - 'text-align': dataLabel.alignAttr['text-align'] || 'center' - })[dataLabel.placed ? 'animate' : 'attr']({ + dataLabel[dataLabel.placed ? 'animate' : 'attr']({ + 'text-align': dataLabel.alignAttr['text-align'] || 'center', x: dataLabel.alignAttr.x + (bBox.width - unrotatedbBox.width) / 2, y: dataLabel.alignAttr.y + @@ -50718,7 +50721,7 @@ class StandaloneNavigator { ;// ./code/es-modules/masters/modules/navigator.src.js /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/modules/navigator * @requires highcharts * diff --git a/themes/avocado.js b/themes/avocado.js index 4587abc70e..3730983a99 100644 --- a/themes/avocado.js +++ b/themes/avocado.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/avocado * @requires highcharts * diff --git a/themes/avocado.src.js b/themes/avocado.src.js index 5df1e1dd7d..c3619c41e4 100644 --- a/themes/avocado.src.js +++ b/themes/avocado.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/avocado * @requires highcharts * diff --git a/themes/brand-dark.js b/themes/brand-dark.js index 21d24a66d3..88bef9921c 100644 --- a/themes/brand-dark.js +++ b/themes/brand-dark.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/brand-dark * @requires highcharts * diff --git a/themes/brand-dark.src.js b/themes/brand-dark.src.js index a99698a923..57f29098ac 100644 --- a/themes/brand-dark.src.js +++ b/themes/brand-dark.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/brand-dark * @requires highcharts * diff --git a/themes/brand-light.js b/themes/brand-light.js index 73b4c408fc..7be2d56d65 100644 --- a/themes/brand-light.js +++ b/themes/brand-light.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/brand-light * @requires highcharts * diff --git a/themes/brand-light.src.js b/themes/brand-light.src.js index 1c4262647d..955cb58ca5 100644 --- a/themes/brand-light.src.js +++ b/themes/brand-light.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/brand-light * @requires highcharts * diff --git a/themes/dark-blue.js b/themes/dark-blue.js index 5d2cd03a98..1851b202d8 100644 --- a/themes/dark-blue.js +++ b/themes/dark-blue.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-blue * @requires highcharts * diff --git a/themes/dark-blue.src.js b/themes/dark-blue.src.js index 655ba79c7e..bd69811c76 100644 --- a/themes/dark-blue.src.js +++ b/themes/dark-blue.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-blue * @requires highcharts * diff --git a/themes/dark-green.js b/themes/dark-green.js index 6b6984ca73..cb93daace3 100644 --- a/themes/dark-green.js +++ b/themes/dark-green.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-green * @requires highcharts * diff --git a/themes/dark-green.src.js b/themes/dark-green.src.js index 03d2122c71..da490ea5b3 100644 --- a/themes/dark-green.src.js +++ b/themes/dark-green.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-green * @requires highcharts * diff --git a/themes/dark-unica.js b/themes/dark-unica.js index f27194cc0b..ed447f7aa6 100644 --- a/themes/dark-unica.js +++ b/themes/dark-unica.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-unica * @requires highcharts * diff --git a/themes/dark-unica.src.js b/themes/dark-unica.src.js index c041107971..ed5038182a 100644 --- a/themes/dark-unica.src.js +++ b/themes/dark-unica.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/dark-unica * @requires highcharts * diff --git a/themes/gray.js b/themes/gray.js index 7666b46934..a88f06a14d 100644 --- a/themes/gray.js +++ b/themes/gray.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/gray * @requires highcharts * diff --git a/themes/gray.src.js b/themes/gray.src.js index 4849e8cb1d..bf92c49ab4 100644 --- a/themes/gray.src.js +++ b/themes/gray.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/gray * @requires highcharts * diff --git a/themes/grid-light.js b/themes/grid-light.js index 4db85db6fc..ec4f902c46 100644 --- a/themes/grid-light.js +++ b/themes/grid-light.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/grid-light * @requires highcharts * diff --git a/themes/grid-light.src.js b/themes/grid-light.src.js index df8f2cf062..fe420114cf 100644 --- a/themes/grid-light.src.js +++ b/themes/grid-light.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/grid-light * @requires highcharts * diff --git a/themes/grid.js b/themes/grid.js index 36055fb68b..5e06afde2a 100644 --- a/themes/grid.js +++ b/themes/grid.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/grid * @requires highcharts * diff --git a/themes/grid.src.js b/themes/grid.src.js index f0396a6372..904e821eb1 100644 --- a/themes/grid.src.js +++ b/themes/grid.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/grid * @requires highcharts * diff --git a/themes/high-contrast-dark.js b/themes/high-contrast-dark.js index b48efa034a..8807aba717 100644 --- a/themes/high-contrast-dark.js +++ b/themes/high-contrast-dark.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/high-contrast-dark * @requires highcharts * diff --git a/themes/high-contrast-dark.src.js b/themes/high-contrast-dark.src.js index eb88528b40..945dfdff59 100644 --- a/themes/high-contrast-dark.src.js +++ b/themes/high-contrast-dark.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/high-contrast-dark * @requires highcharts * diff --git a/themes/high-contrast-light.js b/themes/high-contrast-light.js index b2c33ad798..3769727836 100644 --- a/themes/high-contrast-light.js +++ b/themes/high-contrast-light.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/high-contrast-light * @requires highcharts * diff --git a/themes/high-contrast-light.src.js b/themes/high-contrast-light.src.js index 871f0a9368..17a3c7236e 100644 --- a/themes/high-contrast-light.src.js +++ b/themes/high-contrast-light.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/high-contrast-light * @requires highcharts * diff --git a/themes/sand-signika.js b/themes/sand-signika.js index 1b0c8f694a..aafae82bc4 100644 --- a/themes/sand-signika.js +++ b/themes/sand-signika.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/sand-signika * @requires highcharts * diff --git a/themes/sand-signika.src.js b/themes/sand-signika.src.js index 1a154167a2..74b4f6d4db 100644 --- a/themes/sand-signika.src.js +++ b/themes/sand-signika.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/sand-signika * @requires highcharts * diff --git a/themes/skies.js b/themes/skies.js index 306b6751ce..10d2fd3192 100644 --- a/themes/skies.js +++ b/themes/skies.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/skies * @requires highcharts * diff --git a/themes/skies.src.js b/themes/skies.src.js index a832657135..ae0a060fbb 100644 --- a/themes/skies.src.js +++ b/themes/skies.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/skies * @requires highcharts * diff --git a/themes/sunset.js b/themes/sunset.js index 0b534aeaea..9a9a5daaa9 100644 --- a/themes/sunset.js +++ b/themes/sunset.js @@ -1,5 +1,5 @@ !/** - * Highcharts JS v12.1.0 (2024-12-17) + * Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/sunset * @requires highcharts * diff --git a/themes/sunset.src.js b/themes/sunset.src.js index b70039724d..588c80d7c6 100644 --- a/themes/sunset.src.js +++ b/themes/sunset.src.js @@ -1,5 +1,5 @@ /** - * @license Highcharts JS v12.1.0 (2024-12-17) + * @license Highcharts JS v12.1.1 (2024-12-20) * @module highcharts/themes/sunset * @requires highcharts *