@ntlab/ntjs-assets 2.0.27 → 2.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/js/cdn.json +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Accessibility.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/AccessibilityComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
- package/assets/js/highcharts/es-modules/Accessibility/KeyboardNavigation.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
- package/assets/js/highcharts/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Options/LangDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Accessibility/Utils/EventProvider.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Animation/Fx.js +4 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +1 -0
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +5 -2
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Axis/Stacking/StackItem.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +16 -7
- package/assets/js/highcharts/es-modules/Core/Chart/MapChart.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Color/Color.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Defaults.js +27 -1
- package/assets/js/highcharts/es-modules/Core/Geometry/GeometryUtilities.js +22 -0
- package/assets/js/highcharts/es-modules/Core/Globals.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Legend/Legend.js +82 -14
- package/assets/js/highcharts/es-modules/Core/MSPointer.js +42 -1
- package/assets/js/highcharts/es-modules/Core/Pointer.js +10 -6
- package/assets/js/highcharts/es-modules/Core/Renderer/HTML/AST.js +6 -0
- package/assets/js/highcharts/es-modules/Core/Renderer/HTML/HTMLElement.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGElement.js +31 -98
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGLabel.js +20 -0
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +29 -14
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/Symbols.js +18 -18
- package/assets/js/highcharts/es-modules/Core/Responsive.js +6 -1
- package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +1 -10
- package/assets/js/highcharts/es-modules/Core/Series/DataSeriesComposition.js +0 -2
- package/assets/js/highcharts/es-modules/Core/Series/Point.js +7 -10
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +40 -24
- package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +18 -12
- package/assets/js/highcharts/es-modules/Core/Templating.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Tooltip.js +6 -3
- package/assets/js/highcharts/es-modules/Data/Connectors/JSONConnector.js +1 -0
- package/assets/js/highcharts/es-modules/Data/Converters/CSVConverter.js +1 -1
- package/assets/js/highcharts/es-modules/Data/Converters/DataConverter.js +7 -7
- package/assets/js/highcharts/es-modules/Data/DataTable.js +106 -5
- package/assets/js/highcharts/es-modules/Data/Formula/FormulaParser.js +2 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/NavigationBindings.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/Boost/Boost.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostChart.js +8 -2
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +41 -10
- package/assets/js/highcharts/es-modules/Extensions/Boost/WGLShader.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/BorderRadius.js +3 -3
- package/assets/js/highcharts/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +0 -38
- package/assets/js/highcharts/es-modules/Extensions/Data.js +11 -11
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Drilldown/Drilldown.js +0 -2
- package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +14 -14
- package/assets/js/highcharts/es-modules/Extensions/OverlappingDataLabels.js +36 -5
- package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Sonification/MIDI.js +7 -7
- package/assets/js/highcharts/es-modules/Extensions/Sonification/SonificationInstrument.js +0 -1
- package/assets/js/highcharts/es-modules/Extensions/Sonification/TimelineFromChart.js +1 -3
- package/assets/js/highcharts/es-modules/Extensions/TextPath.js +225 -0
- package/assets/js/highcharts/es-modules/Maps/MapUtilities.js +1 -20
- package/assets/js/highcharts/es-modules/Maps/MapView.js +3 -1
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeries.js +5 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Bar/BarSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/BoxPlot/BoxPlotSeries.js +2 -1
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleLegendComposition.js +4 -7
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleLegendDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -2
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/ErrorBar/ErrorBarSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Gantt/GanttSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Gauge/GaugeSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/HLC/HLCSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Item/ItemSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Map/MapSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Map/MapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -1
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeries.js +3 -0
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeries.js +8 -5
- package/assets/js/highcharts/es-modules/Series/Pie/PieDataLabel.js +7 -6
- package/assets/js/highcharts/es-modules/Series/Pie/PiePoint.js +6 -6
- package/assets/js/highcharts/es-modules/Series/Pie/PieSeriesDefaults.js +11 -10
- package/assets/js/highcharts/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeries.js +7 -4
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeries.js +8 -5
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +23 -2
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapPoint.js +2 -1
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeries.js +15 -7
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeriesDefaults.js +15 -1
- package/assets/js/highcharts/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Variwide/VariwideComposition.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Vector/VectorSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Wordcloud/WordcloudSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/AD/ADIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/MFI/MFIIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +2 -2
- package/assets/js/highcharts/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +3 -3
- package/assets/js/highcharts/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +141 -55
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelector.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolbar.js +115 -37
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsDefaults.js +7 -1
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsGui.js +24 -23
- package/assets/js/highcharts/es-modules/Stock/StockTools/StockToolsUtilities.js +26 -0
- package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +2 -2
- package/assets/js/highcharts/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/arc-diagram.src.js +2 -3
- package/assets/js/highcharts/es-modules/masters/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/export-data.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/funnel3d.src.js +2 -2
- package/assets/js/highcharts/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/map.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/organization.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/pyramid3d.src.js +3 -3
- package/assets/js/highcharts/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/textpath.src.js +16 -0
- package/assets/js/highcharts/es-modules/masters/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/treegraph.src.js +1 -1
- package/assets/js/highcharts/highcharts-3d.js +2 -2
- package/assets/js/highcharts/highcharts-3d.src.js +4 -4
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +3374 -3042
- package/assets/js/highcharts/highcharts-more.js +2 -2
- package/assets/js/highcharts/highcharts-more.src.js +260 -35
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +5844 -5600
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +3270 -3043
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +3379 -3048
- package/assets/js/highcharts/indicators/acceleration-bands.js +2 -2
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +4 -4
- package/assets/js/highcharts/indicators/accumulation-distribution.js +2 -2
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +5 -5
- package/assets/js/highcharts/indicators/ao.js +2 -2
- package/assets/js/highcharts/indicators/ao.src.js +4 -4
- package/assets/js/highcharts/indicators/apo.js +2 -2
- package/assets/js/highcharts/indicators/apo.src.js +5 -5
- package/assets/js/highcharts/indicators/aroon-oscillator.js +2 -2
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +4 -4
- package/assets/js/highcharts/indicators/aroon.js +2 -2
- package/assets/js/highcharts/indicators/aroon.src.js +5 -5
- package/assets/js/highcharts/indicators/atr.js +2 -2
- package/assets/js/highcharts/indicators/atr.src.js +4 -4
- package/assets/js/highcharts/indicators/bollinger-bands.js +2 -2
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +4 -4
- package/assets/js/highcharts/indicators/cci.js +2 -2
- package/assets/js/highcharts/indicators/cci.src.js +4 -4
- package/assets/js/highcharts/indicators/chaikin.js +2 -2
- package/assets/js/highcharts/indicators/chaikin.src.js +6 -6
- package/assets/js/highcharts/indicators/cmf.js +2 -2
- package/assets/js/highcharts/indicators/cmf.src.js +5 -5
- package/assets/js/highcharts/indicators/cmo.js +2 -2
- package/assets/js/highcharts/indicators/cmo.src.js +4 -4
- package/assets/js/highcharts/indicators/dema.js +2 -2
- package/assets/js/highcharts/indicators/dema.src.js +4 -4
- package/assets/js/highcharts/indicators/disparity-index.js +2 -2
- package/assets/js/highcharts/indicators/disparity-index.src.js +4 -4
- package/assets/js/highcharts/indicators/dmi.js +2 -2
- package/assets/js/highcharts/indicators/dmi.src.js +4 -4
- package/assets/js/highcharts/indicators/dpo.js +2 -2
- package/assets/js/highcharts/indicators/dpo.src.js +4 -4
- package/assets/js/highcharts/indicators/ema.js +1 -1
- package/assets/js/highcharts/indicators/ema.src.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +7 -7
- package/assets/js/highcharts/indicators/indicators-all.js +2 -2
- package/assets/js/highcharts/indicators/indicators-all.src.js +29 -29
- package/assets/js/highcharts/indicators/indicators.js +2 -2
- package/assets/js/highcharts/indicators/indicators.src.js +5 -5
- package/assets/js/highcharts/indicators/keltner-channels.js +2 -2
- package/assets/js/highcharts/indicators/keltner-channels.src.js +4 -4
- package/assets/js/highcharts/indicators/klinger.js +2 -2
- package/assets/js/highcharts/indicators/klinger.src.js +4 -4
- package/assets/js/highcharts/indicators/macd.js +2 -2
- package/assets/js/highcharts/indicators/macd.src.js +4 -4
- package/assets/js/highcharts/indicators/mfi.js +2 -2
- package/assets/js/highcharts/indicators/mfi.src.js +5 -5
- package/assets/js/highcharts/indicators/momentum.js +2 -2
- package/assets/js/highcharts/indicators/momentum.src.js +4 -4
- package/assets/js/highcharts/indicators/natr.js +2 -2
- package/assets/js/highcharts/indicators/natr.src.js +4 -4
- package/assets/js/highcharts/indicators/obv.js +2 -2
- package/assets/js/highcharts/indicators/obv.src.js +4 -4
- package/assets/js/highcharts/indicators/pivot-points.js +2 -2
- package/assets/js/highcharts/indicators/pivot-points.src.js +7 -7
- package/assets/js/highcharts/indicators/ppo.js +2 -2
- package/assets/js/highcharts/indicators/ppo.src.js +5 -5
- package/assets/js/highcharts/indicators/price-channel.js +2 -2
- package/assets/js/highcharts/indicators/price-channel.src.js +5 -5
- package/assets/js/highcharts/indicators/price-envelopes.js +2 -2
- package/assets/js/highcharts/indicators/price-envelopes.src.js +4 -4
- package/assets/js/highcharts/indicators/psar.js +2 -2
- package/assets/js/highcharts/indicators/psar.src.js +5 -5
- package/assets/js/highcharts/indicators/regressions.js +2 -2
- package/assets/js/highcharts/indicators/regressions.src.js +5 -5
- package/assets/js/highcharts/indicators/roc.js +2 -2
- package/assets/js/highcharts/indicators/roc.src.js +4 -4
- package/assets/js/highcharts/indicators/rsi.js +2 -2
- package/assets/js/highcharts/indicators/rsi.src.js +4 -4
- package/assets/js/highcharts/indicators/slow-stochastic.js +2 -2
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +6 -6
- package/assets/js/highcharts/indicators/stochastic.js +2 -2
- package/assets/js/highcharts/indicators/stochastic.src.js +4 -4
- package/assets/js/highcharts/indicators/supertrend.js +2 -2
- package/assets/js/highcharts/indicators/supertrend.src.js +7 -7
- package/assets/js/highcharts/indicators/tema.js +2 -2
- package/assets/js/highcharts/indicators/tema.src.js +4 -4
- package/assets/js/highcharts/indicators/trendline.js +2 -2
- package/assets/js/highcharts/indicators/trendline.src.js +5 -5
- package/assets/js/highcharts/indicators/trix.js +2 -2
- package/assets/js/highcharts/indicators/trix.src.js +4 -4
- package/assets/js/highcharts/indicators/volume-by-price.js +2 -2
- package/assets/js/highcharts/indicators/volume-by-price.src.js +4 -4
- package/assets/js/highcharts/indicators/vwap.js +2 -2
- package/assets/js/highcharts/indicators/vwap.src.js +5 -5
- package/assets/js/highcharts/indicators/williams-r.js +2 -2
- package/assets/js/highcharts/indicators/williams-r.src.js +5 -5
- package/assets/js/highcharts/indicators/wma.js +2 -2
- package/assets/js/highcharts/indicators/wma.src.js +4 -4
- package/assets/js/highcharts/indicators/zigzag.js +2 -2
- package/assets/js/highcharts/indicators/zigzag.src.js +4 -4
- package/assets/js/highcharts/modules/accessibility.js +2 -2
- package/assets/js/highcharts/modules/accessibility.src.js +162 -77
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +8 -9
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +8 -9
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +9363 -5
- package/assets/js/highcharts/modules/arrow-symbols.js +2 -2
- package/assets/js/highcharts/modules/arrow-symbols.src.js +3 -3
- package/assets/js/highcharts/modules/boost-canvas.js +2 -2
- package/assets/js/highcharts/modules/boost-canvas.src.js +53 -16
- package/assets/js/highcharts/modules/boost.js +2 -2
- package/assets/js/highcharts/modules/boost.src.js +54 -17
- package/assets/js/highcharts/modules/broken-axis.js +2 -2
- package/assets/js/highcharts/modules/broken-axis.src.js +3 -3
- package/assets/js/highcharts/modules/bullet.js +2 -2
- package/assets/js/highcharts/modules/bullet.src.js +3 -3
- package/assets/js/highcharts/modules/coloraxis.js +2 -2
- package/assets/js/highcharts/modules/coloraxis.src.js +10 -6
- package/assets/js/highcharts/modules/current-date-indicator.js +2 -2
- package/assets/js/highcharts/modules/current-date-indicator.src.js +3 -3
- package/assets/js/highcharts/modules/cylinder.js +2 -2
- package/assets/js/highcharts/modules/cylinder.src.js +4 -4
- package/assets/js/highcharts/modules/data-tools.js +2 -2
- package/assets/js/highcharts/modules/data-tools.src.js +120 -18
- package/assets/js/highcharts/modules/data.js +2 -2
- package/assets/js/highcharts/modules/data.src.js +14 -14
- package/assets/js/highcharts/modules/datagrouping.js +2 -2
- package/assets/js/highcharts/modules/datagrouping.src.js +5 -6
- package/assets/js/highcharts/modules/debugger.js +2 -2
- package/assets/js/highcharts/modules/debugger.src.js +3 -3
- package/assets/js/highcharts/modules/dependency-wheel.js +2 -2
- package/assets/js/highcharts/modules/dependency-wheel.src.js +8 -7
- package/assets/js/highcharts/modules/dotplot.js +2 -2
- package/assets/js/highcharts/modules/dotplot.src.js +3 -3
- package/assets/js/highcharts/modules/drag-panes.js +2 -2
- package/assets/js/highcharts/modules/drag-panes.src.js +4 -4
- package/assets/js/highcharts/modules/draggable-points.js +2 -2
- package/assets/js/highcharts/modules/draggable-points.src.js +3 -3
- package/assets/js/highcharts/modules/drilldown.js +2 -2
- package/assets/js/highcharts/modules/drilldown.src.js +3 -43
- package/assets/js/highcharts/modules/dumbbell.js +2 -2
- package/assets/js/highcharts/modules/dumbbell.src.js +5 -5
- package/assets/js/highcharts/modules/export-data.js +2 -2
- package/assets/js/highcharts/modules/export-data.src.js +5 -5
- package/assets/js/highcharts/modules/exporting.js +2 -2
- package/assets/js/highcharts/modules/exporting.src.js +17 -17
- package/assets/js/highcharts/modules/flowmap.js +2 -2
- package/assets/js/highcharts/modules/flowmap.src.js +3 -3
- package/assets/js/highcharts/modules/full-screen.js +2 -2
- package/assets/js/highcharts/modules/full-screen.src.js +3 -3
- package/assets/js/highcharts/modules/funnel.js +2 -2
- package/assets/js/highcharts/modules/funnel.src.js +3 -3
- package/assets/js/highcharts/modules/funnel3d.js +2 -2
- package/assets/js/highcharts/modules/funnel3d.src.js +4 -4
- package/assets/js/highcharts/modules/gantt.js +2 -2
- package/assets/js/highcharts/modules/gantt.src.js +155 -67
- package/assets/js/highcharts/modules/geoheatmap.js +2 -2
- package/assets/js/highcharts/modules/geoheatmap.src.js +3 -3
- package/assets/js/highcharts/modules/grid-axis.js +2 -2
- package/assets/js/highcharts/modules/grid-axis.src.js +4 -4
- package/assets/js/highcharts/modules/heatmap.js +2 -2
- package/assets/js/highcharts/modules/heatmap.src.js +12 -8
- package/assets/js/highcharts/modules/heikinashi.js +2 -2
- package/assets/js/highcharts/modules/heikinashi.src.js +4 -4
- package/assets/js/highcharts/modules/histogram-bellcurve.js +2 -2
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +5 -5
- package/assets/js/highcharts/modules/hollowcandlestick.js +2 -2
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +4 -4
- package/assets/js/highcharts/modules/item-series.js +2 -2
- package/assets/js/highcharts/modules/item-series.src.js +4 -4
- package/assets/js/highcharts/modules/lollipop.js +2 -2
- package/assets/js/highcharts/modules/lollipop.src.js +3 -3
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +34 -51
- package/assets/js/highcharts/modules/marker-clusters.js +2 -2
- package/assets/js/highcharts/modules/marker-clusters.src.js +3 -3
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +2 -2
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +3 -3
- package/assets/js/highcharts/modules/navigator.js +2 -2
- package/assets/js/highcharts/modules/navigator.src.js +146 -61
- package/assets/js/highcharts/modules/networkgraph.js +2 -2
- package/assets/js/highcharts/modules/networkgraph.src.js +231 -5
- package/assets/js/highcharts/modules/no-data-to-display.js +2 -2
- package/assets/js/highcharts/modules/no-data-to-display.src.js +3 -3
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +6 -6
- package/assets/js/highcharts/modules/organization.js +2 -2
- package/assets/js/highcharts/modules/organization.src.js +6 -5
- package/assets/js/highcharts/modules/overlapping-datalabels.js +2 -2
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +3 -3
- package/assets/js/highcharts/modules/parallel-coordinates.js +2 -2
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +4 -4
- package/assets/js/highcharts/modules/pareto.js +2 -2
- package/assets/js/highcharts/modules/pareto.src.js +3 -3
- package/assets/js/highcharts/modules/pathfinder.js +2 -2
- package/assets/js/highcharts/modules/pathfinder.src.js +3 -3
- package/assets/js/highcharts/modules/pattern-fill.js +2 -2
- package/assets/js/highcharts/modules/pattern-fill.src.js +3 -3
- package/assets/js/highcharts/modules/pictorial.js +2 -2
- package/assets/js/highcharts/modules/pictorial.src.js +3 -3
- package/assets/js/highcharts/modules/price-indicator.js +2 -2
- package/assets/js/highcharts/modules/price-indicator.src.js +4 -4
- package/assets/js/highcharts/modules/pyramid3d.js +2 -2
- package/assets/js/highcharts/modules/pyramid3d.src.js +4 -4
- package/assets/js/highcharts/modules/sankey.js +2 -2
- package/assets/js/highcharts/modules/sankey.src.js +235 -9
- package/assets/js/highcharts/modules/series-label.js +2 -2
- package/assets/js/highcharts/modules/series-label.src.js +3 -3
- package/assets/js/highcharts/modules/series-on-point.js +2 -2
- package/assets/js/highcharts/modules/series-on-point.src.js +3 -3
- package/assets/js/highcharts/modules/solid-gauge.js +2 -2
- package/assets/js/highcharts/modules/solid-gauge.src.js +4 -4
- package/assets/js/highcharts/modules/sonification.js +2 -2
- package/assets/js/highcharts/modules/sonification.src.js +12 -15
- package/assets/js/highcharts/modules/static-scale.js +2 -2
- package/assets/js/highcharts/modules/static-scale.src.js +3 -3
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +178 -70
- package/assets/js/highcharts/modules/stock.js +2 -2
- package/assets/js/highcharts/modules/stock.src.js +160 -73
- package/assets/js/highcharts/modules/streamgraph.js +2 -2
- package/assets/js/highcharts/modules/streamgraph.src.js +3 -3
- package/assets/js/highcharts/modules/sunburst.js +2 -2
- package/assets/js/highcharts/modules/sunburst.src.js +269 -58
- package/assets/js/highcharts/modules/textpath.js +7 -0
- package/assets/js/highcharts/modules/textpath.src.js +269 -0
- package/assets/js/highcharts/modules/tiledwebmap.js +3 -3
- package/assets/js/highcharts/modules/tiledwebmap.src.js +3 -3
- package/assets/js/highcharts/modules/tilemap.js +2 -2
- package/assets/js/highcharts/modules/tilemap.src.js +6 -6
- package/assets/js/highcharts/modules/timeline.js +2 -2
- package/assets/js/highcharts/modules/timeline.src.js +3 -3
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +253 -9
- package/assets/js/highcharts/modules/treegrid.js +2 -2
- package/assets/js/highcharts/modules/treegrid.src.js +4 -4
- package/assets/js/highcharts/modules/treemap.js +2 -2
- package/assets/js/highcharts/modules/treemap.src.js +35 -50
- package/assets/js/highcharts/modules/variable-pie.js +2 -2
- package/assets/js/highcharts/modules/variable-pie.src.js +5 -5
- package/assets/js/highcharts/modules/variwide.js +2 -2
- package/assets/js/highcharts/modules/variwide.src.js +4 -4
- package/assets/js/highcharts/modules/vector.js +2 -2
- package/assets/js/highcharts/modules/vector.src.js +4 -4
- package/assets/js/highcharts/modules/venn.js +2 -2
- package/assets/js/highcharts/modules/venn.src.js +3 -88
- package/assets/js/highcharts/modules/windbarb.js +2 -2
- package/assets/js/highcharts/modules/windbarb.src.js +5 -5
- package/assets/js/highcharts/modules/wordcloud.js +2 -2
- package/assets/js/highcharts/modules/wordcloud.src.js +6 -6
- package/assets/js/highcharts/modules/xrange.js +2 -2
- package/assets/js/highcharts/modules/xrange.src.js +3 -3
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +3363 -3034
- package/assets/js/highcharts/themes/avocado.js +2 -2
- package/assets/js/highcharts/themes/avocado.src.js +3 -3
- package/assets/js/highcharts/themes/brand-dark.js +2 -2
- package/assets/js/highcharts/themes/brand-dark.src.js +3 -3
- package/assets/js/highcharts/themes/brand-light.js +2 -2
- package/assets/js/highcharts/themes/brand-light.src.js +3 -3
- package/assets/js/highcharts/themes/dark-blue.js +2 -2
- package/assets/js/highcharts/themes/dark-blue.src.js +3 -3
- package/assets/js/highcharts/themes/dark-green.js +2 -2
- package/assets/js/highcharts/themes/dark-green.src.js +3 -3
- package/assets/js/highcharts/themes/dark-unica.js +2 -2
- package/assets/js/highcharts/themes/dark-unica.src.js +3 -3
- package/assets/js/highcharts/themes/gray.js +2 -2
- package/assets/js/highcharts/themes/gray.src.js +3 -3
- package/assets/js/highcharts/themes/grid-light.js +2 -2
- package/assets/js/highcharts/themes/grid-light.src.js +3 -3
- package/assets/js/highcharts/themes/grid.js +2 -2
- package/assets/js/highcharts/themes/grid.src.js +3 -3
- package/assets/js/highcharts/themes/high-contrast-dark.js +2 -2
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +3 -3
- package/assets/js/highcharts/themes/high-contrast-light.js +2 -2
- package/assets/js/highcharts/themes/high-contrast-light.src.js +3 -3
- package/assets/js/highcharts/themes/sand-signika.js +2 -2
- package/assets/js/highcharts/themes/sand-signika.src.js +3 -3
- package/assets/js/highcharts/themes/skies.js +2 -2
- package/assets/js/highcharts/themes/skies.src.js +3 -3
- package/assets/js/highcharts/themes/sunset.js +2 -2
- package/assets/js/highcharts/themes/sunset.src.js +3 -3
- package/assets/js/pdfjs/build/pdf.mjs +464 -207
- package/assets/js/pdfjs/build/pdf.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.sandbox.mjs +6 -3
- package/assets/js/pdfjs/build/pdf.sandbox.mjs.map +1 -1
- package/assets/js/pdfjs/build/pdf.worker.mjs +384 -204
- package/assets/js/pdfjs/build/pdf.worker.mjs.map +1 -1
- package/assets/js/pdfjs/web/locale/br/viewer.ftl +5 -6
- package/assets/js/pdfjs/web/locale/is/viewer.ftl +1 -9
- package/assets/js/pdfjs/web/locale/ja/viewer.ftl +1 -3
- package/assets/js/pdfjs/web/locale/kab/viewer.ftl +57 -8
- package/assets/js/pdfjs/web/locale/nn-NO/viewer.ftl +40 -6
- package/assets/js/pdfjs/web/locale/sl/viewer.ftl +4 -0
- package/assets/js/pdfjs/web/viewer.css +15 -0
- package/assets/js/pdfjs/web/viewer.html +1 -1
- package/assets/js/pdfjs/web/viewer.mjs +159 -91
- package/assets/js/pdfjs/web/viewer.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.4 (2024-07-02)
|
|
3
3
|
*
|
|
4
4
|
* Annotations module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2009-2024 Torstein Honsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function s(t,i,s,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}s(i,"Extensions/Annotations/AnnotationChart.js",[i["Core/Utilities.js"]],function(t){var i;let{addEvent:s,erase:e,find:o,fireEvent:n,pick:a,wrap:r}=t;function l(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),a(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function h(){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(),s(t,"redraw",t.drawAnnotations),s(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),s(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,l=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<t;++i)a[i]="";a.push(s),a.xValues=[],a.xValues[o]=e,i.dataRows.push(a),n=!0}if(n||i.dataRows.forEach(t=>{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(l&&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<t;++i)n[i]="";n[0]=e,n.push(s),n.xValues=[],void 0!==o&&(n.xValues[o]=e),i.dataRows.push(n)}})}})});let h=0;i.dataRows.forEach(t=>{h=Math.max(h,t.length)});let c=h-i.dataRows[0].length;for(let t=0;t<c;t++){let s=function(t){let i;return e&&!1!==(i=e(t))?i:(i=n+" "+t,o)?{columnTitle:i,topLevelColumnTitle:i}:i}(t+1);o?(i.dataRows[0].push(s.topLevelColumnTitle),i.dataRows[1].push(s.columnTitle)):i.dataRows[0].push(s)}})}function c(){this.plotBoxClip.attr(this.plotBox),this.annotations.forEach(t=>{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function p(t){let i=this.annotations,s="annotations"===t.coll?t:o(i,function(i){return i.options.id===t});s&&(n(s,"remove"),e(this.options.annotations,s.options),e(i,s),s.destroy())}function d(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function u(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return(i||(i={})).compose=function(t,i,e){let o=i.prototype;if(!o.addAnnotation){let n=e.prototype;s(i,"afterInit",d),o.addAnnotation=l,o.callbacks.push(h),o.collectionsWithInit.annotations=[l],o.collectionsWithUpdate.push("annotations"),o.drawAnnotations=c,o.removeAnnotation=p,o.initAnnotation=function(i){let s=new(t.types[i.type]||t)(this,i);return this.annotations.push(s),s},r(n,"onContainerMouseDown",u)}},i}),s(i,"Extensions/Annotations/AnnotationDefaults.js",[i["Core/Utilities.js"]],function(t){let{defined:i}=t;return{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 i(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}}),s(i,"Extensions/Annotations/EventEmitter.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s,isTouchDevice:e}=t,{addEvent:o,fireEvent:n,objectEach:a,pick:r,removeEvent:l}=i;return class{addEvents(){let t=this,i=function(i){o(i,e?"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)}),a(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)?(o(t.graphic.element,s,e,{passive:!1}),t.graphic.div&&o(t.graphic.div,s,e,{passive:!1})):o(t,s,e,{passive:!1})}),t.options.draggable&&(o(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(),l(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),l=(a||1)/(o||1);if(this.chart.inverted){let t=l;l=r,r=t}return{x:r,y:l}}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,a=i.chart.pointer,l=t?.sourceCapabilities?.firesTouchEvents||!1,h=(t=a?.normalize(t)||t).chartX,c=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=o(s,e||l?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=a?.normalize(t)||t).prevChartX=h,t.prevChartY=c,n(i,"drag",t),h=t.chartX,c=t.chartY},e||l?{passive:!1}:void 0),i.removeMouseUp=o(s,e||l?"touchend":"mouseup",function(){let t=r(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&n(r(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},e||l?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),s(i,"Extensions/Annotations/ControlPoint.js",[i["Extensions/Annotations/EventEmitter.js"],i["Core/Utilities.js"]],function(t,i){let{merge:s,pick:e}=i;return class extends t{constructor(t,i,s,o){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=e(s.index,o)}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,o=this.index,n=s(!0,this.options,t);this.destroy(),this.constructor(i,e,n,o),this.render(i.controlPointsGroup),this.redraw()}}}),s(i,"Extensions/Annotations/MockPoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{series:{prototype:s}}=t,{defined:e,fireEvent:o}=i;class n{static fromPoint(t){return new n(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,e){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:s.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()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}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,n=this.series.yAxis,a={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(a.isInsidePlot=e(t)&&t>=0&&t<=s.len),n&&(a.isInsidePlot=a.isInsidePlot&&e(i)&&i>=0&&i<=n.len),o(this.series.chart,"afterIsInsidePlot",a),a.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",o=t[s],n=this.series.chart;this.series[s]="object"==typeof o?o:e(o)?n[s][o]||n.get(o):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())}}return n}),s(i,"Extensions/Annotations/ControlTarget.js",[i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,s){var e;return function(e){function o(){let i=this.controlPoints,e=this.options.controlPoints||[];e.forEach((o,n)=>{let a=s.merge(this.options.controlPointOptions,o);a.index||(a.index=n),e[n]=a,i.push(new t(this.chart,this,a))})}function n(t){let i=t.series.getPlotBox(),e=t.series.chart,o=t.mock?t.toAnchor():e.tooltip&&e.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],n={x:o[0]+(this.options.x||0),y:o[1]+(this.options.y||0),height:o[2]||0,width:o[3]||0};return{relativePosition:n,absolutePosition:s.merge(n,{x:n.x+(t.mock?i.translateX:e.plotLeft),y:n.y+(t.mock?i.translateY:e.plotTop)})}}function a(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function r(){let t=this.options;return t.points||t.point&&s.splat(t.point)}function l(){let t,i;let s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;t<o;t++){if(!(i=this.point(s[t],e[t]))){e.length=0;return}i.mock&&i.refresh(),e[t]=i}return e}function h(t,e){if(t&&t.series)return t;if(!e||null===e.series){if(s.isObject(t))e=new i(this.chart,this,t);else if(s.isString(t))e=this.chart.get(t)||null;else if("function"==typeof t){let s=t.call(e,this);e=s.series?s:new i(this.chart,this,t)}}return e}function c(t){this.controlPoints.forEach(i=>i.redraw(t))}function p(){this.controlPoints.forEach(t=>t.render())}function d(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 u(t,s,e,o,n,a){let r=this.points[a];r.mock||(r=this.points[a]=i.fromPoint(r)),r[t](s,e,o,n)}function g(t,i){this.transform("translate",null,null,t,i)}function m(t,i,s){this.transformPoint("translate",null,null,t,i,s)}e.compose=function(t){let i=t.prototype;i.addControlPoints||s.merge(!0,i,{addControlPoints:o,anchor:n,destroyControlTarget:a,getPointsOptions:r,linkPoints:l,point:h,redrawControlPoints:c,renderControlPoints:p,transform:d,transformPoint:u,translate:g,translatePoint:m})}}(e||(e={})),e}),s(i,"Extensions/Annotations/Controllables/Controllable.js",[i["Extensions/Annotations/ControlTarget.js"],i["Core/Utilities.js"]],function(t,i){let{merge:s}=i;class e{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,e=s(!0,this.options,t),o=this.graphic.parentGroup,n=this.constructor;this.destroy(),s(!0,this,new n(i,e,this.index,this.itemType)),this.render(o),this.redraw()}}return t.compose(e),e}),s(i,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{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}}]}}}}),s(i,"Extensions/Annotations/Controllables/ControllablePath.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllableDefaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,s,e){let{defaultMarkers:o}=i,{addEvent:n,defined:a,extend:r,merge:l,uniqueKey:h}=e,c=u("marker-end"),p=u("marker-start"),d="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function u(t){return function(i){this.attr(t,"url(#"+i+")")}}function g(){this.options.defs=l(o,this.options.defs||{})}function m(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 l(e,t)});let o=l(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s),n=this.definition(o);return n.id=t,n}class x extends t{static compose(t,i){let s=i.prototype;s.addMarker||(n(t,"afterGetContainer",g),s.addMarker=m)}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,l;if(a)for(e.push(["M",a.x,a.y]);++r<s&&o;)l=(n=i[r]).command||"L",a=this.anchor(n).absolutePosition,"M"===l?e.push([l,a.x,a.y]):"L"===l?e.push([l,a.x,a.y]):"Z"===l&&e.push([l]),o=n.series.visible;return o&&this.graphic?this.chart.renderer.crispLine(e,this.graphic.strokeWidth()):null}shouldBeDrawn(){return super.shouldBeDrawn()||!!this.options.d}render(t){let i=this.options,s=this.attrsFromOptions(i);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(s).add(t),this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(t),this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:d,fill:d,"stroke-width":this.graphic.strokeWidth()+2*i.snap}),super.render(),r(this.graphic,{markerStartSetter:p,markerEndSetter:c}),this.setMarkers(this)}redraw(t){if(this.graphic){let i=this.toD(),s=t?"animate":"attr";i?(this.graphic[s]({d:i}),this.tracker[s]({d:i})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"})),this.graphic.placed=this.tracker.placed=!!i}super.redraw(t)}setMarkers(t){let i=t.options,s=t.chart,e=s.options.defs,o=i.fill,n=a(o)&&"none"!==o?o:i.stroke;["markerStart","markerEnd"].forEach(function(o){let a,r,c,p;let d=i[o];if(d){for(c in e)if((d===((a=e[c]).attributes&&a.attributes.id)||d===a.id)&&"marker"===a.tagName){r=a;break}r&&(p=t[o]=s.renderer.addMarker((i.id||h())+"-"+d,l(r,{color:n})),t.attr(o,p.getAttribute("id")))}})}}return x.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"},x}),s(i,"Extensions/Annotations/Controllables/ControllableRect.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e}=s;class o extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="rect",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9e9,0,0).attr(i).add(t),super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[t?"animate":"attr"]({x:i.x,y:i.y,width:this.options.width,height:this.options.height}):this.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw(t)}}return o.attrsMap=e(i.attrsMap,{width:"width",height:"height"}),o}),s(i,"Extensions/Annotations/Controllables/ControllableCircle.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e}=s;class o extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="circle",this.translate=super.translateShape}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[t?"animate":"attr"]({x:i.x,y:i.y,r:this.options.r}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw.call(this,t)}render(t){let i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9e9,0).attr(i).add(t),super.render()}setRadius(t){this.options.r=t}}return o.attrsMap=e(i.attrsMap,{r:"r"}),o}),s(i,"Extensions/Annotations/Controllables/ControllableEllipse.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e,defined:o}=s;class n extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="ellipse"}init(t,i,s){o(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),o(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=180*Math.atan((n-e)/(o-s))/Math.PI;return a<s&&(r+=180),{cx:a,cy:(e+n)/2,rx:Math.sqrt((s-o)*(s-o)/4+(e-n)*(e-n)/4),ry:this.getRY(),angle:r}}getRY(){let t=this.getYAxis();return o(t)?Math.abs(t.toPixels(this.options.ry)-t.toPixels(0)):this.options.ry}getYAxis(){let t=this.options.yAxis;return this.chart.yAxis[t]}getAbsolutePosition(t){return this.anchor(t).absolutePosition}redraw(t){if(this.graphic){let i=this.getAbsolutePosition(this.points[0]),s=this.getAbsolutePosition(this.points[1]),e=this.getAttrs(i,s);i?this.graphic[t?"animate":"attr"]({cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,rotation:e.angle,rotationOriginX:e.cx,rotationOriginY:e.cy}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw(t)}setYRadius(t){let i=this.annotation.userOptions.shapes;this.options.ry=t,i&&i[0]&&(i[0].ry=t,i[0].ry=t)}}return n.attrsMap=e(i.attrsMap,{ry:"ry"}),n}),s(i,"Extensions/Annotations/Controllables/ControllableLabel.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Core/Templating.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,s,e){let{format:o}=i,{extend:n,isNumber:a,pick:r}=e;function l(t,i,s,e,o){let n=o&&o.anchorX,r=o&&o.anchorY,l,h,c=s/2;return a(n)&&a(r)&&(l=[["M",n,r]],(h=i-r)<0&&(h=-e-h),h<s&&(c=n<t+s/2?h:s-h),r>i+e?l.push(["L",t+c,i+e]):r<i?l.push(["L",t+c,i]):n<t?l.push(["L",t,i+e/2]):n>t+s&&l.push(["L",t+s,i+e/2])),l||[]}class h extends t{static alignedPosition(t,i){let s=t.align,e=t.verticalAlign,o=(i.x||0)+(t.x||0),n=(i.y||0)+(t.y||0),a,r;return"right"===s?a=1:"center"===s&&(a=2),a&&(o+=(i.width-(t.width||0))/a),"bottom"===e?r=1:"middle"===e&&(r=2),r&&(n+=(i.height-(t.height||0))/r),{x:Math.round(o),y:Math.round(n)}}static compose(t){t.prototype.symbols.connector=l}static justifiedOptions(t,i,s,e){let o;let n=s.align,a=s.verticalAlign,r=i.box?0:i.padding||0,l=i.getBBox(),h={align:n,verticalAlign:a,x:s.x,y:s.y,width:i.width,height:i.height},c=(e.x||0)-t.plotLeft,p=(e.y||0)-t.plotTop;return(o=c+r)<0&&("right"===n?h.align="left":h.x=(h.x||0)-o),(o=c+l.width-r)>t.plotWidth&&("left"===n?h.align="right":h.x=(h.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?h.verticalAlign="top":h.y=(h.y||0)-o),(o=p+l.height-r)>t.plotHeight&&("top"===a?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-o),h}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(h.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,n=this.points[0];if(!e){this.redraw(t);return}e.attr({text:s?o(String(s),n.getLabelConfig(),this.annotation.chart):i.formatter.call(n,this)});let a=this.anchor(n),r=this.position(a);r?(e.alignAttr=r,r.anchorX=a.absolutePosition.x,r.anchorY=a.absolutePosition.y,e[t?"animate":"attr"](r)):e.attr({x:0,y:-9999}),e.placed=!!r,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,e=this.annotation.chart,o=e.tooltip,a=this.points[0],l=this.options,c=t.absolutePosition,p=t.relativePosition,d,u,g,m,x=a.series.visible&&s.prototype.isInsidePlot.call(a);if(i&&x){let{width:t=0,height:s=0}=i;l.distance&&o?d=o.getPosition.call({chart:e,distance:r(l.distance,16),getPlayingField:o.getPlayingField,pointer:o.pointer},t,s,{plotX:p.x,plotY:p.y,negative:a.negative,ttBelow:a.ttBelow,h:p.height||p.width}):l.positioner?d=l.positioner.call(this):(u={x:c.x,y:c.y,width:0,height:0},d=h.alignedPosition(n(l,{width:t,height:s}),u),"justify"===this.options.overflow&&(d=h.alignedPosition(h.justifiedOptions(e,i,l,d),u))),l.crop&&(g=d.x-e.plotLeft,m=d.y-e.plotTop,x=e.isInsidePlot(g,m)&&e.isInsidePlot(g+t,m+s))}return x?d:null}}return h.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},h.shapesWithoutBackground=["connector"],h}),s(i,"Extensions/Annotations/Controllables/ControllableImage.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(t,i){class s extends t{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 s=this.anchor(this.points[0]),e=i.prototype.position.call(this,s);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)}}return s.attrsMap={width:"width",height:"height",zIndex:"zIndex"},s}),s(i,"Shared/BaseForm.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Utilities.js"]],function(t,i){let{addEvent:s,createElement:e}=i;return 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 e("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,o=this.iconsURL,n=e("button",{className:t},void 0,this.container);return n.style["background-image"]="url("+(o.match(/png|svg|jpeg|jpg|gif/ig)?o:o+"close.svg")+")",["click","touchstart"].forEach(t=>{s(n,t,i.closeButtonEvents.bind(i))}),s(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),n}closeButtonEvents(){this.closePopup()}showPopup(i="highcharts-annotation-toolbar"){let s=this.container,e=this.closeButton;this.type=void 0,s.innerHTML=t.emptyHTML,s.className.indexOf(i)>=0&&(s.classList.remove(i),s.removeAttribute("style")),s.appendChild(e),s.style.display="block",s.style.height=""}closePopup(){this.container.style.display="none"}}}),s(i,"Extensions/Annotations/Popup/PopupAnnotations.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s,isFirefox:e}=t,{createElement:o,isArray:n,isObject:a,objectEach:r,pick:l,stableSort:h}=i;function c(t,i,l,p,d,u){let g,m;if(!i)return;let x=this.addInput,f=this.lang;r(p,(s,e)=>{g=""!==l?l+"."+e:e,a(s)&&(!n(s)||n(s)&&a(s[0])?((m=f[e]||e).match(/\d/g)||d.push([!0,m,t]),c.call(this,t,i,g,s,d,!1)):d.push([this,g,"annotation",t,s]))}),u&&(h(d,t=>t[1].match(/format/g)?-1:1),e&&d.reverse(),d.forEach(t=>{!0===t[0]?o("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(s.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},x.apply(t[0],t.splice(1)))}))}return{addForm:function(t,i,e,n){if(!t)return;let a=this.container,r=this.lang,l=o("h2",{className:"highcharts-popup-main-title"},void 0,a);l.appendChild(s.createTextNode(r[i.langKey]||i.langKey||"")),l=o("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,a);let h=o("div",{className:"highcharts-popup-bottom-row"},void 0,a);c.call(this,l,t,"",i,[],!0),this.addButton(h,n?r.addButton||"Add":r.saveButton||"Save",n?"add":"save",a,e)},addToolbar:function(t,i,e){let n=this.lang,a=this.container,r=this.showForm,h="highcharts-annotation-toolbar";-1===a.className.indexOf(h)&&(a.className+=" "+h+" highcharts-no-mousewheel"),t&&(a.style.top=t.plotTop+10+"px");let c=o("p",{className:"highcharts-annotation-label"},void 0,a);c.setAttribute("aria-label","Annotation type"),c.appendChild(s.createTextNode(l(n[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let p=this.addButton(a,n.editButton||"Edit","edit",a,()=>{r.call(this,"annotation-edit",t,i,e)});p.className+=" highcharts-annotation-edit-button",p.style["background-image"]="url("+this.iconsURL+"edit.svg)",p=this.addButton(a,n.removeButton||"Remove","remove",a,e),p.className+=" highcharts-annotation-remove-button",p.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),s(i,"Extensions/Annotations/Popup/PopupIndicators.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,s,e){var o,n;let{doc:a}=i,{seriesTypes:r}=s,{addEvent:l,createElement:h,defined:c,isArray:p,isObject:d,objectEach:u,stableSort:g}=e;(n=o||(o={}))[n["params.algorithm"]=0]="params.algorithm",n[n["params.average"]=1]="params.average";let m={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function x(t){let i=h("div",{className:"highcharts-popup-lhs-col"},void 0,t),s=h("div",{className:"highcharts-popup-rhs-col"},void 0,t);return h("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,s),{lhsCol:i,rhsCol:s}}function f(i,s,e,o){let n=s.params||s.options.params;o.innerHTML=t.emptyHTML,h("h3",{className:"highcharts-indicator-title"},void 0,o).appendChild(a.createTextNode(k(s,e).indicatorFullName)),h("input",{type:"hidden",name:"highcharts-type-"+e,value:e},void 0,o),w.call(this,e,"series",i,o,s,s.linkedParent&&s.linkedParent.options.id),n.volumeSeriesID&&w.call(this,e,"volume",i,o,s,s.linkedParent&&n.volumeSeriesID),v.call(this,i,"params",n,e,o)}function b(i,s,e,o){function n(t,s){let e=y.parentNode.children[1];f.call(a,i,t,s,y),e&&(e.style.display="block"),u&&t.options&&h("input",{type:"hidden",name:"highcharts-id-"+s,value:t.options.id},void 0,y).setAttribute("highcharts-data-series-id",t.options.id)}let a=this,r=a.lang,c=s.querySelectorAll(".highcharts-popup-lhs-col")[0],d=s.querySelectorAll(".highcharts-popup-rhs-col")[0],u="edit"===e,m=u?i.series:i.options.plotOptions||{};if(!i&&m)return;let x,b=[];u||p(m)?p(m)&&(b=P.call(this,m)):b=E.call(this,m,o),g(b,(t,i)=>{let s=t.indicatorFullName.toLowerCase(),e=i.indicatorFullName.toLowerCase();return s<e?-1:s>e?1:0}),c.children[1]&&c.children[1].remove();let v=h("ul",{className:"highcharts-indicator-list"},void 0,c),y=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(b.forEach(t=>{let{indicatorFullName:i,indicatorType:s,series:e}=t;x=h("li",{className:"highcharts-indicator-list"},void 0,v);let o=h("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,x);["click","touchstart"].forEach(t=>{l(o,t,function(){n(e,s)})})}),b.length>0){let{series:t,indicatorType:i}=b[0];n(t,i)}else u||(t.setElementHTML(y.parentNode.children[0],r.noFilterMatch||""),y.parentNode.children[1].style.display="none")}function v(t,i,s,e,n){if(!t)return;let a=this.addInput;u(s,(s,r)=>{let l=i+"."+r;if(c(s)&&l){if(d(s)&&(a.call(this,l,e,n,{}),v.call(this,t,l,s,e,n)),l in o){let o=A.call(this,e,l,n);C.call(this,t,i,o,e,r,s)}else"params.volumeSeriesID"===l||p(s)||a.call(this,l,e,n,{value:s,type:"number"})}})}function y(t,i){let s=this,e=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=h("div",{className:"highcharts-input-wrapper"},void 0,e),a=function(i){b.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"}),c=h("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),c.classList.add("clear-filter-button"),l(r,"input",function(){a(this.value),this.value.length?c.style.display="inline-block":c.style.display="none"}),["click","touchstart"].forEach(t=>{l(c,t,function(){r.value="",a(""),c.style.display="none"})})}function A(t,i,s){let e=i.split("."),o=e[e.length-1],n="highcharts-"+i+"-type-"+t,r=this.lang;h("label",{htmlFor:n},null,s).appendChild(a.createTextNode(r[o]||i));let l=h("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return l.setAttribute("id","highcharts-select-"+i),l}function C(t,i,s,e,o,n,r){"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!==(r&&r.options&&r.options.id)&&(c(n)||"volume"!==i||"column"!==t.type||(n=e.id),h("option",{value:e.id},void 0,s).appendChild(a.createTextNode(o)))}):e&&o&&m[o+"-"+e].forEach(t=>{h("option",{value:t},void 0,s).appendChild(a.createTextNode(t))}),c(n)&&(s.value=n)}function E(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 u(t,(t,e)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=k(t,e);if(i){let e=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),l=o&&o[r]&&o[r].join(" ")||"";(a.match(e)||l.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 P(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function k(t,i){let s=t.options,e=r[i]&&r[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function w(t,i,s,e,o,n){if(!s)return;let a=A.call(this,t,i,e);C.call(this,s,i,a,void 0,void 0,void 0,o),c(n)&&(a.value=n)}return{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");x(n[0]),y.call(this,t,n[0]),b.call(this,t,n[0],"add"),e=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),x(n[1]),b.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}}}),s(i,"Extensions/Annotations/Popup/PopupTabs.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s}=t,{addEvent:e,createElement:o}=i;function n(){return o("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function a(t,i){let e=this.container,n=this.lang,a="highcharts-tab-item";0===i&&(a+=" highcharts-tab-disabled");let r=o("button",{className:a},void 0,e);return r.appendChild(s.createTextNode(n[t+"Button"]||t)),r.setAttribute("highcharts-data-tab-type",t),r}function r(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t<i.length;t++)i[t].classList.remove("highcharts-tab-item-active"),s[t].classList.remove("highcharts-tab-item-show")}function l(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function h(t){let i=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((s,o)=>{(0!==t||"edit"!==s.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{e(s,t,function(){r.call(i),l.call(i,this,o)})})})}return{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),s=a.call(this,"add");a.call(this,"edit",i),n.call(this),n.call(this),h.call(this,i),l.call(this,s,0)}}}),s(i,"Extensions/Annotations/Popup/Popup.js",[i["Shared/BaseForm.js"],i["Core/Globals.js"],i["Core/Defaults.js"],i["Extensions/Annotations/Popup/PopupAnnotations.js"],i["Extensions/Annotations/Popup/PopupIndicators.js"],i["Extensions/Annotations/Popup/PopupTabs.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a){let{doc:r}=i,{getOptions:l}=s,{addEvent:h,createElement:c,extend:p,fireEvent:d,pick:u}=a;class g extends t{constructor(t,i,s){super(t,i),this.chart=s,this.lang=(l().lang.navigation||{}).popup||{},h(this.container,"mousedown",()=>{let t=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=h(r,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,l="highcharts-"+i+"-"+u(e.htmlFor,n);n.match(/^\d+$/)||c("label",{htmlFor:l,className:e.labelClassName},void 0,s).appendChild(r.createTextNode(a[n]||n));let h=c("input",{name:l,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;d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,s,e,o){let n=c("button",void 0,void 0,t);return n.appendChild(r.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{h(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")}}return p(g.prototype,{annotations:e,indicators:o,tabs:n}),g}),s(i,"Extensions/Annotations/Popup/PopupComposition.js",[i["Core/Globals.js"],i["Extensions/Annotations/Popup/Popup.js"],i["Core/Utilities.js"]],function(t,i,s){let{composed:e}=t,{addEvent:o,pushUnique:n,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function l(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.3/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function h(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){n(e,"Popup")&&(o(t,"closePopup",r),o(t,"showPopup",l),a(i.prototype,"onContainerMouseDown",h))}}}),s(i,"Extensions/Annotations/Annotation.js",[i["Core/Animation/AnimationUtilities.js"],i["Extensions/Annotations/AnnotationChart.js"],i["Extensions/Annotations/AnnotationDefaults.js"],i["Extensions/Annotations/Controllables/ControllableRect.js"],i["Extensions/Annotations/Controllables/ControllableCircle.js"],i["Extensions/Annotations/Controllables/ControllableEllipse.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Extensions/Annotations/Controllables/ControllableImage.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/ControlTarget.js"],i["Extensions/Annotations/EventEmitter.js"],i["Extensions/Annotations/MockPoint.js"],i["Extensions/Annotations/Popup/PopupComposition.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a,r,l,h,c,p,d,u,g){let{getDeferredAnimation:m}=t,{destroyObjectProperties:x,erase:f,fireEvent:b,merge:v,pick:y,splat:A}=g;function C(t,i){let s={};return["labels","shapes"].forEach(e=>{let o=t[e];o&&(i[e]?s[e]=A(i[e]).map(function(t,i){return v(o[i],t)}):s[e]=t[e])}),s}class E extends p{static compose(t,s,e,o){i.compose(E,t,e),l.compose(o),a.compose(t,o),s.compose(E,t),u.compose(s,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=v(this.defaultOptions,i),this.userOptions=i;let s=C(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);v(!0,t[s],e.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,s)=>{let e=this.initShape(i,s);v(!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,f(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),x(this,t)}destroyItem(t){f(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=C(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=m(e,o)}initLabel(t,i){let s=new l(this,v(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=v(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new E.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(y(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=v(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=y(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&&b(s,"closePopup")}i.visible=e}update(t,i){let s=this.chart,e=C(this.userOptions,t),o=s.annotations.indexOf(this),n=v(!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]=n,this.isUpdating=!0,y(i,!0)&&s.drawAnnotations(),b(this,"afterUpdate"),this.isUpdating=!1}}return E.ControlPoint=h,E.MockPoint=d,E.shapesMap={rect:e,circle:o,ellipse:n,path:a,image:r},E.types={},E.prototype.defaultOptions=s,E.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],c.compose(E),E}),s(i,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;return 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}(t||(t={})),t}),s(i,"Extensions/Annotations/NavigationBindingsUtilities.js",[i["Core/Utilities.js"]],function(t){let{defined:i,isNumber:s,pick:e}=t,o={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:o,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),o=i.min,n=i.max,a=e(t.axis.minPointOffset,0);return s(o)&&s(n)&&t.value>=o-a&&t.value<=n+a&&!t.axis.options.isInternal})[0]},getFieldType:function(t,s){let e=o[t],n=typeof s;return i(e)&&(n=e),({string:"text",number:"number",boolean:"checkbox"})[n]}}}),s(i,"Extensions/Annotations/NavigationBindingsDefaults.js",[i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i){let{getAssignedAxis:s}=t,{isNumber:e,merge:o}=i;return{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&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:n.value,xAxis:e.axis.index,yAxis:n.axis.index},r:5}]},a.annotationsOptions,a.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;let o=i.options.shapes,n=o&&o[0]&&o[0].point||{};if(e(n.xAxis)&&e(n.yAxis)){let i=this.chart.inverted,e=this.chart.xAxis[n.xAxis].toPixels(n.x),o=this.chart.yAxis[n.yAxis].toPixels(n.y);s=Math.max(Math.sqrt(Math.pow(i?o-t.chartX:e-t.chartX,2)+Math.pow(i?e-t.chartY:o-t.chartY,2)),5)}i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:n.axis.index,points:[{x:e.value,y:n.value},{x:e.value,y:n.value}],ry:1}]},a.annotationsOptions,a.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),e=i&&s(i.xAxis),n=i&&s(i.yAxis);if(!e||!n)return;let a=e.value,r=n.value,l=e.axis.index,h=n.axis.index,c=this.chart.options.navigation;return this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{command:"Z"}]}]},c.annotationsOptions,c.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,o=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),a=n&&s(n.xAxis),r=n&&s(n.yAxis);if(a&&r){let t=a.value,s=r.value;o[1].x=t,o[2].x=t,o[2].y=s,o[3].y=s,i.update({shapes:[{points:o}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:n.axis.index,x:e.value,y:n.value}}]},a.annotationsOptions,a.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),s(i,"Extensions/Annotations/NavigationBindings.js",[i["Core/Chart/ChartNavigationComposition.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsDefaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a){let{setOptions:r}=i,{format:l}=s,{composed:h,doc:c,win:p}=e,{getAssignedAxis:d,getFieldType:u}=n,{addEvent:g,attr:m,defined:x,fireEvent:f,isArray:b,isFunction:v,isNumber:y,isObject:A,merge:C,objectEach:E,pick:P,pushUnique:k}=a;function w(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function j(){this.navigationBindings&&this.navigationBindings.destroy()}function B(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new D(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function O(){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];E(t.boundClassNames,(t,o)=>{let n=e.querySelectorAll("."+o);if(n)for(let e=0;e<n.length;e++){let o=n[e],a=o.className;"normal"===t.noDataState?-1!==a.indexOf(i)&&o.classList.remove(i):s?-1!==a.indexOf(i)&&o.classList.remove(i):-1===a.indexOf(i)&&(o.className+=" "+i)}})}}}function M(){this.deselectAnnotation()}function N(){this.selectedButtonElement=null}function T(t){let i,s;let e=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;function o(t){let i=this,s=i.chart.navigationBindings,o=s.activeAnnotation;e&&e.call(i,t),o!==i?(s.deselectAnnotation(),s.activeAnnotation=i,i.setControlPointsVisibility(!0),f(s,"showPopup",{annotation:i,formType:"annotation-toolbar",options:s.annotationToFields(i),onSubmit:function(t){if("remove"===t.actionType)s.activeAnnotation=!1,s.chart.removeAnnotation(i);else{let e={};s.fieldsToOptions(t.fields,e),s.deselectAnnotation();let o=e.typeOptions;"measure"===i.options.type&&(o.crosshairY.enabled=0!==o.crosshairY.strokeWidth,o.crosshairX.enabled=0!==o.crosshairX.strokeWidth),i.update(e)}}})):f(s,"closePopup"),t.activeAnnotation=!0}C(!0,t.prototype.defaultOptions.events,{click:o,touchstart:function(t){i=t.touches[0].clientX,s=t.touches[0].clientY},touchend:function(t){i&&Math.sqrt(Math.pow(i-t.changedTouches[0].clientX,2)+Math.pow(s-t.changedTouches[0].clientY,2))>=4||o.call(this,t)}})}class D{static compose(t,i){k(h,"NavigationBindings")&&(g(t,"remove",w),T(t),E(t.types,t=>{T(t)}),g(i,"destroy",j),g(i,"load",B),g(i,"render",O),g(D,"closePopup",M),g(D,"deselectButton",N),r(o))}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=c.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&d(i.xAxis),i&&d(i.yAxis)]}initEvents(){let t=this,i=t.chart,s=t.container,o=t.options;t.boundClassNames={},E(o.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(s,i=>{t.eventsToUnbind.push(g(i,"click",s=>{let e=t.getButtonEvents(i,s);e&&!e.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(e.button,e.events,s)}))}),E(o.events||{},(i,s)=>{v(i)&&t.eventsToUnbind.push(g(t,s,i,{passive:!1}))}),t.eventsToUnbind.push(g(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(g(i.container,e.isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},e.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),f(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,f(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&&e.stockTools.toggleButtonActiveClass(t),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=p.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):f(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]:(f(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]):(f(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 E(t,(t,s)=>{let e=parseFloat(t),o=s.split("."),n=o.length-1;if(!y(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=P(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=D.annotationsEditable,e=s.nestedOptions,o=P(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=D.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,s,o,a,h){let c;o&&x(i)&&-1===n.indexOf(s)&&((o.indexOf&&o.indexOf(s))>=0||o[s]||!0===o)&&(b(i)?(a[s]=[],i.forEach((t,i)=>{A(t)?(a[s][i]={},E(t,(t,o)=>{r(t,o,e[s],a[s][i],s)})):r(t,0,e[s],a[s],s)})):A(i)?(c={},b(a)?(a.push(c),c[s]={},c=c[s]):a[s]=c,E(i,(t,i)=>{r(t,i,0===s?o:e[s],c,s)})):"format"===s?a[s]=[l(i,t.labels[0].points[0]).toString(),"text"]:b(a)?a.push([i,u(h,i)]):a[s]=[i,u(s,i)])}return E(i,(t,n)=>{"typeOptions"===n?(a[n]={},E(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=m(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=C(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return D.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"]},D.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},D}),s(i,"masters/modules/annotations.src.js",[i["Core/Globals.js"],i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t})});
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function s(i,s,e,o){i.hasOwnProperty(s)||(i[s]=o.apply(null,e),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:i[s]}})))}s(i,"Extensions/Annotations/AnnotationChart.js",[i["Core/Utilities.js"]],function(t){var i;let{addEvent:s,erase:e,find:o,fireEvent:n,pick:a,wrap:r}=t;function l(t,i){let s=this.initAnnotation(t);return this.options.annotations.push(s.options),a(i,!0)&&(s.redraw(),s.graphic.attr({opacity:1})),s}function h(){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(),s(t,"redraw",t.drawAnnotations),s(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),s(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,l=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<t;++i)a[i]="";a.push(s),a.xValues=[],a.xValues[o]=e,i.dataRows.push(a),n=!0}if(n||i.dataRows.forEach(t=>{!n&&t.xValues&&void 0!==o&&e===t.xValues[o]&&(l&&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<t;++i)n[i]="";n[0]=e,n.push(s),n.xValues=[],void 0!==o&&(n.xValues[o]=e),i.dataRows.push(n)}})}})});let h=0;i.dataRows.forEach(t=>{h=Math.max(h,t.length)});let c=h-i.dataRows[0].length;for(let t=0;t<c;t++){let s=function(t){let i;return e&&!1!==(i=e(t))?i:(i=n+" "+t,o)?{columnTitle:i,topLevelColumnTitle:i}:i}(t+1);o?(i.dataRows[0].push(s.topLevelColumnTitle),i.dataRows[1].push(s.columnTitle)):i.dataRows[0].push(s)}})}function c(){this.plotBoxClip.attr(this.plotBox),this.annotations.forEach(t=>{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function p(t){let i=this.annotations,s="annotations"===t.coll?t:o(i,function(i){return i.options.id===t});s&&(n(s,"remove"),e(this.options.annotations,s.options),e(i,s),s.destroy())}function d(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function u(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}return(i||(i={})).compose=function(t,i,e){let o=i.prototype;if(!o.addAnnotation){let n=e.prototype;s(i,"afterInit",d),o.addAnnotation=l,o.callbacks.push(h),o.collectionsWithInit.annotations=[l],o.collectionsWithUpdate.push("annotations"),o.drawAnnotations=c,o.removeAnnotation=p,o.initAnnotation=function(i){let s=new(t.types[i.type]||t)(this,i);return this.annotations.push(s),s},r(n,"onContainerMouseDown",u)}},i}),s(i,"Extensions/Annotations/AnnotationDefaults.js",[i["Core/Utilities.js"]],function(t){let{defined:i}=t;return{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 i(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}}),s(i,"Extensions/Annotations/EventEmitter.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s,isTouchDevice:e}=t,{addEvent:o,fireEvent:n,objectEach:a,pick:r,removeEvent:l}=i;return class{addEvents(){let t=this,i=function(i){o(i,e?"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)}),a(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)?(o(t.graphic.element,s,e,{passive:!1}),t.graphic.div&&o(t.graphic.div,s,e,{passive:!1})):o(t,s,e,{passive:!1})}),t.options.draggable&&(o(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(),l(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),l=(a||1)/(o||1);if(this.chart.inverted){let t=l;l=r,r=t}return{x:r,y:l}}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,a=i.chart.pointer,l=t?.sourceCapabilities?.firesTouchEvents||!1,h=(t=a?.normalize(t)||t).chartX,c=t.chartY;i.cancelClick=!1,i.chart.hasDraggedAnnotation=!0,i.removeDrag=o(s,e||l?"touchmove":"mousemove",function(t){i.hasDragged=!0,(t=a?.normalize(t)||t).prevChartX=h,t.prevChartY=c,n(i,"drag",t),h=t.chartX,c=t.chartY},e||l?{passive:!1}:void 0),i.removeMouseUp=o(s,e||l?"touchend":"mouseup",function(){let t=r(i.target&&i.target.annotation,i.target);t&&(t.cancelClick=i.hasDragged),i.cancelClick=i.hasDragged,i.chart.hasDraggedAnnotation=!1,i.hasDragged&&n(r(t,i),"afterUpdate"),i.hasDragged=!1,i.onMouseUp()},e||l?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}}}),s(i,"Extensions/Annotations/ControlPoint.js",[i["Extensions/Annotations/EventEmitter.js"],i["Core/Utilities.js"]],function(t,i){let{merge:s,pick:e}=i;return class extends t{constructor(t,i,s,o){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=i,this.options=s,this.index=e(s.index,o)}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,o=this.index,n=s(!0,this.options,t);this.destroy(),this.constructor(i,e,n,o),this.render(i.controlPointsGroup),this.redraw()}}}),s(i,"Extensions/Annotations/MockPoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{series:{prototype:s}}=t,{defined:e,fireEvent:o}=i;class n{static fromPoint(t){return new n(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,e){this.mock=!0,this.series={visible:!0,chart:t,getPlotBox:s.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()}getLabelConfig(){return{x:this.x,y:this.y,point:this}}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,n=this.series.yAxis,a={x:t,y:i,isInsidePlot:!0,options:{}};return s&&(a.isInsidePlot=e(t)&&t>=0&&t<=s.len),n&&(a.isInsidePlot=a.isInsidePlot&&e(i)&&i>=0&&i<=n.len),o(this.series.chart,"afterIsInsidePlot",a),a.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",o=t[s],n=this.series.chart;this.series[s]="object"==typeof o?o:e(o)?n[s][o]||n.get(o):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())}}return n}),s(i,"Extensions/Annotations/ControlTarget.js",[i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,s){var e;return function(e){function o(){let i=this.controlPoints,e=this.options.controlPoints||[];e.forEach((o,n)=>{let a=s.merge(this.options.controlPointOptions,o);a.index||(a.index=n),e[n]=a,i.push(new t(this.chart,this,a))})}function n(t){let i=t.series.getPlotBox(),e=t.series.chart,o=t.mock?t.toAnchor():e.tooltip&&e.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],n={x:o[0]+(this.options.x||0),y:o[1]+(this.options.y||0),height:o[2]||0,width:o[3]||0};return{relativePosition:n,absolutePosition:s.merge(n,{x:n.x+(t.mock?i.translateX:e.plotLeft),y:n.y+(t.mock?i.translateY:e.plotTop)})}}function a(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function r(){let t=this.options;return t.points||t.point&&s.splat(t.point)}function l(){let t,i;let s=this.getPointsOptions(),e=this.points,o=s&&s.length||0;for(t=0;t<o;t++){if(!(i=this.point(s[t],e[t]))){e.length=0;return}i.mock&&i.refresh(),e[t]=i}return e}function h(t,e){if(t&&t.series)return t;if(!e||null===e.series){if(s.isObject(t))e=new i(this.chart,this,t);else if(s.isString(t))e=this.chart.get(t)||null;else if("function"==typeof t){let s=t.call(e,this);e=s.series?s:new i(this.chart,this,t)}}return e}function c(t){this.controlPoints.forEach(i=>i.redraw(t))}function p(){this.controlPoints.forEach(t=>t.render())}function d(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 u(t,s,e,o,n,a){let r=this.points[a];r.mock||(r=this.points[a]=i.fromPoint(r)),r[t](s,e,o,n)}function g(t,i){this.transform("translate",null,null,t,i)}function m(t,i,s){this.transformPoint("translate",null,null,t,i,s)}e.compose=function(t){let i=t.prototype;i.addControlPoints||s.merge(!0,i,{addControlPoints:o,anchor:n,destroyControlTarget:a,getPointsOptions:r,linkPoints:l,point:h,redrawControlPoints:c,renderControlPoints:p,transform:d,transformPoint:u,translate:g,translatePoint:m})}}(e||(e={})),e}),s(i,"Extensions/Annotations/Controllables/Controllable.js",[i["Extensions/Annotations/ControlTarget.js"],i["Core/Utilities.js"]],function(t,i){let{merge:s}=i;class e{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,e=s(!0,this.options,t),o=this.graphic.parentGroup,n=this.constructor;this.destroy(),s(!0,this,new n(i,e,this.index,this.itemType)),this.render(o),this.redraw()}}return t.compose(e),e}),s(i,"Extensions/Annotations/Controllables/ControllableDefaults.js",[],function(){return{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}}]}}}}),s(i,"Extensions/Annotations/Controllables/ControllablePath.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllableDefaults.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,s,e){let{defaultMarkers:o}=i,{addEvent:n,defined:a,extend:r,merge:l,uniqueKey:h}=e,c=u("marker-end"),p=u("marker-start"),d="rgba(192,192,192,"+(s.svg?1e-4:.002)+")";function u(t){return function(i){this.attr(t,"url(#"+i+")")}}function g(){this.options.defs=l(o,this.options.defs||{})}function m(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 l(e,t)});let o=l(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},i,s),n=this.definition(o);return n.id=t,n}class f extends t{static compose(t,i){let s=i.prototype;s.addMarker||(n(t,"afterGetContainer",g),s.addMarker=m)}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,l;if(a)for(e.push(["M",a.x,a.y]);++r<s&&o;)l=(n=i[r]).command||"L",a=this.anchor(n).absolutePosition,"M"===l?e.push([l,a.x,a.y]):"L"===l?e.push([l,a.x,a.y]):"Z"===l&&e.push([l]),o=n.series.visible;return o&&this.graphic?this.chart.renderer.crispLine(e,this.graphic.strokeWidth()):null}shouldBeDrawn(){return super.shouldBeDrawn()||!!this.options.d}render(t){let i=this.options,s=this.attrsFromOptions(i);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(s).add(t),this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(t),this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:d,fill:d,"stroke-width":this.graphic.strokeWidth()+2*i.snap}),super.render(),r(this.graphic,{markerStartSetter:p,markerEndSetter:c}),this.setMarkers(this)}redraw(t){if(this.graphic){let i=this.toD(),s=t?"animate":"attr";i?(this.graphic[s]({d:i}),this.tracker[s]({d:i})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"})),this.graphic.placed=this.tracker.placed=!!i}super.redraw(t)}setMarkers(t){let i=t.options,s=t.chart,e=s.options.defs,o=i.fill,n=a(o)&&"none"!==o?o:i.stroke;["markerStart","markerEnd"].forEach(function(o){let a,r,c,p;let d=i[o];if(d){for(c in e)if((d===((a=e[c]).attributes&&a.attributes.id)||d===a.id)&&"marker"===a.tagName){r=a;break}r&&(p=t[o]=s.renderer.addMarker((i.id||h())+"-"+d,l(r,{color:n})),t.attr(o,p.getAttribute("id")))}})}}return f.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"},f}),s(i,"Extensions/Annotations/Controllables/ControllableRect.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e}=s;class o extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="rect",this.translate=super.translateShape}render(t){let i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9e9,0,0).attr(i).add(t),super.render()}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[t?"animate":"attr"]({x:i.x,y:i.y,width:this.options.width,height:this.options.height}):this.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw(t)}}return o.attrsMap=e(i.attrsMap,{width:"width",height:"height"}),o}),s(i,"Extensions/Annotations/Controllables/ControllableCircle.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e}=s;class o extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="circle",this.translate=super.translateShape}redraw(t){if(this.graphic){let i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[t?"animate":"attr"]({x:i.x,y:i.y,r:this.options.r}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw.call(this,t)}render(t){let i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9e9,0).attr(i).add(t),super.render()}setRadius(t){this.options.r=t}}return o.attrsMap=e(i.attrsMap,{r:"r"}),o}),s(i,"Extensions/Annotations/Controllables/ControllableEllipse.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Core/Utilities.js"]],function(t,i,s){let{merge:e,defined:o}=s;class n extends t{constructor(t,i,s){super(t,i,s,"shape"),this.type="ellipse"}init(t,i,s){o(i.yAxis)&&i.points.forEach(t=>{t.yAxis=i.yAxis}),o(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),l=180*Math.atan((n-e)/(o-s))/Math.PI;return a<s&&(l+=180),{cx:a,cy:(e+n)/2,rx:r,ry:this.getRY(),angle:l}}getRY(){let t=this.getYAxis();return o(t)?Math.abs(t.toPixels(this.options.ry)-t.toPixels(0)):this.options.ry}getYAxis(){let t=this.options.yAxis;return this.chart.yAxis[t]}getAbsolutePosition(t){return this.anchor(t).absolutePosition}redraw(t){if(this.graphic){let i=this.getAbsolutePosition(this.points[0]),s=this.getAbsolutePosition(this.points[1]),e=this.getAttrs(i,s);i?this.graphic[t?"animate":"attr"]({cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,rotation:e.angle,rotationOriginX:e.cx,rotationOriginY:e.cy}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw(t)}setYRadius(t){let i=this.annotation.userOptions.shapes;this.options.ry=t,i&&i[0]&&(i[0].ry=t,i[0].ry=t)}}return n.attrsMap=e(i.attrsMap,{ry:"ry"}),n}),s(i,"Extensions/Annotations/Controllables/ControllableLabel.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Core/Templating.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,s,e){let{format:o}=i,{extend:n,isNumber:a,pick:r}=e;function l(t,i,s,e,o){let n=o&&o.anchorX,r=o&&o.anchorY,l,h,c=s/2;return a(n)&&a(r)&&(l=[["M",n,r]],(h=i-r)<0&&(h=-e-h),h<s&&(c=n<t+s/2?h:s-h),r>i+e?l.push(["L",t+c,i+e]):r<i?l.push(["L",t+c,i]):n<t?l.push(["L",t,i+e/2]):n>t+s&&l.push(["L",t+s,i+e/2])),l||[]}class h extends t{static alignedPosition(t,i){let s=t.align,e=t.verticalAlign,o=(i.x||0)+(t.x||0),n=(i.y||0)+(t.y||0),a,r;return"right"===s?a=1:"center"===s&&(a=2),a&&(o+=(i.width-(t.width||0))/a),"bottom"===e?r=1:"middle"===e&&(r=2),r&&(n+=(i.height-(t.height||0))/r),{x:Math.round(o),y:Math.round(n)}}static compose(t){t.prototype.symbols.connector=l}static justifiedOptions(t,i,s,e){let o;let n=s.align,a=s.verticalAlign,r=i.box?0:i.padding||0,l=i.getBBox(),h={align:n,verticalAlign:a,x:s.x,y:s.y,width:i.width,height:i.height},c=(e.x||0)-t.plotLeft,p=(e.y||0)-t.plotTop;return(o=c+r)<0&&("right"===n?h.align="left":h.x=(h.x||0)-o),(o=c+l.width-r)>t.plotWidth&&("left"===n?h.align="right":h.x=(h.x||0)+t.plotWidth-o),(o=p+r)<0&&("bottom"===a?h.verticalAlign="top":h.y=(h.y||0)-o),(o=p+l.height-r)>t.plotHeight&&("top"===a?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-o),h}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(h.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,n=this.points[0];if(!e){this.redraw(t);return}e.attr({text:s?o(String(s),n.getLabelConfig(),this.annotation.chart):i.formatter.call(n,this)});let a=this.anchor(n),r=this.position(a);r?(e.alignAttr=r,r.anchorX=a.absolutePosition.x,r.anchorY=a.absolutePosition.y,e[t?"animate":"attr"](r)):e.attr({x:0,y:-9999}),e.placed=!!r,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,e=this.annotation.chart,o=e.tooltip,a=this.points[0],l=this.options,c=t.absolutePosition,p=t.relativePosition,d,u,g,m,f=a.series.visible&&s.prototype.isInsidePlot.call(a);if(i&&f){let{width:t=0,height:s=0}=i;l.distance&&o?d=o.getPosition.call({chart:e,distance:r(l.distance,16),getPlayingField:o.getPlayingField,pointer:o.pointer},t,s,{plotX:p.x,plotY:p.y,negative:a.negative,ttBelow:a.ttBelow,h:p.height||p.width}):l.positioner?d=l.positioner.call(this):(u={x:c.x,y:c.y,width:0,height:0},d=h.alignedPosition(n(l,{width:t,height:s}),u),"justify"===this.options.overflow&&(d=h.alignedPosition(h.justifiedOptions(e,i,l,d),u))),l.crop&&(g=d.x-e.plotLeft,m=d.y-e.plotTop,f=e.isInsidePlot(g,m)&&e.isInsidePlot(g+t,m+s))}return f?d:null}}return h.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},h.shapesWithoutBackground=["connector"],h}),s(i,"Extensions/Annotations/Controllables/ControllableImage.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(t,i){class s extends t{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 s=this.anchor(this.points[0]),e=i.prototype.position.call(this,s);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)}}return s.attrsMap={width:"width",height:"height",zIndex:"zIndex"},s}),s(i,"Shared/BaseForm.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Utilities.js"]],function(t,i){let{addEvent:s,createElement:e}=i;return 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 e("div",{className:i},void 0,t)}addCloseButton(t="highcharts-popup-close"){let i=this,o=this.iconsURL,n=e("button",{className:t},void 0,this.container);return n.style["background-image"]="url("+(o.match(/png|svg|jpeg|jpg|gif/ig)?o:o+"close.svg")+")",["click","touchstart"].forEach(t=>{s(n,t,i.closeButtonEvents.bind(i))}),s(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),n}closeButtonEvents(){this.closePopup()}showPopup(i="highcharts-annotation-toolbar"){let s=this.container,e=this.closeButton;this.type=void 0,s.innerHTML=t.emptyHTML,s.className.indexOf(i)>=0&&(s.classList.remove(i),s.removeAttribute("style")),s.appendChild(e),s.style.display="block",s.style.height=""}closePopup(){this.container.style.display="none"}}}),s(i,"Extensions/Annotations/Popup/PopupAnnotations.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s,isFirefox:e}=t,{createElement:o,isArray:n,isObject:a,objectEach:r,pick:l,stableSort:h}=i;function c(t,i,l,p,d,u){let g,m;if(!i)return;let f=this.addInput,x=this.lang;r(p,(s,e)=>{g=""!==l?l+"."+e:e,a(s)&&(!n(s)||n(s)&&a(s[0])?((m=x[e]||e).match(/\d/g)||d.push([!0,m,t]),c.call(this,t,i,g,s,d,!1)):d.push([this,g,"annotation",t,s]))}),u&&(h(d,t=>t[1].match(/format/g)?-1:1),e&&d.reverse(),d.forEach(t=>{!0===t[0]?o("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(s.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},f.apply(t[0],t.splice(1)))}))}return{addForm:function(t,i,e,n){if(!t)return;let a=this.container,r=this.lang,l=o("h2",{className:"highcharts-popup-main-title"},void 0,a);l.appendChild(s.createTextNode(r[i.langKey]||i.langKey||"")),l=o("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,a);let h=o("div",{className:"highcharts-popup-bottom-row"},void 0,a);c.call(this,l,t,"",i,[],!0),this.addButton(h,n?r.addButton||"Add":r.saveButton||"Save",n?"add":"save",a,e)},addToolbar:function(t,i,e){let n=this.lang,a=this.container,r=this.showForm,h="highcharts-annotation-toolbar";-1===a.className.indexOf(h)&&(a.className+=" "+h+" highcharts-no-mousewheel"),t&&(a.style.top=t.plotTop+10+"px");let c=o("p",{className:"highcharts-annotation-label"},void 0,a);c.setAttribute("aria-label","Annotation type"),c.appendChild(s.createTextNode(l(n[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));let p=this.addButton(a,n.editButton||"Edit","edit",a,()=>{r.call(this,"annotation-edit",t,i,e)});p.className+=" highcharts-annotation-edit-button",p.style["background-image"]="url("+this.iconsURL+"edit.svg)",p=this.addButton(a,n.removeButton||"Remove","remove",a,e),p.className+=" highcharts-annotation-remove-button",p.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}}}),s(i,"Extensions/Annotations/Popup/PopupIndicators.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,s,e){var o,n;let{doc:a}=i,{seriesTypes:r}=s,{addEvent:l,createElement:h,defined:c,isArray:p,isObject:d,objectEach:u,stableSort:g}=e;(n=o||(o={}))[n["params.algorithm"]=0]="params.algorithm",n[n["params.average"]=1]="params.average";let m={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function f(t){let i=h("div",{className:"highcharts-popup-lhs-col"},void 0,t),s=h("div",{className:"highcharts-popup-rhs-col"},void 0,t);return h("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,s),{lhsCol:i,rhsCol:s}}function x(i,s,e,o){let n=s.params||s.options.params;o.innerHTML=t.emptyHTML,h("h3",{className:"highcharts-indicator-title"},void 0,o).appendChild(a.createTextNode(k(s,e).indicatorFullName)),h("input",{type:"hidden",name:"highcharts-type-"+e,value:e},void 0,o),w.call(this,e,"series",i,o,s,s.linkedParent&&s.linkedParent.options.id),n.volumeSeriesID&&w.call(this,e,"volume",i,o,s,s.linkedParent&&n.volumeSeriesID),v.call(this,i,"params",n,e,o)}function b(i,s,e,o){function n(t,s){let e=y.parentNode.children[1];x.call(a,i,t,s,y),e&&(e.style.display="block"),u&&t.options&&h("input",{type:"hidden",name:"highcharts-id-"+s,value:t.options.id},void 0,y).setAttribute("highcharts-data-series-id",t.options.id)}let a=this,r=a.lang,c=s.querySelectorAll(".highcharts-popup-lhs-col")[0],d=s.querySelectorAll(".highcharts-popup-rhs-col")[0],u="edit"===e,m=u?i.series:i.options.plotOptions||{};if(!i&&m)return;let f,b=[];u||p(m)?p(m)&&(b=P.call(this,m)):b=E.call(this,m,o),g(b,(t,i)=>{let s=t.indicatorFullName.toLowerCase(),e=i.indicatorFullName.toLowerCase();return s<e?-1:s>e?1:0}),c.children[1]&&c.children[1].remove();let v=h("ul",{className:"highcharts-indicator-list"},void 0,c),y=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(b.forEach(t=>{let{indicatorFullName:i,indicatorType:s,series:e}=t;f=h("li",{className:"highcharts-indicator-list"},void 0,v);let o=h("button",{className:"highcharts-indicator-list-item",textContent:i},void 0,f);["click","touchstart"].forEach(t=>{l(o,t,function(){n(e,s)})})}),b.length>0){let{series:t,indicatorType:i}=b[0];n(t,i)}else u||(t.setElementHTML(y.parentNode.children[0],r.noFilterMatch||""),y.parentNode.children[1].style.display="none")}function v(t,i,s,e,n){if(!t)return;let a=this.addInput;u(s,(s,r)=>{let l=i+"."+r;if(c(s)&&l){if(d(s)&&(a.call(this,l,e,n,{}),v.call(this,t,l,s,e,n)),l in o){let o=A.call(this,e,l,n);C.call(this,t,i,o,e,r,s)}else"params.volumeSeriesID"===l||p(s)||a.call(this,l,e,n,{value:s,type:"number"})}})}function y(t,i){let s=this,e=i.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,n=h("div",{className:"highcharts-input-wrapper"},void 0,e),a=function(i){b.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"}),c=h("a",{textContent:o},void 0,n);r.classList.add("highcharts-input-search-indicators"),c.classList.add("clear-filter-button"),l(r,"input",function(){a(this.value),this.value.length?c.style.display="inline-block":c.style.display="none"}),["click","touchstart"].forEach(t=>{l(c,t,function(){r.value="",a(""),c.style.display="none"})})}function A(t,i,s){let e=i.split("."),o=e[e.length-1],n="highcharts-"+i+"-type-"+t,r=this.lang;h("label",{htmlFor:n},null,s).appendChild(a.createTextNode(r[o]||i));let l=h("select",{name:n,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,s);return l.setAttribute("id","highcharts-select-"+i),l}function C(t,i,s,e,o,n,r){"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!==(r&&r.options&&r.options.id)&&(c(n)||"volume"!==i||"column"!==t.type||(n=e.id),h("option",{value:e.id},void 0,s).appendChild(a.createTextNode(o)))}):e&&o&&m[o+"-"+e].forEach(t=>{h("option",{value:t},void 0,s).appendChild(a.createTextNode(t))}),c(n)&&(s.value=n)}function E(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 u(t,(t,e)=>{let a=t&&t.options;if(t.params||a&&a.params){let{indicatorFullName:a,indicatorType:r}=k(t,e);if(i){let e=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),l=o&&o[r]&&o[r].join(" ")||"";(a.match(e)||l.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 P(t){let i=[];return t.forEach(t=>{t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function k(t,i){let s=t.options,e=r[i]&&r[i].prototype.nameBase||i.toUpperCase(),o=i;return s&&s.type&&(o=t.options.type,e=t.name),{indicatorFullName:e,indicatorType:o}}function w(t,i,s,e,o,n){if(!s)return;let a=A.call(this,t,i,e);C.call(this,s,i,a,void 0,void 0,void 0,o),c(n)&&(a.value=n)}return{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");f(n[0]),y.call(this,t,n[0]),b.call(this,t,n[0],"add"),e=n[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(e,o.addButton||"add","add",e,s),f(n[1]),b.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}}}),s(i,"Extensions/Annotations/Popup/PopupTabs.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{doc:s}=t,{addEvent:e,createElement:o}=i;function n(){return o("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function a(t,i){let e=this.container,n=this.lang,a="highcharts-tab-item";0===i&&(a+=" highcharts-tab-disabled");let r=o("button",{className:a},void 0,e);return r.appendChild(s.createTextNode(n[t+"Button"]||t)),r.setAttribute("highcharts-data-tab-type",t),r}function r(){let t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),s=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t<i.length;t++)i[t].classList.remove("highcharts-tab-item-active"),s[t].classList.remove("highcharts-tab-item-show")}function l(t,i){let s=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",s[i].className+=" highcharts-tab-item-show"}function h(t){let i=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((s,o)=>{(0!==t||"edit"!==s.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{e(s,t,function(){r.call(i),l.call(i,this,o)})})})}return{init:function(t){if(!t)return;let i=this.indicators.getAmount.call(t),s=a.call(this,"add");a.call(this,"edit",i),n.call(this),n.call(this),h.call(this,i),l.call(this,s,0)}}}),s(i,"Extensions/Annotations/Popup/Popup.js",[i["Shared/BaseForm.js"],i["Core/Globals.js"],i["Core/Defaults.js"],i["Extensions/Annotations/Popup/PopupAnnotations.js"],i["Extensions/Annotations/Popup/PopupIndicators.js"],i["Extensions/Annotations/Popup/PopupTabs.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a){let{doc:r}=i,{getOptions:l}=s,{addEvent:h,createElement:c,extend:p,fireEvent:d,pick:u}=a;class g extends t{constructor(t,i,s){super(t,i),this.chart=s,this.lang=(l().lang.navigation||{}).popup||{},h(this.container,"mousedown",()=>{let t=s&&s.navigationBindings&&s.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let i=h(r,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),i()})}})}addInput(t,i,s,e){let o=t.split("."),n=o[o.length-1],a=this.lang,l="highcharts-"+i+"-"+u(e.htmlFor,n);n.match(/^\d+$/)||c("label",{htmlFor:l,className:e.labelClassName},void 0,s).appendChild(r.createTextNode(a[n]||n));let h=c("input",{name:l,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;d(t,"closePopup"),t&&t.selectedButtonElement&&d(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,i,s,e,o){let n=c("button",void 0,void 0,t);return n.appendChild(r.createTextNode(i)),o&&["click","touchstart"].forEach(t=>{h(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")}}return p(g.prototype,{annotations:e,indicators:o,tabs:n}),g}),s(i,"Extensions/Annotations/Popup/PopupComposition.js",[i["Core/Globals.js"],i["Extensions/Annotations/Popup/Popup.js"],i["Core/Utilities.js"]],function(t,i,s){let{composed:e}=t,{addEvent:o,pushUnique:n,wrap:a}=s;function r(){this.popup&&this.popup.closePopup()}function l(t){this.popup||(this.popup=new i(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.4.4/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function h(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,i){n(e,"Popup")&&(o(t,"closePopup",r),o(t,"showPopup",l),a(i.prototype,"onContainerMouseDown",h))}}}),s(i,"Extensions/Annotations/Annotation.js",[i["Core/Animation/AnimationUtilities.js"],i["Extensions/Annotations/AnnotationChart.js"],i["Extensions/Annotations/AnnotationDefaults.js"],i["Extensions/Annotations/Controllables/ControllableRect.js"],i["Extensions/Annotations/Controllables/ControllableCircle.js"],i["Extensions/Annotations/Controllables/ControllableEllipse.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Extensions/Annotations/Controllables/ControllableImage.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/ControlTarget.js"],i["Extensions/Annotations/EventEmitter.js"],i["Extensions/Annotations/MockPoint.js"],i["Extensions/Annotations/Popup/PopupComposition.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a,r,l,h,c,p,d,u,g){let{getDeferredAnimation:m}=t,{destroyObjectProperties:f,erase:x,fireEvent:b,merge:v,pick:y,splat:A}=g;function C(t,i){let s={};return["labels","shapes"].forEach(e=>{let o=t[e];o&&(i[e]?s[e]=A(i[e]).map(function(t,i){return v(o[i],t)}):s[e]=t[e])}),s}class E extends p{static compose(t,s,e,o){i.compose(E,t,e),l.compose(o),a.compose(t,o),s.compose(E,t),u.compose(s,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=v(this.defaultOptions,i),this.userOptions=i;let s=C(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);v(!0,t[s],e.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((i,s)=>{let e=this.initShape(i,s);v(!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,x(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),f(this,t)}destroyItem(t){x(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=C(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=m(e,o)}initLabel(t,i){let s=new l(this,v(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return s.itemType="label",this.labels.push(s),s}initShape(t,i){let s=v(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),e=new E.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(y(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=v(this.defaultOptions,t)}setVisibility(t){let i=this.options,s=this.chart.navigationBindings,e=y(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&&b(s,"closePopup")}i.visible=e}update(t,i){let s=this.chart,e=C(this.userOptions,t),o=s.annotations.indexOf(this),n=v(!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]=n,this.isUpdating=!0,y(i,!0)&&s.drawAnnotations(),b(this,"afterUpdate"),this.isUpdating=!1}}return E.ControlPoint=h,E.MockPoint=d,E.shapesMap={rect:e,circle:o,ellipse:n,path:a,image:r},E.types={},E.prototype.defaultOptions=s,E.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],c.compose(E),E}),s(i,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;return 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}(t||(t={})),t}),s(i,"Extensions/Annotations/NavigationBindingsUtilities.js",[i["Core/Utilities.js"]],function(t){let{defined:i,isNumber:s,pick:e}=t,o={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:o,getAssignedAxis:function(t){return t.filter(t=>{let i=t.axis.getExtremes(),o=i.min,n=i.max,a=e(t.axis.minPointOffset,0);return s(o)&&s(n)&&t.value>=o-a&&t.value<=n+a&&!t.axis.options.isInternal})[0]},getFieldType:function(t,s){let e=o[t],n=typeof s;return i(e)&&(n=e),({string:"text",number:"number",boolean:"checkbox"})[n]}}}),s(i,"Extensions/Annotations/NavigationBindingsDefaults.js",[i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i){let{getAssignedAxis:s}=t,{isNumber:e,merge:o}=i;return{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&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:e.value,y:n.value,xAxis:e.axis.index,yAxis:n.axis.index},r:5}]},a.annotationsOptions,a.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let s;let o=i.options.shapes,n=o&&o[0]&&o[0].point||{};if(e(n.xAxis)&&e(n.yAxis)){let i=this.chart.inverted,e=this.chart.xAxis[n.xAxis].toPixels(n.x),o=this.chart.yAxis[n.yAxis].toPixels(n.y);s=Math.max(Math.sqrt(Math.pow(i?o-t.chartX:e-t.chartX,2)+Math.pow(i?e-t.chartY:o-t.chartY,2)),5)}i.update({shapes:[{r:s}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:e.axis.index,yAxis:n.axis.index,points:[{x:e.value,y:n.value},{x:e.value,y:n.value}],ry:1}]},a.annotationsOptions,a.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),e=i&&s(i.xAxis),n=i&&s(i.yAxis);if(!e||!n)return;let a=e.value,r=n.value,l=e.axis.index,h=n.axis.index,c=this.chart.options.navigation;return this.chart.addAnnotation(o({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{xAxis:l,yAxis:h,x:a,y:r},{command:"Z"}]}]},c.annotationsOptions,c.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let e=i.options.shapes,o=e&&e[0]&&e[0].points||[],n=this.chart.pointer?.getCoordinates(t),a=n&&s(n.xAxis),r=n&&s(n.yAxis);if(a&&r){let t=a.value,s=r.value;o[1].x=t,o[2].x=t,o[2].y=s,o[3].y=s,i.update({shapes:[{points:o}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),e=i&&s(i.xAxis),n=i&&s(i.yAxis),a=this.chart.options.navigation;if(e&&n)return this.chart.addAnnotation(o({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:e.axis.index,yAxis:n.axis.index,x:e.value,y:n.value}}]},a.annotationsOptions,a.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),s(i,"Extensions/Annotations/NavigationBindings.js",[i["Core/Chart/ChartNavigationComposition.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsDefaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i,s,e,o,n,a){let{setOptions:r}=i,{format:l}=s,{composed:h,doc:c,win:p}=e,{getAssignedAxis:d,getFieldType:u}=n,{addEvent:g,attr:m,defined:f,fireEvent:x,isArray:b,isFunction:v,isNumber:y,isObject:A,merge:C,objectEach:E,pick:P,pushUnique:k}=a;function w(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function j(){this.navigationBindings&&this.navigationBindings.destroy()}function B(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new D(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function O(){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];E(t.boundClassNames,(t,o)=>{let n=e.querySelectorAll("."+o);if(n)for(let e=0;e<n.length;e++){let o=n[e],a=o.className;"normal"===t.noDataState?-1!==a.indexOf(i)&&o.classList.remove(i):s?-1!==a.indexOf(i)&&o.classList.remove(i):-1===a.indexOf(i)&&(o.className+=" "+i)}})}}}function M(){this.deselectAnnotation()}function N(){this.selectedButtonElement=null}function T(t){let i,s;let e=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;function o(t){let i=this,s=i.chart.navigationBindings,o=s.activeAnnotation;e&&e.call(i,t),o!==i?(s.deselectAnnotation(),s.activeAnnotation=i,i.setControlPointsVisibility(!0),x(s,"showPopup",{annotation:i,formType:"annotation-toolbar",options:s.annotationToFields(i),onSubmit:function(t){if("remove"===t.actionType)s.activeAnnotation=!1,s.chart.removeAnnotation(i);else{let e={};s.fieldsToOptions(t.fields,e),s.deselectAnnotation();let o=e.typeOptions;"measure"===i.options.type&&(o.crosshairY.enabled=0!==o.crosshairY.strokeWidth,o.crosshairX.enabled=0!==o.crosshairX.strokeWidth),i.update(e)}}})):x(s,"closePopup"),t.activeAnnotation=!0}C(!0,t.prototype.defaultOptions.events,{click:o,touchstart:function(t){i=t.touches[0].clientX,s=t.touches[0].clientY},touchend:function(t){i&&Math.sqrt(Math.pow(i-t.changedTouches[0].clientX,2)+Math.pow(s-t.changedTouches[0].clientY,2))>=4||o.call(this,t)}})}class D{static compose(t,i){k(h,"NavigationBindings")&&(g(t,"remove",w),T(t),E(t.types,t=>{T(t)}),g(i,"destroy",j),g(i,"load",B),g(i,"render",O),g(D,"closePopup",M),g(D,"deselectButton",N),r(o))}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=c.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&d(i.xAxis),i&&d(i.yAxis)]}initEvents(){let t=this,i=t.chart,s=t.container,o=t.options;t.boundClassNames={},E(o.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(s,i=>{t.eventsToUnbind.push(g(i,"click",s=>{let e=t.getButtonEvents(i,s);e&&!e.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(e.button,e.events,s)}))}),E(o.events||{},(i,s)=>{v(i)&&t.eventsToUnbind.push(g(t,s,i,{passive:!1}))}),t.eventsToUnbind.push(g(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(g(i.container,e.isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},e.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,s){let e=this.chart,o=e.renderer.boxWrapper,n=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(n=!1),x(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,x(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=p.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):x(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]:(x(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]):(x(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 E(t,(t,s)=>{let e=parseFloat(t),o=s.split("."),n=o.length-1;if(!y(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=P(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=D.annotationsEditable,e=s.nestedOptions,o=P(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),n=D.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:o};function r(i,s,o,a,h){let c;o&&f(i)&&-1===n.indexOf(s)&&((o.indexOf&&o.indexOf(s))>=0||o[s]||!0===o)&&(b(i)?(a[s]=[],i.forEach((t,i)=>{A(t)?(a[s][i]={},E(t,(t,o)=>{r(t,o,e[s],a[s][i],s)})):r(t,0,e[s],a[s],s)})):A(i)?(c={},b(a)?(a.push(c),c[s]={},c=c[s]):a[s]=c,E(i,(t,i)=>{r(t,i,0===s?o:e[s],c,s)})):"format"===s?a[s]=[l(i,t.labels[0].points[0]).toString(),"text"]:b(a)?a.push([i,u(h,i)]):a[s]=[i,u(s,i)])}return E(i,(t,n)=>{"typeOptions"===n?(a[n]={},E(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=m(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=C(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return D.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"]},D.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},D}),s(i,"masters/modules/annotations.src.js",[i["Core/Globals.js"],i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/NavigationBindings.js"]],function(t,i,s){return t.Annotation=t.Annotation||i,t.NavigationBindings=t.NavigationBindings||s,t.Annotation.compose(t.Chart,t.NavigationBindings,t.Pointer,t.SVGRenderer),t})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.4 (2024-07-02)
|
|
3
3
|
*
|
|
4
4
|
* Annotations module
|
|
5
5
|
*
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
obj[path] = fn.apply(null, args);
|
|
29
29
|
|
|
30
30
|
if (typeof CustomEvent === 'function') {
|
|
31
|
-
|
|
31
|
+
Highcharts.win.dispatchEvent(new CustomEvent(
|
|
32
32
|
'HighchartsModuleLoaded',
|
|
33
33
|
{ detail: { path: path, module: obj[path] } }
|
|
34
34
|
));
|
|
@@ -2405,7 +2405,7 @@
|
|
|
2405
2405
|
children: [{
|
|
2406
2406
|
tagName: 'path',
|
|
2407
2407
|
attributes: {
|
|
2408
|
-
d: 'M 0 0 L 10 5 L 0 10 Z',
|
|
2408
|
+
d: 'M 0 0 L 10 5 L 0 10 Z', // Triangle (used as an arrow)
|
|
2409
2409
|
'stroke-width': 0
|
|
2410
2410
|
}
|
|
2411
2411
|
}]
|
|
@@ -2626,7 +2626,7 @@
|
|
|
2626
2626
|
.add(parent);
|
|
2627
2627
|
if (!this.annotation.chart.styledMode) {
|
|
2628
2628
|
this.tracker.attr({
|
|
2629
|
-
'stroke-linejoin': 'round',
|
|
2629
|
+
'stroke-linejoin': 'round', // #1225
|
|
2630
2630
|
stroke: TRACKER_FILL,
|
|
2631
2631
|
fill: TRACKER_FILL,
|
|
2632
2632
|
'stroke-width': this.graphic.strokeWidth() +
|
|
@@ -4936,7 +4936,7 @@
|
|
|
4936
4936
|
this.popup = new Popup(this.chart.container, (this.chart.options.navigation.iconsURL ||
|
|
4937
4937
|
(this.chart.options.stockTools &&
|
|
4938
4938
|
this.chart.options.stockTools.gui.iconsURL) ||
|
|
4939
|
-
'https://code.highcharts.com/11.4.
|
|
4939
|
+
'https://code.highcharts.com/11.4.4/gfx/stock-icons/'), this.chart);
|
|
4940
4940
|
}
|
|
4941
4941
|
this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit);
|
|
4942
4942
|
}
|
|
@@ -6098,7 +6098,7 @@
|
|
|
6098
6098
|
* from a different server.
|
|
6099
6099
|
*
|
|
6100
6100
|
* @type {string}
|
|
6101
|
-
* @default https://code.highcharts.com/11.4.
|
|
6101
|
+
* @default https://code.highcharts.com/11.4.4/gfx/stock-icons/
|
|
6102
6102
|
* @since 7.1.3
|
|
6103
6103
|
* @apioption navigation.iconsURL
|
|
6104
6104
|
*/
|
|
@@ -6545,8 +6545,7 @@
|
|
|
6545
6545
|
}
|
|
6546
6546
|
}
|
|
6547
6547
|
else {
|
|
6548
|
-
chart.stockTools &&
|
|
6549
|
-
chart.stockTools.toggleButtonActiveClass(button);
|
|
6548
|
+
chart.stockTools && button.classList.remove('highcharts-active');
|
|
6550
6549
|
svgContainer.removeClass('highcharts-draw-mode');
|
|
6551
6550
|
navigation.nextEvent = false;
|
|
6552
6551
|
navigation.mouseMoveEvent = false;
|
|
@@ -7013,4 +7012,4 @@
|
|
|
7013
7012
|
|
|
7014
7013
|
return Highcharts;
|
|
7015
7014
|
});
|
|
7016
|
-
}));
|
|
7015
|
+
}));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.4 (2024-07-02)
|
|
3
3
|
*
|
|
4
4
|
* Arc diagram module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2021 Piotr Madej
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/arc-diagram",["highcharts","highcharts/modules/sankey"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Series/ArcDiagram/ArcDiagramPoint.js",[t["Series/NodesComposition.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{seriesTypes:{sankey:{prototype:{pointClass:s}}}}=t,{extend:o}=i;class a extends s{isValid(){return!0}}return o(a.prototype,{setState:e.setNodeState}),a}),i(t,"Series/ArcDiagram/ArcDiagramSeriesDefaults.js",[],function(){return{centeredLinks:!1,equalNodes:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{fillOpacity:1,lineWidth:0,states:{},symbol:"circle"},offset:"100%",reversed:!1}}),i(t,"Series/ArcDiagram/ArcDiagramSeries.js",[t["Series/ArcDiagram/ArcDiagramPoint.js"],t["Series/ArcDiagram/ArcDiagramSeriesDefaults.js"],t["Series/Sankey/SankeyColumnComposition.js"],t["Core/Series/Series.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Core/Utilities.js"]],function(e,t,i,s,o,a,n){let{prototype:{symbols:r}}=a,{seriesTypes:{column:l,sankey:h}}=o,{crisp:d,extend:p,merge:m,pick:u,relativeLength:c}=n;class g extends h{createNodeColumns(){let e=this,t=e.chart,s=i.compose([],e);return s.sankeyColumn.maxLength=t.inverted?t.plotHeight:t.plotWidth,s.sankeyColumn.getTranslationFactor=e=>{let i=s.slice(),o=this.options.minLinkWidth||0,a,n=0,r,l,h=0,d=1,p=0,m=(t.plotSizeX||0)-(e.options.marker&&e.options.marker.lineWidth||0)-(s.length-1)*e.nodePadding;for(;s.length;){for(n=m/s.sankeyColumn.sum(),a=!1,r=s.length;r--;){l=s[r].getSum()*n*d;let e=Math.min(t.plotHeight,t.plotWidth);l>e?d=Math.min(e/l,d):l<o&&(s.splice(r,1),m-=o,l=o,a=!0),p+=l*(1-d)/2,h=Math.max(h,l)}if(!a)break}return s.length=0,i.forEach(e=>{e.scale=d,s.push(e)}),s.sankeyColumn.maxRadius=h,s.sankeyColumn.scale=d,s.sankeyColumn.additionalSpace=p,n},s.sankeyColumn.offset=function(i,o){let a=i.series.options.equalNodes,n=e.nodePadding,r=Math.min(t.plotWidth,t.plotHeight,(s.sankeyColumn.maxLength||0)/e.nodes.length-n),l=s.sankeyColumn.additionalSpace||0,h;for(let t=0;t<s.length;t++){let d=s[t].getSum()*(s.sankeyColumn.scale||0),p=a?r:Math.max(d*o,e.options.minLinkWidth||0);if(h=d?p+n:0,s[t]===i)return{relativeLeft:l+c(i.options.offset||0,h)};l+=h}},e.nodes.forEach(function(e){e.column=0,s.push(e)}),[s]}translateLink(e){let t=e.fromNode,i=e.toNode,s=this.chart,o=this.translationFactor,a=e.options,n=this.options,r=u(a.linkWeight,n.linkWeight,Math.max((e.weight||0)*o*t.scale,this.options.minLinkWidth||0)),l=e.series.options.centeredLinks,h=t.nodeY,d=(t,i)=>{let s=(t.offset(e,i)||0)*o;return Math.min(t.nodeX+s,t.nodeX+(t.shapeArgs&&t.shapeArgs.height||0)-r)},p=l?t.nodeX+((t.shapeArgs.height||0)-r)/2:d(t,"linksFrom"),m=l?i.nodeX+((i.shapeArgs.height||0)-r)/2:d(i,"linksTo"),c=h;p>m&&([p,m]=[m,p]),n.reversed&&([p,m]=[m,p],c=(s.plotSizeY||0)-c),e.shapeType="path",e.linkBase=[p,p+r,m,m+r];let g=(m+r-p)/Math.abs(m+r-p)*u(n.linkRadius,Math.min(Math.abs(m+r-p)/2,t.nodeY-Math.abs(r)));e.shapeArgs={d:[["M",p,c],["A",(m+r-p)/2,g,0,0,1,m+r,c],["L",m,c],["A",(m-p-r)/2,g-r,0,0,0,p+r,c],["Z"]]},e.dlBox={x:p+(m-p)/2,y:c-g,height:r,width:0},e.tooltipPos=s.inverted?[(s.plotSizeY||0)-e.dlBox.y-r/2,(s.plotSizeX||0)-e.dlBox.x]:[e.dlBox.x,e.dlBox.y+r/2],e.y=e.plotY=1,e.x=e.plotX=1,e.color||(e.color=t.color)}translateNode(e,t){let i=this.translationFactor,s=this.chart,o=s.inverted?s.plotWidth:s.plotHeight,a=this.options,n=Math.min(s.plotWidth,s.plotHeight,o/e.series.nodes.length-this.nodePadding),l=e.getSum()*(t.sankeyColumn.scale||0),p=a.equalNodes?n:Math.max(l*i,this.options.minLinkWidth||0),c=a.marker?.lineWidth||0,g=t.sankeyColumn.offset(e,i),f=d(u(g&&g.absoluteLeft,(t.sankeyColumn.left(i)||0)+(g&&g.relativeLeft||0)),c),y=m(a.marker,e.options.marker),k=y.symbol,S=y.radius,C=parseInt(a.offset,10)*((s.inverted?s.plotWidth:s.plotHeight)-(d(this.colDistance*(e.column||0)+(y.lineWidth||0)/2,c)+(t.sankeyColumn.scale||0)*(t.sankeyColumn.maxRadius||0)/2))/100;if(e.sum=l,l){e.nodeX=f,e.nodeY=C;let t=e.options.width||a.width||p,i=e.options.height||a.height||p,o=C;a.reversed&&(o=(s.plotSizeY||0)-C,s.inverted&&(o=(s.plotSizeY||0)-C)),this.mapOptionsToLevel&&(e.dlOptions=h.getDLOptions({level:this.mapOptionsToLevel[e.level],optionsPoint:e.options})),e.plotX=1,e.plotY=1,e.tooltipPos=s.inverted?[(s.plotSizeY||0)-o-i/2,(s.plotSizeX||0)-f-t/2]:[f+t/2,o+i/2],e.shapeType="path",e.shapeArgs={d:r[k||"circle"](f,o-(S||i)/2,S||t,S||i),width:S||t,height:S||i},e.dlBox={x:f+t/2,y:o,height:0,width:0}}else e.dlOptions={enabled:!1}}drawDataLabels(){if(this.options.dataLabels){let e=this.options.dataLabels.textPath;l.prototype.drawDataLabels.call(this,this.nodes),this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath,l.prototype.drawDataLabels.call(this,this.data),this.options.dataLabels.textPath=e}}pointAttribs(e,t){if(e&&e.isNode){let{...e}=s.prototype.pointAttribs.apply(this,arguments);return e}return super.pointAttribs.apply(this,arguments)}markerAttribs(e){return e.isNode?super.markerAttribs.apply(this,arguments):{}}}return g.defaultOptions=m(h.defaultOptions,t),p(g.prototype,{orderNodes:!1}),g.prototype.pointClass=e,o.registerSeriesType("arcdiagram",g),g}),i(t,"masters/modules/arc-diagram.src.js",[t["Core/Globals.js"]],function(e){return e})});
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("modules/arc-diagram",["modules/sankey"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Series/ArcDiagram/ArcDiagramPoint.js",[e["Series/NodesComposition.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{sankey:{prototype:{pointClass:s}}}}=e,{extend:r}=i;class o extends s{isValid(){return!0}}return r(o.prototype,{setState:t.setNodeState}),o}),i(e,"Series/ArcDiagram/ArcDiagramSeriesDefaults.js",[],function(){return{centeredLinks:!1,equalNodes:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{fillOpacity:1,lineWidth:0,states:{},symbol:"circle"},offset:"100%",reversed:!1}}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,isFunction:s,objectEach:r,removeEvent:o}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},r(e.events,function(e,r){t.eventOptions[r]!==e&&(t.eventOptions[r]&&(o(t,r,t.eventOptions[r]),delete t.eventOptions[r]),s(e)&&(t.eventOptions[r]=e,i(t,r,e,{order:0})))})},e}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:r}=t;return function(t){function e(t,e,o){let a=this.legendItem=this.legendItem||{},{chart:n,options:h}=this,{baseline:l=0,symbolWidth:d,symbolHeight:p}=t,c=this.symbol||"circle",u=p/2,g=n.renderer,f=a.group,m=l-Math.round(p*(o?.4:.3)),y={},x,b=h.marker,S=0;if(n.styledMode||(y["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?y.dashstyle=h.dashStyle:"square"===h.linecap||(y["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(y).add(f),o&&(a.area=g.path().addClass("highcharts-area").add(f)),y["stroke-linecap"]&&(S=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",S,m],["L",d-S,m]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-S,l],["L",S,l]]})}if(b&&!1!==b.enabled&&d){let t=Math.min(r(b.radius,u),u);0===c.indexOf("url")&&(b=s(b,{width:p,height:p}),t=0),a.symbol=x=g.symbol(c,d/2-t,m-t,2*t,2*t,i({context:"legend"},b)).addClass("highcharts-point").add(f),x.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,a=s.squareSymbol,n=a?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-o)/2:0,t.baseline-o+1,n,o,r(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e}),i(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter: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"}}),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h,l){let{animObject:d,setAnimation:p}=t,{defaultOptions:c}=e,{registerEventOptions:u}=i,{svg:g,win:f}=s,{seriesTypes:m}=n,{arrayMax:y,arrayMin:x,clamp:b,correctFloat:S,crisp:v,defined:C,destroyObjectProperties:k,diffObjects:A,erase:D,error:w,extend:M,find:L,fireEvent:O,getClosestDistance:T,getNestedProperty:P,insertItem:E,isArray:B,isNumber:j,isString:R,merge:I,objectEach:W,pick:G,removeEvent:N,splat:X,syncTimeout:z}=l;class V{constructor(){this.zoneAxis="y"}init(t,e){let i;O(this,"init",{options:e});let s=this,r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let o=s.options,a=!1!==o.visible;s.linkedSeries=[],s.bindAxes(),M(s,{name:o.name,state:"",visible:a,selected:!0===o.selected}),u(this,o);let n=o.events;(n&&n.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=G(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",E(this,r)),o.dataSorting&&o.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(o.data,!1),O(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;O(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){(s[r]||[]).forEach(function(s){t=s.options,(G(i[r],0)===s.index||void 0!==i[r]&&i[r]===t.id)&&(E(e,s.series),e[r]=s,s.isDirty=!0)}),e[r]||e.optionalAxis===r||w(18,!0,s)})}),O(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,r=j(e)?function(i){let r="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=r}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(r)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>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=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,r=this.chart.time,o=this.xIncrement,a,n;return(o=G(o,e.pointStart,0),this.pointInterval=n=G(this.pointInterval,e.pointInterval,1),s&&j(t)&&(n*=t),i&&(a=new r.Date(o),"day"===i?r.set("Date",a,r.get("Date",a)+n):"month"===i?r.set("Month",a,r.get("Month",a)+n):"year"===i&&r.set("FullYear",a,r.get("FullYear",a)+n),n=a.getTime()-o),s&&j(t))?o+n:(this.xIncrement=o+n,o)}setDataSortingOptions(){let t=this.options;M(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,r=i.userOptions||{},o=I(t),a=i.styledMode,n={plotOptions:s,userOptions:o};O(this,"setOptions",n);let h=n.plotOptions[this.type],l=r.plotOptions||{},d=l.series||{},p=c.plotOptions[this.type]||{},u=l[this.type]||{};this.userOptions=n.userOptions;let g=I(h,s.series,u,o);this.tooltipOptions=I(c.tooltip,c.plotOptions.series?.tooltip,p?.tooltip,i.userOptions.tooltip,l.series?.tooltip,u.tooltip,o.tooltip),this.stickyTracking=G(o.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let f=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),f.push(e)),f.length&&C(f[f.length-1].value)&&f.push(a?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:g}),g}getName(){return G(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r;let o=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||o.options.chart.colorCount;!e&&(C(r=G("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[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||c.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)}findPointIndex(t,e){let i,s,r;let a=t.id,n=t.x,h=this.points,l=this.options.dataSorting;if(a){let t=this.chart.get(a);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=L(h,e)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),void 0===r&&j(n)&&(r=this.xData.indexOf(n,e)),-1!==r&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),!s&&j(r)&&h[r]&&h[r].touched&&(r=void 0),r}updateData(t,e){let i=this.options,s=i.dataSorting,r=this.points,o=[],a=this.requireSorting,n=t.length===r.length,h,l,d,p,c=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},c=d.x;d.id||j(c)?(-1===(l=this.findPointIndex(d,p))||void 0===l?o.push(t):r[l]&&t!==i.data[l]?(r[l].update(t,!1,null,!1),r[l].touched=!0,a&&(p=l+1)):r[l]&&(r[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):o.push(t)},this),h)for(l=r.length;l--;)(d=r[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?c=!1:(t.forEach(function(t,e){t===r[e].y||r[e].destroyed||r[e].update(t,!1,null,!1)}),o.length=0);return r.forEach(function(t){t&&(t.touched=!1)}),!!c&&(o.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,p=n.turboThreshold,c=this.xData,u=this.yData,g=r.pointArrayMap,f=g&&g.length,m=n.keys,y,x,b,S=0,v=1,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=I(!0,t));let k=(t=C||t||[]).length;if(l&&l.enabled&&(t=this.sortData(t)),h.options.chart.allowMutatingData&&!1!==s&&k&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted&&(b=this.updateData(t,i)),!b){r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0});let e=p&&k>p;if(e){let i=r.getFirstValidPoint(t),s=r.getFirstValidPoint(t,k-1,-1),o=t=>!!(B(t)&&(m||j(t[0])));if(j(i)&&j(s))for(y=0;y<k;y++)c[y]=this.autoIncrement(),u[y]=t[y];else if(o(i)&&o(s)){if(f){if(i.length===f)for(y=0;y<k;y++)c[y]=this.autoIncrement(),u[y]=t[y];else for(y=0;y<k;y++)x=t[y],c[y]=x[0],u[y]=x.slice(1,f+1)}else if(m&&(S=m.indexOf("x"),v=m.indexOf("y"),S=S>=0?S:0,v=v>=0?v:1),1===i.length&&(v=0),S===v)for(y=0;y<k;y++)c[y]=this.autoIncrement(),u[y]=t[y][v];else for(y=0;y<k;y++)x=t[y],c[y]=x[S],u[y]=x[v]}else e=!1}if(!e)for(y=0;y<k;y++)x={series:r},r.pointClass.prototype.applyOptions.apply(x,[t[y]]),r.updateParallelArrays(x,y);for(u&&R(u[0])&&w(14,!0,h),r.data=[],r.options.data=r.userOptions.data=t,y=a;y--;)o[y]?.destroy();d&&(d.minRange=d.userMinRange),r.isDirty=h.isDirtyBox=!0,r.isDirtyData=!!o,i=!1}"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&h.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,r){t[r]=s(e,i),t[r].index=r},this),t.concat().sort((t,e)=>{let s=P(i,t),r=P(i,e);return r<s?-1:r>s?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,o){r[o]=s(e,i),t[o]&&(r[o].x=t[o].x,r[o].index=o)}),e.setData(r,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options.cropThreshold,r=i?.logarithmic,o=e.isCartesian,a,n,h=0,l,d,p,c=e.xData,u=e.yData,g=!1,f=c.length;i&&(d=(l=i.getExtremes()).min,p=l.max,g=!!(i.categories&&!i.names.length)),o&&e.sorted&&!t&&(!s||f>s||e.forceCrop)&&(c[f-1]<d||c[0]>p?(c=[],u=[]):e.yData&&(c[0]<d||c[f-1]>p)&&(c=(a=this.cropData(e.xData,e.yData,d,p)).xData,u=a.yData,h=a.start,n=!0));let m=T([r?c.map(r.log2lin):c],()=>e.requireSorting&&!g&&w(15,!1,e.chart));return{xData:c,yData:u,cropped:n,cropStart:h,closestPointRange:m}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o<r;o++)if(t[o]>=i){n=Math.max(0,o-1);break}for(a=o;a<r;a++)if(t[a]>s){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,p,c,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g<o;g++)c=a+g,n?((u=new r(this,[i[g]].concat(X(s[g])))).dataGroup=this.groupMap[d+g],u.dataGroup.options&&(u.options=u.dataGroup.options,M(u,u.dataGroup.options),delete u.dataLabels)):(u=f[c])||void 0===e[c]||(f[c]=u=new r(this,e[c],i[g])),u&&(u.index=n?d+g:c,l[g]=u);if(this.options.keys=h,f&&(o!==(p=f.length)||n))for(g=0;g<p;g++)g!==a||n||(g+=o),f[g]&&(f[g].destroyElements(),f[g].plotX=void 0);this.data=f,this.points=l,O(this,"afterGeneratePoints")}getXExtremes(t){return{min:x(t),max:y(t)}}getExtremes(t,e){let i=this.xAxis,s=this.yAxis,r=[],o=this.requireSorting&&!this.is("column")?1:0,a=!!s&&s.positiveValuesOnly,n=e||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:h,processedYData:l}=this,d,p,c,u,g,f,m,b=0,S=0,v=0;if(this.cropped&&n){let t=this.getProcessedData(!0);h=t.xData,l=t.yData}let C=(t=t||this.stackedYData||l||[]).length,k=h||this.xData;for(i&&(b=(d=i.getExtremes()).min,S=d.max),f=0;f<C;f++)if(u=k[f],p=(j(g=t[f])||B(g))&&((j(g)?g>0:g.length)||!a),c=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(k[f+o]||u)>=b&&(k[f-o]||u)<=S,p&&c){if(m=g.length)for(;m--;)j(g[m])&&(r[v++]=g[m]);else r[v++]=g}let A={activeYData:r,dataMin:x(r),dataMax:y(r)};return O(this,"afterGetExtremes",{dataExtremes:A}),A}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,r=e;for(;r>=0&&r<s;){if(C(t[r]))return t[r];r+=i}}translate(){this.processedXData||this.processData(),this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=i.categories,r=this.enabledDataSorting,o=this.yAxis,a=this.points,n=a.length,h=this.pointPlacementToXValue(),l=!!h,d=t.threshold,p=t.startFromThreshold?d:0,c,u,g,f,m=Number.MAX_VALUE;function y(t){return b(t,-1e5,1e5)}for(c=0;c<n;c++){let t;let n=a[c],x=n.x,b,v,k=n.y,A=n.low,D=e&&o.stacking?.stacks[(this.negStacks&&k<(p?0:d)?"-":"")+this.stackKey];u=i.translate(x,!1,!1,!1,!0,h),n.plotX=j(u)?S(y(u)):void 0,e&&this.visible&&D&&D[x]&&(f=this.getStackIndicator(f,x,this.index),!n.isNull&&f.key&&(v=(b=D[x]).points[f.key]),b&&B(v)&&(A=v[0],k=v[1],A===p&&f.key===D[x].base&&(A=G(j(d)?d:o.min)),o.positiveValuesOnly&&C(A)&&A<=0&&(A=void 0),n.total=n.stackTotal=G(b.total),n.percentage=C(n.y)&&b.total?n.y/b.total*100:void 0,n.stackY=k,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=C(A)?y(o.translate(A,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,c)),j(k)&&void 0!==n.plotX&&(t=j(t=o.translate(k,!1,!0,!1,!0))?y(t):void 0),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=l?S(i.translate(x,!1,!1,!1,!0,h)):u,n.negative=(n.y||0)<(d||0),n.category=G(s&&s[n.x],n.x),n.isNull||!1===n.visible||(void 0!==g&&(m=Math.min(m,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&r&&(n.isNew=!0)}this.closestPointRangePx=m,O(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:r,plotY:o}=t;return!!((i||!t.isNull&&j(o))&&(!e||s.isInsidePlot(r,o,{inverted:s.inverted})))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:r,width:o,height:a}=I(t.clipBox);return e&&e.len!==t.plotSizeX&&(o=e.len),i&&i.len!==t.plotSizeY&&(a=i.len),t.inverted&&!this.invertible&&([o,a]=[a,o]),{x:s,y:r,width:o,height:a}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,r=t.renderer,o=this.getClipBox(),a=this.getSharedClipKey(),n=s[a];n?n.animate(o):s[a]=n=r.clipRect(o),e&&e.clip(!1===this.options.clip?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,r=e.inverted,o=d(this.options.animation),a=[this.getSharedClipKey(),o.duration,o.easing,o.defer].join(","),n=e.sharedClips[a],h=e.sharedClips[a+"m"];if(t&&i){let t=this.getClipBox();if(n)n.attr("height",t.height);else{t.width=0,r&&(t.x=e.plotHeight),n=e.renderer.clipRect(t),e.sharedClips[a]=n;let i={x:-99,y:-99,width:r?e.plotWidth+199:99,height:r?99:e.plotHeight+199};h=e.renderer.clipRect(i),e.sharedClips[a+"m"]=h}i.clip(n),s?.clip(h)}else if(n&&!n.hasClass("highcharts-animating")){let t=this.getClipBox(),i=o.step;(s?.element.childNodes.length||e.series.length>1)&&(o.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(r?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,o)}}afterAnimate(){this.setClip(),W(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:p}=this,c=p.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=G(c.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=c.enabledThreshold*c.radius);if(!1!==c.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(r=(s=(i=t[e]).graphic)?"animate":"attr",o=i.marker||{},a=!!i.marker,(f&&void 0===o.enabled||o.enabled)&&!i.isNull&&!1!==i.visible){let t=G(o.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(n.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?o:c).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),r="animate")),s&&"animate"===r&&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[r](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,r=t.marker||{},o=r.symbol||s.symbol,a={},n,h,l=G(r.radius,s&&s.radius);e&&(n=s.states[e],l=G((h=r.states&&r.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=o&&0===o.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return j(l)&&d&&(i.crisp&&(d[0]=v(d[0],t.hasImage?0:"rect"===o?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,r=s&&s.marker||{},o=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,p,c,u=G(r.lineWidth,i.lineWidth),g=1;return d=o||n||a||d,p=r.fillColor||i.fillColor||d,c=r.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=G((l=r.states&&r.states[e]||{}).lineWidth,h.lineWidth,u+G(l.lineWidthPlus,h.lineWidthPlus,0)),p=l.fillColor||h.fillColor||p,{stroke:c=l.lineColor||h.lineColor||c,"stroke-width":u,fill:p,opacity:g=G(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let r=this,o=r.chart,a=/AppleWebKit\/533/.test(f.navigator.userAgent),n=r.data||[];for(O(r,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(s=r[t])&&s.series&&(D(s.series,r),s.isDirty=s.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of r.zones)k(t,void 0,!0);l.clearTimeout(r.animationTimeout),W(r,function(t,e){t instanceof h&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),o.hoverSeries===r&&(o.hoverSeries=void 0),D(o.series,r),o.orderItems("series"),W(r,function(e,i){t&&"hcEvents"===i||delete r[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:r,xAxis:o,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:p,len:c=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{h&&(i=c-i);let{translated:s=0,lineClip:r}=t,o=i-s;r?.push(["L",e,Math.abs(o)<u?i-u*(o<=0?-1:1):s])};if(s.length&&(i||t)&&d&&j(d.min)){let e=d.getExtremes().max,u=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],p?c-e[1]:e[1],p?e[2]:c-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=b(d.toPixels(G(t.value,e),!0)||0,0,c)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&r.length<o.len)for(let t of r){let{plotX:e,plotY:i,zone:r}=t,o=r&&s[s.indexOf(r)-1];r&&g(r,e,i),o&&g(o,e,i)}let f=[],m=d.toPixels(d.getExtremes().min,!0);s.forEach(e=>{let s=e.lineClip||[],r=Math.round(e.translated||0);o.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,c=0,g=0,y=o.len,x=a.len;p?(c=r,y=m):(g=r,x=m);let b=[["M",c,g],["L",y,g],["L",y,x],["L",c,x],["Z"]],S=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),m=r,h&&(u(S),t&&u(b)),n?(n.animate({d:S}),d?.animate({d:b})):(n=e.clip=l.path(S),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,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return C(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=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:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||N(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=d(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;O(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,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&&r.defer&&(h+=r.defer),t.animationTimeout=z(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,O(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,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?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,z(function(){e.kdTree=function t(i,s,r){let o,a;let n=i?.length;if(n)return o=e.kdAxisArray[s%r],i.sort((t,e)=>(t[o]||0)-(e[o]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,r),right:t(i.slice(a+1),s+1,r)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[r,o]=this.kdAxisArray,a=e?"distX":"dist",n=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,h=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,n,l){let d=i.point,p=s.kdAxisArray[n%l],c,u,g=d;!function(t,e){let i=t[r],s=e[r],a=C(i)&&C(s)?i-s:null,n=t[o],l=e[o],d=C(n)&&C(l)?n-l:0,p=h&&e.marker?.radius||0;e.dist=Math.sqrt((a&&a*a||0)+d*d)-p,e.distX=C(a)?Math.abs(a)-p:Number.MAX_VALUE}(e,d);let f=(e[p]||0)-(d[p]||0)+(h&&d.marker?.radius||0),m=f<0?"left":"right",y=f<0?"right":"left";return i[m]&&(g=(c=t(e,i[m],n+1,l))[a]<g[a]?c:d),i[y]&&Math.sqrt(f*f)<g[a]&&(g=(u=t(e,i[y],n+1,l))[a]<g[a]?u:g),g}(t,this.kdTree,n,n)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),j(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:r=-1,plotY:o=-1}=t;return o>=0&&o<=(s?s.len:e.plotHeight)&&r>=0&&r<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),r=t.chart,o=r.pointer,a=r.renderer,n=r.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(g?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),r.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=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a;let n=this.options,h=this.data,l=this.chart,d=this.xAxis,p=d&&d.hasNames&&d.names,c=n.data,u=this.xData;e=G(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let f=g.x;if(a=u.length,this.requireSorting&&f<u[a-1])for(o=!0;a&&u[a-1]>f;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),p&&g.name&&(p[f]=g.name),c.splice(a,0,t),(o||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.shift(),this.updateParallelArrays(g,"shift"),c.shift())),!1!==r&&O(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,r=s.data,o=r[t],a=s.points,n=s.chart,h=function(){a&&a.length===r.length&&a.splice(t,1),r.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(o||{series:s},"splice",[t,1]),o&&o.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&n.redraw()};p(i,n),e=G(e,!0),o?o.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),G(t,!0)&&o.redraw(e)}!1!==i?O(r,"remove",null,a):a()}update(t,e){O(this,"update",{options:t=A(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=m[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,p,c=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||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||o,g&&(c.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&c.push("area","graph"),i.parallelArrays.forEach(function(t){c.push(t+"Data")}),t.data&&(t.dataSorting&&M(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=I(r,{index:void 0===r.index?i.index:r.index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(c=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(c)).forEach(function(t){c[t]=i[t],delete i[t]});let f=!1;if(m[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,m[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in n)i[p]=void 0;M(i,m[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else w(17,!0,s,{missingModuleFor:u});if(c.forEach(function(t){i[t]=c[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,r)&&(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=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),G(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,r=this.userOptions[t],o=G(s?.[this.type]?.[t],s?.series?.[t]);return r&&!C(o)?i!==r:i!==G(o,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(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&&O(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,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=G(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=G(a[t].opacity,l)),r&&!r.dashstyle&&j(h))for(let t of[r,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&o&&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,r=s.options.chart.ignoreHiddenSeries,o=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!o: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)}),r&&(s.isDirtyBox=!0),O(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),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return V.defaultOptions=a,V.types=n.seriesTypes,V.registerType=n.registerSeriesType,M(V.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}),n.series=V,V}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,r,o){i.rendererTypes[e]=r,(!s||o)&&(s=e,t.Renderer=r)},e}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:r,merge:o,pick:a,removeEvent:n}=e;class h extends t{constructor(t,e,i,s,r,o,a,n,l,d){let p;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=o,this.anchorY=a,this.baseline=l,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((p=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=h.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||p,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&r(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(e){if(e){let t={};e=o(e),h.textProps.forEach(i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])}),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){n(this.element,"mouseenter"),n(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.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:r=0,translateY:o=0,width:n=0}=this,h=a(this.paddingLeft,i),l=e??(this.rotation||0),d={width:n,height:s,x:r+this.bBox.x-h,y:o+this.bBox.y-i+this.baselineOffset};return l&&(d=this.getRotatedBox(d,l)),d}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:a(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){r(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}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,o={},a=this.padding,n=this.bBox=(!r(this.widthSetting)||!r(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):h.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*a;let l=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||l).b,n.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-l.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(),o.x=t,o.y=(this.baseline?-this.baselineOffset:0)+t,o.width=Math.round(this.width),o.height=Math.round(this.height),this.box.attr(s(o,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=a(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=r(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=a(this.paddingLeft,t),i=a(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)}}return h.emptyBBox={width:0,height:0,x:0,y:0},h.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],h}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t;function r(t,i,r,o,a){let n=[];if(a){let h=a.start||0,l=s(a.r,r),d=s(a.r,o||r),p=2e-4/Math.max(l,1),c=Math.abs((a.end||0)-h-2*Math.PI)<p,u=(a.end||0)-p,g=a.innerR,f=s(a.open,c),m=Math.cos(h),y=Math.sin(h),x=Math.cos(u),b=Math.sin(u),S=s(a.longArc,u-h-Math.PI<p?0:1),v=["A",l,d,0,S,s(a.clockwise,1),t+l*x,i+d*b];v.params={start:h,end:u,cx:t,cy:i},n.push(["M",t+l*m,i+d*y],v),e(g)&&((v=["A",g,g,0,S,e(a.clockwise)?1-a.clockwise:0,t+g*m,i+g*y]).params={start:u,end:h,cx:t,cy:i},n.push(f?["M",t+g*x,i+g*b]:["L",t+g*x,i+g*b],v)),f||n.push(["Z"])}return n}function o(t,e,i,s,r){return r&&r.r?a(t,e,i,s,r):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function a(t,e,i,s,r){let o=r?.r||0;return[["M",t+o,e],["L",t+i-o,e],["A",o,o,0,0,1,t+i,e+o],["L",t+i,e+s-o],["A",o,o,0,0,1,t+i-o,e+s],["L",t+o,e+s],["A",o,o,0,0,1,t,e+s-o],["L",t,e+o],["A",o,o,0,0,1,t+o,e],["Z"]]}return{arc:r,callout:function(t,e,s,r,o){let n=Math.min(o&&o.r||0,s,r),h=n+6,l=o&&o.anchorX,d=o&&o.anchorY||0,p=a(t,e,s,r,{r:n});if(!i(l)||l<s&&l>0&&d<r&&d>0)return p;if(t+l>s-h){if(d>e+h&&d<e+r-h)p.splice(3,1,["L",t+s,d-6],["L",t+s+6,d],["L",t+s,d+6],["L",t+s,e+r-n]);else if(l<s){let i=d<e+h,o=i?e:e+r;p.splice(i?2:5,0,["L",l,d],["L",t+s-n,o])}else p.splice(3,1,["L",t+s,r/2],["L",l,d],["L",t+s,r/2],["L",t+s,e+r-n])}else if(t+l<h){if(d>e+h&&d<e+r-h)p.splice(7,1,["L",t,d+6],["L",t-6,d],["L",t,d-6],["L",t,e+n]);else if(l>0){let i=d<e+h,s=i?e:e+r;p.splice(i?1:6,0,["L",l,d],["L",t+n,s])}else p.splice(7,1,["L",t,r/2],["L",l,d],["L",t,r/2],["L",t,e+n])}else d>r&&l<s-h?p.splice(5,1,["L",l+6,e+r],["L",l,e+r+6],["L",l-6,e+r],["L",t+n,e+r]):d<0&&l>h&&p.splice(1,1,["L",l-6,e],["L",l,e-6],["L",l+6,e],["L",s-n,e]);return p},circle:function(t,e,i,s){return r(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:o,roundedRect:a,square:o,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"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s,SVG_NS:r,win:o}=e,{attr:a,extend:n,fireEvent:h,isString:l,objectEach:d,pick:p}=i;return 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.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,r=e.renderer,o=p(e.textStr,"").toString(),a=-1!==o.indexOf("<"),n=i.childNodes,h=!e.added&&r.box,d=[o,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=n.length;t--;)i.removeChild(n[t]);if(a||this.ellipsis||this.width||e.textPath||-1!==o.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(o))){if(""!==o){h&&h.appendChild(i);let s=new t(o);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),h&&h.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(o)));l(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=a(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)),a(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let n=this.width||0;if(!n)return;let h=(t,o)=>{let h=t.textContent||"",l=h.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(l.length>1||e.element.childNodes.length>1),p=this.getLineHeight(o),c=0,u=e.actualWidth;if(this.ellipsis)h&&this.truncate(t,h,void 0,0,Math.max(0,n-.8*p),(t,e)=>t.substring(0,e)+"…");else if(d){let h=[],d=[];for(;o.firstChild&&o.firstChild!==t;)d.push(o.firstChild),o.removeChild(o.firstChild);for(;l.length;)l.length&&!this.noWrap&&c>0&&(h.push(t.textContent||""),t.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,l,0===c&&u||0,n,(t,e)=>l.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,c++;d.forEach(e=>{o.insertBefore(e,t)}),h.forEach(e=>{o.insertBefore(s.createTextNode(e),t);let n=s.createElementNS(r,"tspan");n.textContent="",a(n,{dy:p,x:i}),o.insertBefore(n,t)})}},l=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===o.Node.TEXT_NODE?h(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),l(i))})};l(e.element)}getLineHeight(t){let e=t.nodeType===o.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:r={},children:o,style:a={},tagName:h}=i,l=this.renderer.styledMode;if("b"===h||"strong"===h?l?r.class="highcharts-strong":a.fontWeight="bold":("i"===h||"em"===h)&&(l?r.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===h){r.class="highcharts-br",i.textContent="";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===h&&o&&o.some(t=>"#text"===t.tagName)&&(i.children=[{children:o,tagName:"tspan"}]);"#text"!==h&&"a"!==h&&(i.tagName="tspan"),n(i,{attributes:r,style:a}),o&&o.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),h(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,r,o){let a,n;let h=this.svgElement,{rotation:l}=h,d=[],p=i?1:0,c=(e||i||"").length,u=c,g=function(e,r){let o=r||e,a=t.parentNode;if(a&&void 0===d[o]&&a.getSubStringLength)try{d[o]=s+a.getSubStringLength(0,i?o+1:o)}catch(t){}return d[o]};if(h.rotation=0,s+(n=g(t.textContent.length))>r){for(;p<=c;)u=Math.ceil((p+c)/2),i&&(a=o(i,u)),n=g(u,a&&a.length-1),p===c?p=c+1:n>r?c=u-1:p=u;0===c?t.textContent="":e&&c===e.length-1||(t.textContent=a||o(e||i,u))}i&&i.splice(0,u),h.actualWidth=n,h.rotation=l}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h,l){let d;let{defaultOptions:p}=e,{charts:c,deg2rad:u,doc:g,isFirefox:f,isMS:m,isWebKit:y,noop:x,SVG_NS:b,symbolSizes:S,win:v}=s,{addEvent:C,attr:k,createElement:A,crisp:D,css:w,defined:M,destroyObjectProperties:L,extend:O,isArray:T,isNumber:P,isObject:E,isString:B,merge:j,pick:R,pInt:I,replaceNested:W,uniqueKey:G}=l;class N{constructor(t,e,i,s,r,o,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),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.4")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),f&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),h=t.getBoundingClientRect(),w(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=C(v,"resize",n))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((f||y)&&g.getElementsByTagName("base").length){if(!M(d)){let e=G(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);d="hitme"===(s&&s.id),g.body.removeChild(i)}if(d)return W(v.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, 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(),L(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=j({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 h(t).buildSVG()}getContrast(t){let e=i.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,r,o={},a,n,h,l,d){let c=this.label(e,i,s,l,void 0,void 0,d,void 0,"button"),u=this.styledMode,g=arguments,f=0;o=j(p.global.buttonTheme,o),u&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let y=o.states||{},x=o.style||{};delete o.states,delete o.style;let b=[t.filterUserAttributes(o)],S=[x];return u||["hover","select","disabled"].forEach((e,i)=>{b.push(j(b[0],t.filterUserAttributes(g[i+5]||y[e]||{}))),S.push(b[i+1].style),delete b[i+1].style}),C(c.element,m?"mouseover":"mouseenter",function(){3!==f&&c.setState(1)}),C(c.element,m?"mouseout":"mouseleave",function(){3!==f&&c.setState(f)}),c.setState=(t=0)=>{if(1!==t&&(c.state=f=t),c.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){c.attr(b[t]);let e=S[t];E(e)&&c.css(e)}},c.attr(b[0]),!u&&(c.css(O({cursor:"default"},x)),d&&c.text.css({pointerEvents:"none"})),c.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==f&&r.call(c,t)})}crispLine(t,e){let[i,s]=t;return M(i[1])&&i[1]===s[1]&&(i[1]=s[1]=D(i[1],e)),M(i[2])&&i[2]===s[2]&&(i[2]=s[2]=D(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return T(t)?e.d=t:E(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=E(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a;E(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,r,o){let a=E(t)?t:void 0===t?{}:{x:t,y:e,r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,O(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,k(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:R(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,r,o){let a={preserveAspectRatio:"none"};P(e)&&(a.x=e),P(i)&&(a.y=i),P(s)&&(a.width=s),P(r)&&(a.height=r);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),o.call(n,e)};if(o){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new v.Image;C(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,r,o){let a,n,h,l;let d=this,p=/^url\((.*?)\)$/,u=p.test(t),f=!u&&(this.symbols[t]?t:"circle"),m=f&&this.symbols[f];if(m)"number"==typeof e&&(n=m.call(this.symbols,e||0,i||0,s||0,r||0,o)),a=this.path(n),d.styledMode||a.attr("fill","none"),O(a,{symbolName:f||void 0,x:e,y:i,width:s,height:r}),o&&O(a,o);else if(u){h=t.match(p)[1];let s=a=this.image(h);s.imgwidth=R(o&&o.width,S[h]&&S[h].width),s.imgheight=R(o&&o.height,S[h]&&S[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:r,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;o&&"within"===o.backgroundSize&&r&&a&&n&&h?(d=Math.min(r/n,a/h),k(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((r||0)-n*d)/2,((a||0)-h*d)/2)}}),M(e)&&s.attr({x:e,y:i}),s.isImg=!0,M(s.imgwidth)&&M(s.imgheight)?l(s):(s.attr({width:0,height:0}),A("img",{onload:function(){let t=c[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),S[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 r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),M(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),r=i.getAttribute(e);for(let i=0,o;i<s.length;i++)(o=s[i]).getAttribute(e)===r&&o.setAttribute(e,t);i.setAttribute(e,t)}),o}fontMetrics(t){let e=I(o.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*u),4)),{x:-t/3*Math.sin(e*u),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let r=0;r<t.length;r++)B(i[0])&&P(t[r])&&i.length===s[i[0].toUpperCase()]&&t.splice(r,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[r]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[r]);return e.push(i.slice(0)),e}label(t,e,i,s,r,o,n,h,l){return new a(this,t,e,i,s,r,o,n,h,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}return O(N.prototype,{Element:o,SVG_NS:b,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:n,draw:x}),r.registerRendererType("svg",N,!0),N}),i(e,"Series/ArcDiagram/ArcDiagramSeries.js",[e["Series/ArcDiagram/ArcDiagramPoint.js"],e["Series/ArcDiagram/ArcDiagramSeriesDefaults.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,i,s,r,o,a,n,h){h.compose(n);let{prototype:{symbols:l}}=o,{seriesTypes:{column:d,sankey:p}}=r,{crisp:c,extend:u,merge:g,pick:f,relativeLength:m}=a;class y extends p{createNodeColumns(){let t=this,e=t.chart,s=i.compose([],t);return s.sankeyColumn.maxLength=e.inverted?e.plotHeight:e.plotWidth,s.sankeyColumn.getTranslationFactor=t=>{let i=s.slice(),r=this.options.minLinkWidth||0,o,a=0,n,h,l=0,d=1,p=0,c=(e.plotSizeX||0)-(t.options.marker&&t.options.marker.lineWidth||0)-(s.length-1)*t.nodePadding;for(;s.length;){for(a=c/s.sankeyColumn.sum(),o=!1,n=s.length;n--;){h=s[n].getSum()*a*d;let t=Math.min(e.plotHeight,e.plotWidth);h>t?d=Math.min(t/h,d):h<r&&(s.splice(n,1),c-=r,h=r,o=!0),p+=h*(1-d)/2,l=Math.max(l,h)}if(!o)break}return s.length=0,i.forEach(t=>{t.scale=d,s.push(t)}),s.sankeyColumn.maxRadius=l,s.sankeyColumn.scale=d,s.sankeyColumn.additionalSpace=p,a},s.sankeyColumn.offset=function(i,r){let o=i.series.options.equalNodes,a=t.nodePadding,n=Math.min(e.plotWidth,e.plotHeight,(s.sankeyColumn.maxLength||0)/t.nodes.length-a),h=s.sankeyColumn.additionalSpace||0,l;for(let e=0;e<s.length;e++){let d=s[e].getSum()*(s.sankeyColumn.scale||0),p=o?n:Math.max(d*r,t.options.minLinkWidth||0);if(l=d?p+a:0,s[e]===i)return{relativeLeft:h+m(i.options.offset||0,l)};h+=l}},t.nodes.forEach(function(t){t.column=0,s.push(t)}),[s]}translateLink(t){let e=t.fromNode,i=t.toNode,s=this.chart,r=this.translationFactor,o=t.options,a=this.options,n=f(o.linkWeight,a.linkWeight,Math.max((t.weight||0)*r*e.scale,this.options.minLinkWidth||0)),h=t.series.options.centeredLinks,l=e.nodeY,d=(e,i)=>{let s=(e.offset(t,i)||0)*r;return Math.min(e.nodeX+s,e.nodeX+(e.shapeArgs&&e.shapeArgs.height||0)-n)},p=h?e.nodeX+((e.shapeArgs.height||0)-n)/2:d(e,"linksFrom"),c=h?i.nodeX+((i.shapeArgs.height||0)-n)/2:d(i,"linksTo"),u=l;p>c&&([p,c]=[c,p]),a.reversed&&([p,c]=[c,p],u=(s.plotSizeY||0)-u),t.shapeType="path",t.linkBase=[p,p+n,c,c+n];let g=(c+n-p)/Math.abs(c+n-p)*f(a.linkRadius,Math.min(Math.abs(c+n-p)/2,e.nodeY-Math.abs(n)));t.shapeArgs={d:[["M",p,u],["A",(c+n-p)/2,g,0,0,1,c+n,u],["L",c,u],["A",(c-p-n)/2,g-n,0,0,0,p+n,u],["Z"]]},t.dlBox={x:p+(c-p)/2,y:u-g,height:n,width:0},t.tooltipPos=s.inverted?[(s.plotSizeY||0)-t.dlBox.y-n/2,(s.plotSizeX||0)-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+n/2],t.y=t.plotY=1,t.x=t.plotX=1,t.color||(t.color=e.color)}translateNode(t,e){let i=this.translationFactor,s=this.chart,r=s.inverted?s.plotWidth:s.plotHeight,o=this.options,a=Math.min(s.plotWidth,s.plotHeight,r/t.series.nodes.length-this.nodePadding),n=t.getSum()*(e.sankeyColumn.scale||0),h=o.equalNodes?a:Math.max(n*i,this.options.minLinkWidth||0),d=o.marker?.lineWidth||0,u=e.sankeyColumn.offset(t,i),m=c(f(u&&u.absoluteLeft,(e.sankeyColumn.left(i)||0)+(u&&u.relativeLeft||0)),d),y=g(o.marker,t.options.marker),x=y.symbol,b=y.radius,S=parseInt(o.offset,10)*((s.inverted?s.plotWidth:s.plotHeight)-(c(this.colDistance*(t.column||0)+(y.lineWidth||0)/2,d)+(e.sankeyColumn.scale||0)*(e.sankeyColumn.maxRadius||0)/2))/100;if(t.sum=n,n){t.nodeX=m,t.nodeY=S;let e=t.options.width||o.width||h,i=t.options.height||o.height||h,r=S;o.reversed&&(r=(s.plotSizeY||0)-S,s.inverted&&(r=(s.plotSizeY||0)-S)),this.mapOptionsToLevel&&(t.dlOptions=p.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options})),t.plotX=1,t.plotY=1,t.tooltipPos=s.inverted?[(s.plotSizeY||0)-r-i/2,(s.plotSizeX||0)-m-e/2]:[m+e/2,r+i/2],t.shapeType="path",t.shapeArgs={d:l[x||"circle"](m,r-(b||i)/2,b||e,b||i),width:b||e,height:b||i},t.dlBox={x:m+e/2,y:r,height:0,width:0}}else t.dlOptions={enabled:!1}}drawDataLabels(){if(this.options.dataLabels){let t=this.options.dataLabels.textPath;d.prototype.drawDataLabels.call(this,this.nodes),this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath,d.prototype.drawDataLabels.call(this,this.data),this.options.dataLabels.textPath=t}}pointAttribs(t,e){if(t&&t.isNode){let{...t}=s.prototype.pointAttribs.apply(this,arguments);return t}return super.pointAttribs.apply(this,arguments)}markerAttribs(t){return t.isNode?super.markerAttribs.apply(this,arguments):{}}}return y.defaultOptions=g(p.defaultOptions,e),u(y.prototype,{orderNodes:!1}),y.prototype.pointClass=t,r.registerSeriesType("arcdiagram",y),y}),i(e,"masters/modules/arc-diagram.src.js",[e["Core/Globals.js"]],function(t){return t})});
|