highcharts 13.0.0 → 13.0.2
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/bower.json +1 -1
- package/css/highcharts.css +2 -1
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +38 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
- package/es-modules/Accessibility/Components/LegendComponent.js +3 -4
- package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
- package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
- package/es-modules/Accessibility/FocusBorder.js +2 -2
- package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
- package/es-modules/Accessibility/ProxyElement.js +1 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +34 -43
- package/es-modules/Core/Animation/Fx.js +16 -19
- package/es-modules/Core/Axis/Axis.js +49 -59
- package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
- package/es-modules/Core/Axis/AxisDefaults.js +12 -2
- package/es-modules/Core/Axis/BrokenAxis.js +6 -5
- package/es-modules/Core/Axis/Color/ColorAxis.js +24 -12
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
- package/es-modules/Core/Axis/GridAxis.js +12 -5
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -3
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +21 -11
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
- package/es-modules/Core/Axis/RadialAxis.js +23 -22
- package/es-modules/Core/Axis/ScrollbarAxis.js +3 -3
- package/es-modules/Core/Axis/Stacking/StackItem.js +5 -5
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +5 -6
- package/es-modules/Core/Axis/Tick.js +10 -11
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
- package/es-modules/Core/Chart/Chart.js +58 -53
- package/es-modules/Core/Chart/Chart3D.js +3 -3
- package/es-modules/Core/Chart/ChartDefaults.js +24 -1
- package/es-modules/Core/Chart/MapChart.js +7 -10
- package/es-modules/Core/Chart/StockChart.js +15 -11
- package/es-modules/Core/Color/Color.js +3 -1
- package/es-modules/Core/Defaults.js +44 -2
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +20 -17
- package/es-modules/Core/Legend/LegendSymbol.js +2 -2
- package/es-modules/Core/MSPointer.js +2 -2
- package/es-modules/Core/Math3D.js +6 -7
- package/es-modules/Core/Pointer.js +20 -10
- package/es-modules/Core/Renderer/HTML/AST.js +5 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +12 -11
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +5 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +6 -6
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +13 -12
- package/es-modules/Core/Renderer/SVG/Symbols.js +6 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +7 -5
- package/es-modules/Core/Series/DataLabel.js +9 -8
- package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
- package/es-modules/Core/Series/Point.js +31 -24
- package/es-modules/Core/Series/Series.js +125 -82
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesDefaults.js +33 -0
- package/es-modules/Core/Templating.js +18 -15
- package/es-modules/Core/Tooltip.js +12 -9
- package/es-modules/Core/Utilities.js +4 -3
- package/es-modules/Data/Connectors/DataConnector.js +2 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/DataTable.js +17 -0
- package/es-modules/Data/DataTableCore.js +1 -1
- package/es-modules/Extensions/Annotations/Annotation.js +5 -6
- package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +2 -2
- package/es-modules/Extensions/Annotations/EventEmitter.js +4 -4
- package/es-modules/Extensions/Annotations/MockPoint.js +7 -9
- package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +31 -4
- package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +6 -8
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
- package/es-modules/Extensions/Annotations/Types/Measure.js +28 -10
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
- package/es-modules/Extensions/Boost/Boost.js +13 -0
- package/es-modules/Extensions/Boost/BoostChart.js +11 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +17 -11
- package/es-modules/Extensions/Boost/WGLRenderer.js +9 -6
- package/es-modules/Extensions/Boost/WGLShader.js +3 -3
- package/es-modules/Extensions/BoostCanvas.js +2 -2
- package/es-modules/Extensions/BorderRadius.js +12 -10
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -5
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +2 -2
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +4 -3
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +2 -2
- package/es-modules/Extensions/DraggablePoints/DragDropProps.js +2 -3
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +1 -2
- package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
- package/es-modules/Extensions/ExportData/ExportData.js +21 -16
- package/es-modules/Extensions/Exporting/Exporting.js +28 -28
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
- package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
- package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
- package/es-modules/Extensions/PatternFill.js +7 -5
- package/es-modules/Extensions/PriceIndication.js +5 -4
- package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +8 -9
- package/es-modules/Extensions/Sonification/MIDI.js +2 -3
- package/es-modules/Extensions/Sonification/Sonification.js +2 -2
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +3 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +4 -4
- package/es-modules/Extensions/Sonification/TimelineFromChart.js +11 -11
- package/es-modules/Gantt/Legacy.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +3 -3
- package/es-modules/Gantt/PathfinderAlgorithms.js +4 -3
- package/es-modules/Gantt/Tree.js +1 -1
- package/es-modules/Maps/GeoJSONComposition.js +14 -1
- package/es-modules/Maps/MapNavigation.js +4 -4
- package/es-modules/Maps/MapPointer.js +2 -2
- package/es-modules/Maps/MapView.js +3 -3
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
- package/es-modules/Series/Area/AreaSeries.js +4 -5
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
- package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +40 -32
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
- package/es-modules/Series/Bubble/BubbleSeries.js +25 -9
- package/es-modules/Series/Bullet/BulletSeries.js +17 -10
- package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
- package/es-modules/Series/CenteredUtilities.js +12 -9
- package/es-modules/Series/ColorMapComposition.js +7 -4
- package/es-modules/Series/Column/ColumnPoint.js +2 -0
- package/es-modules/Series/Column/ColumnSeries.js +14 -14
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
- package/es-modules/Series/Column3D/Column3DComposition.js +22 -19
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +7 -6
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
- package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +13 -144
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
- package/es-modules/Series/Contour/ContourPoint.js +2 -0
- package/es-modules/Series/Contour/ContourSeries.js +1 -0
- package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
- package/es-modules/Series/Contour/ContourShader.js +9 -1
- package/es-modules/Series/CrossSymbol.js +3 -2
- package/es-modules/Series/Cylinder/CylinderComposition.js +12 -12
- package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
- package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
- package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
- package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
- package/es-modules/Series/DataModifyComposition.js +9 -7
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
- package/es-modules/Series/DerivedComposition.js +9 -8
- package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
- package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
- package/es-modules/Series/DotPlot/DotPlotSeries.js +6 -4
- package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
- package/es-modules/Series/DragNodesComposition.js +11 -8
- package/es-modules/Series/DrawPointUtilities.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +19 -6
- package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +33 -15
- package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
- package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
- package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
- package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
- package/es-modules/Series/Flags/FlagsSeries.js +5 -14
- package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
- package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
- package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
- package/es-modules/Series/Funnel/FunnelSeries.js +25 -26
- package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
- package/es-modules/Series/Gantt/GanttSeries.js +2 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +9 -9
- package/es-modules/Series/GraphLayoutComposition.js +3 -3
- package/es-modules/Series/Heatmap/HeatmapPoint.js +6 -6
- package/es-modules/Series/Heatmap/HeatmapPointOptions.js +12 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -13
- package/es-modules/Series/Heatmap/HeatmapSeriesOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramPoint.js +17 -0
- package/es-modules/Series/Histogram/HistogramPointOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramSeries.js +15 -3
- package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
- package/es-modules/Series/InterpolationUtilities.js +5 -5
- package/es-modules/Series/Item/ItemPointOptions.js +14 -0
- package/es-modules/Series/Item/ItemSeries.js +18 -6
- package/es-modules/Series/Item/ItemSeriesOptions.js +14 -0
- package/es-modules/Series/Map/MapPoint.js +5 -3
- package/es-modules/Series/Map/MapSeries.js +6 -10
- package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +14 -9
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
- package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
- package/es-modules/Series/NodesComposition.js +9 -10
- package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +5 -5
- package/es-modules/Series/Pictorial/PictorialSeries.js +4 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +3 -4
- package/es-modules/Series/Pie/PieSeries.js +3 -2
- package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
- package/es-modules/Series/PolarComposition.js +13 -14
- package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
- package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
- package/es-modules/Series/RangeDataLabel.js +128 -0
- package/es-modules/Series/Sankey/SankeySeries.js +13 -7
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
- package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
- package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
- package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +4 -4
- package/es-modules/Series/Spline/SplineSeries.js +5 -5
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +20 -12
- package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
- package/es-modules/Series/Tilemap/TilemapShapes.js +2 -2
- package/es-modules/Series/Timeline/TimelinePoint.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +13 -6
- package/es-modules/Series/TreeUtilities.js +16 -7
- package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
- package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
- package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
- package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
- package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
- package/es-modules/Series/Vector/VectorSeries.js +7 -9
- package/es-modules/Series/Venn/VennSeries.js +3 -4
- package/es-modules/Series/Waterfall/WaterfallSeries.js +3 -3
- package/es-modules/Series/Windbarb/WindbarbSeries.js +8 -10
- package/es-modules/Series/XRange/XRangeSeries.js +8 -8
- package/es-modules/Shared/TimeBase.js +13 -8
- package/es-modules/Shared/Utilities.js +9 -7
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -3
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +4 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -2
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -2
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
- package/es-modules/Stock/Navigator/Navigator.js +26 -26
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
- package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +55 -14
- package/es-modules/Stock/RangeSelector/RangeSelector.js +15 -11
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +3 -3
- package/es-modules/Stock/Scrollbar/Scrollbar.js +8 -7
- package/es-modules/Stock/StockTools/StockToolbar.js +6 -6
- package/es-modules/Stock/StockTools/StockTools.js +2 -2
- package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
- package/es-modules/Stock/StockTools/StockToolsGui.js +6 -4
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-autoload.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +13 -8
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
- package/es-modules/masters/i18n/fr-FR.src.js +1 -1
- package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
- package/es-modules/masters/i18n/nb-NO.src.js +1 -1
- package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
- package/es-modules/masters/i18n/zh-CN.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/contour.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data-sorting.src.js +1 -1
- package/es-modules/masters/modules/data-tools.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/flowmap.src.js +2 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/geoheatmap.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/pictorial.src.js +1 -1
- package/es-modules/masters/modules/pointandfigure.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/renko.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +3 -2
- package/es-modules/masters/modules/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/standalone-navigator.src.js +1 -1
- package/es-modules/masters/themes/adaptive.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/high-contrast.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/esm/highcharts-3d.js +2 -2
- package/esm/highcharts-3d.src.js +78 -55
- package/esm/highcharts-autoload.js +2 -2
- package/esm/highcharts-autoload.src.js +22 -8
- package/esm/highcharts-gantt.js +2 -2
- package/esm/highcharts-gantt.src.js +1 -24
- package/esm/highcharts-more.js +2 -2
- package/esm/highcharts-more.src.js +1198 -981
- package/esm/highcharts.js +5 -5
- package/esm/highcharts.src.js +702 -515
- package/esm/highmaps.js +2 -2
- package/esm/highmaps.src.js +1 -24
- package/esm/highstock.js +2 -2
- package/esm/highstock.src.js +1 -24
- package/esm/i18n/fr-FR.js +2 -2
- package/esm/i18n/fr-FR.src.js +22 -8
- package/esm/i18n/nb-NO.js +2 -2
- package/esm/i18n/nb-NO.src.js +22 -8
- package/esm/i18n/zh-CN.js +2 -2
- package/esm/i18n/zh-CN.src.js +22 -8
- package/esm/indicators/acceleration-bands.js +2 -2
- package/esm/indicators/acceleration-bands.src.js +22 -8
- package/esm/indicators/accumulation-distribution.js +2 -2
- package/esm/indicators/accumulation-distribution.src.js +22 -8
- package/esm/indicators/ao.js +2 -2
- package/esm/indicators/ao.src.js +22 -8
- package/esm/indicators/apo.js +2 -2
- package/esm/indicators/apo.src.js +22 -8
- package/esm/indicators/aroon-oscillator.js +2 -2
- package/esm/indicators/aroon-oscillator.src.js +22 -8
- package/esm/indicators/aroon.js +2 -2
- package/esm/indicators/aroon.src.js +24 -10
- package/esm/indicators/atr.js +2 -2
- package/esm/indicators/atr.src.js +22 -8
- package/esm/indicators/bollinger-bands.js +2 -2
- package/esm/indicators/bollinger-bands.src.js +22 -8
- package/esm/indicators/cci.js +2 -2
- package/esm/indicators/cci.src.js +22 -8
- package/esm/indicators/chaikin.js +2 -2
- package/esm/indicators/chaikin.src.js +22 -8
- package/esm/indicators/cmf.js +2 -2
- package/esm/indicators/cmf.src.js +22 -8
- package/esm/indicators/cmo.js +2 -2
- package/esm/indicators/cmo.src.js +22 -8
- package/esm/indicators/dema.js +2 -2
- package/esm/indicators/dema.src.js +22 -8
- package/esm/indicators/disparity-index.js +2 -2
- package/esm/indicators/disparity-index.src.js +22 -8
- package/esm/indicators/dmi.js +2 -2
- package/esm/indicators/dmi.src.js +22 -8
- package/esm/indicators/dpo.js +2 -2
- package/esm/indicators/dpo.src.js +25 -10
- package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
- package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +31 -17
- package/esm/indicators/indicators.js +2 -2
- package/esm/indicators/indicators.src.js +24 -10
- package/esm/indicators/keltner-channels.js +2 -2
- package/esm/indicators/keltner-channels.src.js +22 -8
- package/esm/indicators/klinger.js +2 -2
- package/esm/indicators/klinger.src.js +22 -8
- package/esm/indicators/macd.js +2 -2
- package/esm/indicators/macd.src.js +22 -8
- package/esm/indicators/mfi.js +2 -2
- package/esm/indicators/mfi.src.js +22 -8
- package/esm/indicators/momentum.js +2 -2
- package/esm/indicators/momentum.src.js +22 -8
- package/esm/indicators/natr.js +2 -2
- package/esm/indicators/natr.src.js +22 -8
- package/esm/indicators/obv.js +2 -2
- package/esm/indicators/obv.src.js +22 -8
- package/esm/indicators/pivot-points.js +2 -2
- package/esm/indicators/pivot-points.src.js +22 -8
- package/esm/indicators/ppo.js +2 -2
- package/esm/indicators/ppo.src.js +22 -8
- package/esm/indicators/price-channel.js +2 -2
- package/esm/indicators/price-channel.src.js +22 -8
- package/esm/indicators/price-envelopes.js +2 -2
- package/esm/indicators/price-envelopes.src.js +22 -8
- package/esm/indicators/psar.js +2 -2
- package/esm/indicators/psar.src.js +22 -8
- package/esm/indicators/regressions.js +2 -2
- package/esm/indicators/regressions.src.js +22 -8
- package/esm/indicators/roc.js +2 -2
- package/esm/indicators/roc.src.js +22 -8
- package/esm/indicators/rsi.js +2 -2
- package/esm/indicators/rsi.src.js +23 -9
- package/esm/indicators/slow-stochastic.js +2 -2
- package/esm/indicators/slow-stochastic.src.js +22 -8
- package/esm/indicators/stochastic.js +2 -2
- package/esm/indicators/stochastic.src.js +22 -8
- package/esm/indicators/supertrend.js +2 -2
- package/esm/indicators/supertrend.src.js +22 -8
- package/esm/indicators/tema.js +2 -2
- package/esm/indicators/tema.src.js +22 -8
- package/esm/indicators/trendline.js +2 -2
- package/esm/indicators/trendline.src.js +22 -8
- package/esm/indicators/trix.js +2 -2
- package/esm/indicators/trix.src.js +22 -8
- package/esm/indicators/volume-by-price.js +2 -2
- package/esm/indicators/volume-by-price.src.js +23 -10
- package/esm/indicators/vwap.js +2 -2
- package/esm/indicators/vwap.src.js +22 -8
- package/esm/indicators/williams-r.js +2 -2
- package/esm/indicators/williams-r.src.js +22 -8
- package/esm/indicators/wma.js +2 -2
- package/esm/indicators/wma.src.js +22 -8
- package/esm/indicators/zigzag.js +2 -2
- package/esm/indicators/zigzag.src.js +22 -8
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +564 -92
- package/esm/modules/annotations-advanced.js +11 -11
- package/esm/modules/annotations-advanced.src.js +224 -162
- package/esm/modules/annotations.js +11 -11
- package/esm/modules/annotations.src.js +184 -144
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +37 -22
- package/esm/modules/arrow-symbols.js +3 -3
- package/esm/modules/arrow-symbols.src.js +22 -8
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +60 -30
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +72 -29
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +27 -12
- package/esm/modules/bullet.js +2 -2
- package/esm/modules/bullet.src.js +38 -17
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +47 -21
- package/esm/modules/contour.js +3 -3
- package/esm/modules/contour.src.js +46 -13
- package/esm/modules/current-date-indicator.js +2 -2
- package/esm/modules/current-date-indicator.src.js +22 -8
- package/esm/modules/cylinder.js +2 -2
- package/esm/modules/cylinder.src.js +46 -28
- package/esm/modules/data-sorting.js +2 -2
- package/esm/modules/data-sorting.src.js +22 -8
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +44 -13
- package/esm/modules/data.js +4 -4
- package/esm/modules/data.src.js +23 -9
- package/esm/modules/datagrouping.js +2 -2
- package/esm/modules/datagrouping.src.js +28 -13
- package/esm/modules/debugger.js +2 -2
- package/esm/modules/debugger.src.js +22 -8
- package/esm/modules/dependency-wheel.js +2 -2
- package/esm/modules/dependency-wheel.src.js +428 -17
- package/esm/modules/dotplot.js +2 -2
- package/esm/modules/dotplot.src.js +27 -11
- package/esm/modules/drag-panes.js +2 -2
- package/esm/modules/drag-panes.src.js +22 -8
- package/esm/modules/draggable-points.js +2 -2
- package/esm/modules/draggable-points.src.js +24 -12
- package/esm/modules/drilldown.js +2 -2
- package/esm/modules/drilldown.src.js +38 -25
- package/esm/modules/dumbbell.js +2 -2
- package/esm/modules/dumbbell.src.js +72 -27
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +42 -23
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +83 -37
- package/esm/modules/flowmap.js +3 -2
- package/esm/modules/flowmap.src.js +43 -18
- package/esm/modules/full-screen.js +2 -2
- package/esm/modules/full-screen.src.js +22 -8
- package/esm/modules/funnel.js +2 -2
- package/esm/modules/funnel.src.js +73 -42
- package/esm/modules/funnel3d.js +2 -2
- package/esm/modules/funnel3d.src.js +35 -20
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +542 -100
- package/esm/modules/geoheatmap.js +2 -2
- package/esm/modules/geoheatmap.src.js +35 -21
- package/esm/modules/grid-axis.js +2 -2
- package/esm/modules/grid-axis.src.js +33 -12
- package/esm/modules/heatmap.js +2 -2
- package/esm/modules/heatmap.src.js +50 -33
- package/esm/modules/heikinashi.js +2 -2
- package/esm/modules/heikinashi.src.js +22 -8
- package/esm/modules/histogram-bellcurve.js +2 -2
- package/esm/modules/histogram-bellcurve.src.js +56 -25
- package/esm/modules/hollowcandlestick.js +2 -2
- package/esm/modules/hollowcandlestick.src.js +31 -17
- package/esm/modules/item-series.js +2 -2
- package/esm/modules/item-series.src.js +72 -13
- package/esm/modules/lollipop.js +2 -2
- package/esm/modules/lollipop.src.js +22 -8
- package/esm/modules/map.js +2 -2
- package/esm/modules/map.src.js +148 -91
- package/esm/modules/marker-clusters.js +2 -2
- package/esm/modules/marker-clusters.src.js +25 -13
- package/esm/modules/mouse-wheel-zoom.js +2 -2
- package/esm/modules/mouse-wheel-zoom.src.js +54 -13
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +534 -74
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +87 -46
- package/esm/modules/no-data-to-display.js +2 -2
- package/esm/modules/no-data-to-display.src.js +22 -8
- package/esm/modules/non-cartesian-zoom.js +2 -2
- package/esm/modules/non-cartesian-zoom.src.js +22 -8
- package/esm/modules/offline-exporting.js +2 -2
- package/esm/modules/offline-exporting.src.js +53 -12
- package/esm/modules/organization.js +4 -2
- package/esm/modules/organization.src.js +63 -19
- package/esm/modules/parallel-coordinates.js +2 -2
- package/esm/modules/parallel-coordinates.src.js +26 -9
- package/esm/modules/pareto.js +2 -2
- package/esm/modules/pareto.src.js +31 -16
- package/esm/modules/pathfinder.js +2 -2
- package/esm/modules/pathfinder.src.js +28 -13
- package/esm/modules/pattern-fill.js +2 -2
- package/esm/modules/pattern-fill.src.js +28 -12
- package/esm/modules/pictorial.js +2 -2
- package/esm/modules/pictorial.src.js +36 -19
- package/esm/modules/pointandfigure.js +2 -2
- package/esm/modules/pointandfigure.src.js +26 -11
- package/esm/modules/price-indicator.js +2 -2
- package/esm/modules/price-indicator.src.js +26 -11
- package/esm/modules/pyramid3d.js +2 -2
- package/esm/modules/pyramid3d.src.js +22 -8
- package/esm/modules/renko.js +2 -2
- package/esm/modules/renko.src.js +22 -8
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +59 -31
- package/esm/modules/series-label.js +2 -2
- package/esm/modules/series-label.src.js +31 -18
- package/esm/modules/series-on-point.js +2 -2
- package/esm/modules/series-on-point.src.js +23 -9
- package/esm/modules/solid-gauge.js +2 -2
- package/esm/modules/solid-gauge.src.js +40 -20
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +45 -30
- package/esm/modules/static-scale.js +2 -2
- package/esm/modules/static-scale.src.js +22 -8
- package/esm/modules/stock-tools.js +3 -3
- package/esm/modules/stock-tools.src.js +73 -27
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +554 -122
- package/esm/modules/streamgraph.js +2 -2
- package/esm/modules/streamgraph.src.js +22 -8
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +110 -45
- package/esm/modules/textpath.js +2 -2
- package/esm/modules/textpath.src.js +22 -8
- package/esm/modules/tiledwebmap.js +3 -3
- package/esm/modules/tiledwebmap.src.js +44 -19
- package/esm/modules/tilemap.js +2 -2
- package/esm/modules/tilemap.src.js +27 -12
- package/esm/modules/timeline.js +2 -2
- package/esm/modules/timeline.src.js +35 -14
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +59 -27
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +58 -27
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +89 -36
- package/esm/modules/variable-pie.js +2 -2
- package/esm/modules/variable-pie.src.js +30 -13
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +23 -9
- package/esm/modules/vector.js +2 -2
- package/esm/modules/vector.src.js +28 -16
- package/esm/modules/venn.js +2 -2
- package/esm/modules/venn.src.js +28 -13
- package/esm/modules/windbarb.js +2 -2
- package/esm/modules/windbarb.src.js +29 -17
- package/esm/modules/wordcloud.js +2 -2
- package/esm/modules/wordcloud.src.js +25 -9
- package/esm/modules/xrange.js +2 -2
- package/esm/modules/xrange.src.js +29 -15
- package/esm/standalone-navigator.js +5 -5
- package/esm/standalone-navigator.src.js +808 -570
- package/esm/themes/adaptive.js +3 -3
- package/esm/themes/adaptive.src.js +22 -8
- package/esm/themes/avocado.js +2 -2
- package/esm/themes/avocado.src.js +22 -8
- package/esm/themes/dark-unica.js +2 -2
- package/esm/themes/dark-unica.src.js +22 -8
- package/esm/themes/grid-light.js +2 -2
- package/esm/themes/grid-light.src.js +22 -8
- package/esm/themes/high-contrast.js +2 -2
- package/esm/themes/high-contrast.src.js +22 -8
- package/esm/themes/sand-signika.js +2 -2
- package/esm/themes/sand-signika.src.js +22 -8
- package/esm/themes/sunset.js +2 -2
- package/esm/themes/sunset.src.js +22 -8
- package/highcharts-3d.js +2 -2
- package/highcharts-3d.src.js +116 -92
- package/highcharts-autoload.d.ts +15 -5
- package/highcharts-autoload.js +4 -4
- package/highcharts-autoload.src.d.ts +15 -5
- package/highcharts-autoload.src.js +724 -499
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +851 -590
- package/highcharts-more.d.ts +7 -3
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.d.ts +7 -3
- package/highcharts-more.src.js +1313 -1095
- package/highcharts.d.ts +34795 -25647
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +34795 -25647
- package/highcharts.src.js +723 -498
- package/highmaps.js +4 -4
- package/highmaps.src.js +863 -583
- package/highstock.js +4 -4
- package/highstock.src.js +899 -619
- package/i18n/fr-FR.js +2 -2
- package/i18n/fr-FR.src.js +32 -16
- package/i18n/nb-NO.js +2 -2
- package/i18n/nb-NO.src.js +32 -16
- package/i18n/zh-CN.js +2 -2
- package/i18n/zh-CN.src.js +32 -16
- package/indicators/acceleration-bands.js +2 -2
- package/indicators/acceleration-bands.src.js +31 -16
- package/indicators/accumulation-distribution.js +2 -2
- package/indicators/accumulation-distribution.src.js +31 -16
- package/indicators/ao.js +2 -2
- package/indicators/ao.src.js +31 -16
- package/indicators/apo.js +2 -2
- package/indicators/apo.src.js +31 -16
- package/indicators/aroon-oscillator.js +2 -2
- package/indicators/aroon-oscillator.src.js +31 -16
- package/indicators/aroon.js +2 -2
- package/indicators/aroon.src.js +33 -18
- package/indicators/atr.js +2 -2
- package/indicators/atr.src.js +31 -16
- package/indicators/bollinger-bands.js +2 -2
- package/indicators/bollinger-bands.src.js +31 -16
- package/indicators/cci.js +2 -2
- package/indicators/cci.src.js +31 -16
- package/indicators/chaikin.js +2 -2
- package/indicators/chaikin.src.js +31 -16
- package/indicators/cmf.js +2 -2
- package/indicators/cmf.src.js +31 -16
- package/indicators/cmo.js +2 -2
- package/indicators/cmo.src.js +31 -16
- package/indicators/dema.js +2 -2
- package/indicators/dema.src.js +31 -16
- package/indicators/disparity-index.js +2 -2
- package/indicators/disparity-index.src.js +31 -16
- package/indicators/dmi.js +2 -2
- package/indicators/dmi.src.js +31 -16
- package/indicators/dpo.js +2 -2
- package/indicators/dpo.src.js +34 -18
- package/indicators/ichimoku-kinko-hyo.js +2 -2
- package/indicators/ichimoku-kinko-hyo.src.js +41 -26
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +52 -37
- package/indicators/indicators.js +2 -2
- package/indicators/indicators.src.js +39 -24
- package/indicators/keltner-channels.js +2 -2
- package/indicators/keltner-channels.src.js +31 -16
- package/indicators/klinger.js +2 -2
- package/indicators/klinger.src.js +31 -16
- package/indicators/macd.js +2 -2
- package/indicators/macd.src.js +31 -16
- package/indicators/mfi.js +2 -2
- package/indicators/mfi.src.js +31 -16
- package/indicators/momentum.js +2 -2
- package/indicators/momentum.src.js +31 -16
- package/indicators/natr.js +2 -2
- package/indicators/natr.src.js +31 -16
- package/indicators/obv.js +2 -2
- package/indicators/obv.src.js +31 -16
- package/indicators/pivot-points.js +2 -2
- package/indicators/pivot-points.src.js +31 -16
- package/indicators/ppo.js +2 -2
- package/indicators/ppo.src.js +31 -16
- package/indicators/price-channel.js +2 -2
- package/indicators/price-channel.src.js +31 -16
- package/indicators/price-envelopes.js +2 -2
- package/indicators/price-envelopes.src.js +31 -16
- package/indicators/psar.js +2 -2
- package/indicators/psar.src.js +31 -16
- package/indicators/regressions.js +2 -2
- package/indicators/regressions.src.js +31 -16
- package/indicators/roc.js +2 -2
- package/indicators/roc.src.js +31 -16
- package/indicators/rsi.js +2 -2
- package/indicators/rsi.src.js +32 -17
- package/indicators/slow-stochastic.js +2 -2
- package/indicators/slow-stochastic.src.js +31 -16
- package/indicators/stochastic.js +2 -2
- package/indicators/stochastic.src.js +31 -16
- package/indicators/supertrend.js +2 -2
- package/indicators/supertrend.src.js +31 -16
- package/indicators/tema.js +2 -2
- package/indicators/tema.src.js +31 -16
- package/indicators/trendline.js +2 -2
- package/indicators/trendline.src.js +31 -16
- package/indicators/trix.js +2 -2
- package/indicators/trix.src.js +31 -16
- package/indicators/volume-by-price.js +2 -2
- package/indicators/volume-by-price.src.js +32 -18
- package/indicators/vwap.js +2 -2
- package/indicators/vwap.src.js +31 -16
- package/indicators/williams-r.js +2 -2
- package/indicators/williams-r.src.js +31 -16
- package/indicators/wma.js +2 -2
- package/indicators/wma.src.js +31 -16
- package/indicators/zigzag.js +2 -2
- package/indicators/zigzag.src.js +31 -16
- package/modules/accessibility.d.ts +47 -0
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +47 -0
- package/modules/accessibility.src.js +603 -130
- package/modules/annotations-advanced.js +11 -11
- package/modules/annotations-advanced.src.js +246 -183
- package/modules/annotations.js +11 -11
- package/modules/annotations.src.js +206 -165
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +58 -42
- package/modules/arrow-symbols.js +2 -2
- package/modules/arrow-symbols.src.js +28 -13
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +69 -38
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +81 -37
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +36 -20
- package/modules/bullet.js +2 -2
- package/modules/bullet.src.js +50 -28
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +65 -38
- package/modules/contour.js +5 -5
- package/modules/contour.src.js +91 -44
- package/modules/current-date-indicator.js +2 -2
- package/modules/current-date-indicator.src.js +28 -13
- package/modules/cylinder.js +2 -2
- package/modules/cylinder.src.js +67 -48
- package/modules/data-sorting.js +2 -2
- package/modules/data-sorting.src.js +28 -13
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +50 -18
- package/modules/data.js +2 -2
- package/modules/data.src.js +50 -35
- package/modules/datagrouping.js +2 -2
- package/modules/datagrouping.src.js +42 -26
- package/modules/debugger.js +2 -2
- package/modules/debugger.src.js +28 -13
- package/modules/dependency-wheel.d.ts +7 -1
- package/modules/dependency-wheel.js +2 -2
- package/modules/dependency-wheel.src.d.ts +7 -1
- package/modules/dependency-wheel.src.js +440 -28
- package/modules/dotplot.js +2 -2
- package/modules/dotplot.src.js +36 -19
- package/modules/drag-panes.js +2 -2
- package/modules/drag-panes.src.js +28 -13
- package/modules/draggable-points.js +2 -2
- package/modules/draggable-points.src.js +30 -17
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +49 -35
- package/modules/dumbbell.js +2 -2
- package/modules/dumbbell.src.js +86 -40
- package/modules/export-data.d.ts +66 -1
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.d.ts +66 -1
- package/modules/export-data.src.js +56 -36
- package/modules/exporting.d.ts +0 -103
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.d.ts +0 -103
- package/modules/exporting.src.js +97 -50
- package/modules/flowmap.js +3 -2
- package/modules/flowmap.src.js +52 -26
- package/modules/full-screen.js +2 -2
- package/modules/full-screen.src.js +31 -16
- package/modules/funnel.d.ts +3 -3
- package/modules/funnel.js +2 -2
- package/modules/funnel.src.d.ts +3 -3
- package/modules/funnel.src.js +82 -50
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.src.js +56 -40
- package/modules/gantt.d.ts +47 -0
- package/modules/gantt.js +8 -8
- package/modules/gantt.src.d.ts +47 -0
- package/modules/gantt.src.js +602 -156
- package/modules/geoheatmap.d.ts +13 -12
- package/modules/geoheatmap.js +2 -2
- package/modules/geoheatmap.src.d.ts +13 -12
- package/modules/geoheatmap.src.js +44 -29
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +42 -20
- package/modules/heatmap.d.ts +0 -12
- package/modules/heatmap.js +4 -4
- package/modules/heatmap.src.d.ts +0 -12
- package/modules/heatmap.src.js +102 -71
- package/modules/heikinashi.js +2 -2
- package/modules/heikinashi.src.js +31 -16
- package/modules/histogram-bellcurve.js +2 -2
- package/modules/histogram-bellcurve.src.js +70 -38
- package/modules/hollowcandlestick.js +2 -2
- package/modules/hollowcandlestick.src.js +45 -30
- package/modules/item-series.js +2 -2
- package/modules/item-series.src.js +81 -21
- package/modules/lollipop.js +2 -2
- package/modules/lollipop.src.js +36 -21
- package/modules/map.d.ts +0 -20
- package/modules/map.js +4 -4
- package/modules/map.src.d.ts +0 -20
- package/modules/map.src.js +212 -140
- package/modules/marker-clusters.js +2 -2
- package/modules/marker-clusters.src.js +31 -18
- package/modules/mouse-wheel-zoom.js +2 -2
- package/modules/mouse-wheel-zoom.src.js +60 -18
- package/modules/navigator.d.ts +47 -0
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.d.ts +47 -0
- package/modules/navigator.src.js +556 -95
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +99 -57
- package/modules/no-data-to-display.js +2 -2
- package/modules/no-data-to-display.src.js +31 -16
- package/modules/non-cartesian-zoom.js +2 -2
- package/modules/non-cartesian-zoom.src.js +28 -13
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +67 -25
- package/modules/organization.js +4 -2
- package/modules/organization.src.js +75 -30
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.src.js +37 -19
- package/modules/pareto.js +2 -2
- package/modules/pareto.src.js +45 -29
- package/modules/pathfinder.js +2 -2
- package/modules/pathfinder.src.js +37 -21
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.src.js +34 -17
- package/modules/pictorial.js +2 -2
- package/modules/pictorial.src.js +62 -43
- package/modules/pointandfigure.js +2 -2
- package/modules/pointandfigure.src.js +35 -19
- package/modules/price-indicator.js +2 -2
- package/modules/price-indicator.src.js +32 -16
- package/modules/pyramid3d.js +2 -2
- package/modules/pyramid3d.src.js +31 -16
- package/modules/renko.js +2 -2
- package/modules/renko.src.js +34 -19
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +80 -51
- package/modules/series-label.js +2 -2
- package/modules/series-label.src.js +42 -28
- package/modules/series-on-point.js +2 -2
- package/modules/series-on-point.src.js +40 -25
- package/modules/solid-gauge.d.ts +3 -3
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.src.d.ts +3 -3
- package/modules/solid-gauge.src.js +54 -33
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +56 -40
- package/modules/static-scale.js +2 -2
- package/modules/static-scale.src.js +28 -13
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +90 -43
- package/modules/stock.d.ts +47 -0
- package/modules/stock.js +6 -6
- package/modules/stock.src.d.ts +47 -0
- package/modules/stock.src.js +650 -185
- package/modules/streamgraph.js +2 -2
- package/modules/streamgraph.src.js +31 -16
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +137 -71
- package/modules/textpath.js +2 -2
- package/modules/textpath.src.js +28 -13
- package/modules/tiledwebmap.js +3 -3
- package/modules/tiledwebmap.src.js +65 -32
- package/modules/tilemap.js +2 -2
- package/modules/tilemap.src.js +41 -25
- package/modules/timeline.js +2 -2
- package/modules/timeline.src.js +47 -25
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +83 -50
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +76 -44
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +116 -62
- package/modules/variable-pie.js +2 -2
- package/modules/variable-pie.src.js +39 -21
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +32 -17
- package/modules/vector.js +2 -2
- package/modules/vector.src.js +37 -24
- package/modules/venn.js +2 -2
- package/modules/venn.src.js +42 -26
- package/modules/windbarb.js +2 -2
- package/modules/windbarb.src.js +51 -38
- package/modules/wordcloud.js +2 -2
- package/modules/wordcloud.src.js +34 -17
- package/modules/xrange.js +2 -2
- package/modules/xrange.src.js +43 -28
- package/options/abands.d.ts +722 -83
- package/options/abands.src.d.ts +722 -83
- package/options/ad.d.ts +381 -26
- package/options/ad.src.d.ts +381 -26
- package/options/ao.d.ts +744 -70
- package/options/ao.src.d.ts +744 -70
- package/options/apo.d.ts +381 -26
- package/options/apo.src.d.ts +381 -26
- package/options/arcdiagram.d.ts +80 -534
- package/options/arcdiagram.src.d.ts +80 -534
- package/options/area.d.ts +432 -129
- package/options/area.src.d.ts +432 -129
- package/options/arearange.d.ts +46 -4
- package/options/arearange.src.d.ts +46 -4
- package/options/areaspline.d.ts +141 -866
- package/options/areaspline.src.d.ts +141 -866
- package/options/areasplinerange.d.ts +221 -871
- package/options/areasplinerange.src.d.ts +221 -871
- package/options/aroon.d.ts +432 -124
- package/options/aroon.src.d.ts +432 -124
- package/options/aroonoscillator.d.ts +127 -689
- package/options/aroonoscillator.src.d.ts +127 -689
- package/options/atr.d.ts +381 -71
- package/options/atr.src.d.ts +381 -71
- package/options/bar.d.ts +103 -12
- package/options/bar.src.d.ts +103 -12
- package/options/bb.d.ts +87 -762
- package/options/bb.src.d.ts +87 -762
- package/options/bellcurve.d.ts +87 -364
- package/options/bellcurve.src.d.ts +87 -364
- package/options/boxplot.d.ts +82 -13
- package/options/boxplot.src.d.ts +82 -13
- package/options/bubble.d.ts +83 -874
- package/options/bubble.src.d.ts +83 -874
- package/options/bullet.d.ts +354 -717
- package/options/bullet.src.d.ts +354 -717
- package/options/candlestick.d.ts +99 -1214
- package/options/candlestick.src.d.ts +99 -1214
- package/options/cci.d.ts +381 -26
- package/options/cci.src.d.ts +381 -26
- package/options/chaikin.d.ts +728 -83
- package/options/chaikin.src.d.ts +728 -83
- package/options/cmf.d.ts +381 -26
- package/options/cmf.src.d.ts +381 -26
- package/options/cmo.d.ts +730 -79
- package/options/cmo.src.d.ts +730 -79
- package/options/column.d.ts +1265 -99
- package/options/column.src.d.ts +1265 -99
- package/options/columnpyramid.d.ts +102 -1158
- package/options/columnpyramid.src.d.ts +102 -1158
- package/options/columnrange.d.ts +952 -95
- package/options/columnrange.src.d.ts +952 -95
- package/options/contour.d.ts +31 -443
- package/options/contour.src.d.ts +31 -443
- package/options/cylinder.d.ts +100 -12
- package/options/cylinder.src.d.ts +100 -12
- package/options/dema.d.ts +80 -736
- package/options/dema.src.d.ts +80 -736
- package/options/dependencywheel.d.ts +599 -218
- package/options/dependencywheel.src.d.ts +599 -218
- package/options/disparityindex.d.ts +84 -365
- package/options/disparityindex.src.d.ts +84 -365
- package/options/dmi.d.ts +86 -775
- package/options/dmi.src.d.ts +86 -775
- package/options/dpo.d.ts +83 -365
- package/options/dpo.src.d.ts +83 -365
- package/options/dumbbell.d.ts +27 -4
- package/options/dumbbell.src.d.ts +27 -4
- package/options/ema.d.ts +81 -703
- package/options/ema.src.d.ts +81 -703
- package/options/errorbar.d.ts +91 -1161
- package/options/errorbar.src.d.ts +91 -1161
- package/options/flags.d.ts +98 -1192
- package/options/flags.src.d.ts +98 -1192
- package/options/flowmap.d.ts +48 -373
- package/options/flowmap.src.d.ts +48 -373
- package/options/funnel.d.ts +40 -3
- package/options/funnel.src.d.ts +40 -3
- package/options/gantt.d.ts +37 -40
- package/options/gantt.src.d.ts +37 -40
- package/options/gauge.d.ts +398 -472
- package/options/gauge.src.d.ts +398 -472
- package/options/geoheatmap.d.ts +462 -63
- package/options/geoheatmap.src.d.ts +462 -63
- package/options/heatmap.d.ts +31 -380
- package/options/heatmap.src.d.ts +31 -380
- package/options/heikinashi.d.ts +20 -2
- package/options/heikinashi.src.d.ts +20 -2
- package/options/hlc.d.ts +20 -2
- package/options/hlc.src.d.ts +20 -2
- package/options/ikh.d.ts +750 -103
- package/options/ikh.src.d.ts +750 -103
- package/options/item.d.ts +34 -74
- package/options/item.src.d.ts +34 -74
- package/options/keltnerchannels.d.ts +87 -708
- package/options/keltnerchannels.src.d.ts +87 -708
- package/options/klinger.d.ts +34 -365
- package/options/klinger.src.d.ts +34 -365
- package/options/line.d.ts +151 -851
- package/options/line.src.d.ts +151 -851
- package/options/linearregression.d.ts +960 -85
- package/options/linearregression.src.d.ts +960 -85
- package/options/linearregressionangle.d.ts +96 -699
- package/options/linearregressionangle.src.d.ts +96 -699
- package/options/linearregressionintercept.d.ts +381 -26
- package/options/linearregressionintercept.src.d.ts +381 -26
- package/options/linearregressionslope.d.ts +381 -26
- package/options/linearregressionslope.src.d.ts +381 -26
- package/options/lollipop.d.ts +214 -851
- package/options/lollipop.src.d.ts +214 -851
- package/options/macd.d.ts +386 -83
- package/options/macd.src.d.ts +386 -83
- package/options/map.d.ts +470 -36
- package/options/map.src.d.ts +470 -36
- package/options/mapbubble.d.ts +43 -532
- package/options/mapbubble.src.d.ts +43 -532
- package/options/mapline.d.ts +135 -58
- package/options/mapline.src.d.ts +135 -58
- package/options/mappoint.d.ts +205 -283
- package/options/mappoint.src.d.ts +205 -283
- package/options/mfi.d.ts +772 -82
- package/options/mfi.src.d.ts +772 -82
- package/options/momentum.d.ts +381 -71
- package/options/momentum.src.d.ts +381 -71
- package/options/natr.d.ts +776 -75
- package/options/natr.src.d.ts +776 -75
- package/options/networkgraph.d.ts +184 -207
- package/options/networkgraph.src.d.ts +184 -207
- package/options/obv.d.ts +426 -26
- package/options/obv.src.d.ts +426 -26
- package/options/ohlc.d.ts +77 -14
- package/options/ohlc.src.d.ts +77 -14
- package/options/packedbubble.d.ts +76 -696
- package/options/packedbubble.src.d.ts +76 -696
- package/options/pareto.d.ts +28 -364
- package/options/pareto.src.d.ts +28 -364
- package/options/pc.d.ts +724 -85
- package/options/pc.src.d.ts +724 -85
- package/options/pictorial.d.ts +1093 -58
- package/options/pictorial.src.d.ts +1093 -58
- package/options/pie.d.ts +595 -129
- package/options/pie.src.d.ts +595 -129
- package/options/pivotpoints.d.ts +34 -365
- package/options/pivotpoints.src.d.ts +34 -365
- package/options/pointandfigure.d.ts +10 -50
- package/options/pointandfigure.src.d.ts +10 -50
- package/options/polygon.d.ts +803 -74
- package/options/polygon.src.d.ts +803 -74
- package/options/ppo.d.ts +34 -365
- package/options/ppo.src.d.ts +34 -365
- package/options/priceenvelopes.d.ts +93 -719
- package/options/priceenvelopes.src.d.ts +93 -719
- package/options/psar.d.ts +34 -365
- package/options/psar.src.d.ts +34 -365
- package/options/pyramid.d.ts +35 -3
- package/options/pyramid.src.d.ts +35 -3
- package/options/renko.d.ts +25 -2
- package/options/renko.src.d.ts +25 -2
- package/options/roc.d.ts +78 -712
- package/options/roc.src.d.ts +78 -712
- package/options/rsi.d.ts +34 -365
- package/options/rsi.src.d.ts +34 -365
- package/options/sankey.d.ts +27 -5
- package/options/sankey.src.d.ts +27 -5
- package/options/scatter.d.ts +896 -290
- package/options/scatter.src.d.ts +896 -290
- package/options/series.d.ts +938 -83
- package/options/series.src.d.ts +938 -83
- package/options/slowstochastic.d.ts +381 -26
- package/options/slowstochastic.src.d.ts +381 -26
- package/options/sma.d.ts +729 -79
- package/options/sma.src.d.ts +729 -79
- package/options/solidgauge.d.ts +882 -105
- package/options/solidgauge.src.d.ts +882 -105
- package/options/spline.d.ts +389 -90
- package/options/spline.src.d.ts +389 -90
- package/options/stochastic.d.ts +83 -716
- package/options/stochastic.src.d.ts +83 -716
- package/options/streamgraph.d.ts +97 -364
- package/options/streamgraph.src.d.ts +97 -364
- package/options/sunburst.d.ts +87 -19
- package/options/sunburst.src.d.ts +87 -19
- package/options/supertrend.d.ts +77 -749
- package/options/supertrend.src.d.ts +77 -749
- package/options/tema.d.ts +83 -365
- package/options/tema.src.d.ts +83 -365
- package/options/tiledwebmap.d.ts +13 -72
- package/options/tiledwebmap.src.d.ts +13 -72
- package/options/tilemap.d.ts +372 -533
- package/options/tilemap.src.d.ts +372 -533
- package/options/timeline.d.ts +49 -154
- package/options/timeline.src.d.ts +49 -154
- package/options/treegraph.d.ts +174 -696
- package/options/treegraph.src.d.ts +174 -696
- package/options/treemap.d.ts +468 -1079
- package/options/treemap.src.d.ts +468 -1079
- package/options/trendline.d.ts +381 -26
- package/options/trendline.src.d.ts +381 -26
- package/options/trix.d.ts +712 -82
- package/options/trix.src.d.ts +712 -82
- package/options/variablepie.d.ts +130 -587
- package/options/variablepie.src.d.ts +130 -587
- package/options/variwide.d.ts +1123 -94
- package/options/variwide.src.d.ts +1123 -94
- package/options/vbp.d.ts +57 -383
- package/options/vbp.src.d.ts +57 -383
- package/options/vector.d.ts +22 -58
- package/options/vector.src.d.ts +22 -58
- package/options/venn.d.ts +32 -78
- package/options/venn.src.d.ts +32 -78
- package/options/vwap.d.ts +122 -703
- package/options/vwap.src.d.ts +122 -703
- package/options/waterfall.d.ts +139 -1150
- package/options/waterfall.src.d.ts +139 -1150
- package/options/williamsr.d.ts +381 -76
- package/options/williamsr.src.d.ts +381 -76
- package/options/windbarb.d.ts +39 -2
- package/options/windbarb.src.d.ts +39 -2
- package/options/wma.d.ts +78 -704
- package/options/wma.src.d.ts +78 -704
- package/options/wordcloud.d.ts +98 -595
- package/options/wordcloud.src.d.ts +98 -595
- package/options/xrange.d.ts +166 -1056
- package/options/xrange.src.d.ts +166 -1056
- package/options/zigzag.d.ts +34 -410
- package/options/zigzag.src.d.ts +34 -410
- package/package.json +1 -1
- package/standalone-navigator.js +4 -4
- package/standalone-navigator.src.js +829 -553
- package/themes/adaptive.js +2 -2
- package/themes/adaptive.src.js +33 -18
- package/themes/avocado.js +2 -2
- package/themes/avocado.src.js +28 -13
- package/themes/dark-unica.js +2 -2
- package/themes/dark-unica.src.js +28 -13
- package/themes/grid-light.js +2 -2
- package/themes/grid-light.src.js +28 -13
- package/themes/high-contrast.js +2 -2
- package/themes/high-contrast.src.js +28 -13
- package/themes/sand-signika.js +2 -2
- package/themes/sand-signika.src.js +28 -13
- package/themes/sunset.js +2 -2
- package/themes/sunset.src.js +28 -13
- package/css/.stylelintrc.json +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module modules/arc-diagram
|
|
5
5
|
* @requires highcharts/modules/sankey
|
|
6
6
|
*
|
|
@@ -26,55 +26,55 @@ return /******/ (() => { // webpackBootstrap
|
|
|
26
26
|
/******/ "use strict";
|
|
27
27
|
/******/ var __webpack_modules__ = ({
|
|
28
28
|
|
|
29
|
-
/***/ 28
|
|
30
|
-
|
|
29
|
+
/***/ 28
|
|
30
|
+
(module) {
|
|
31
31
|
|
|
32
32
|
module.exports = __WEBPACK_EXTERNAL_MODULE__28__;
|
|
33
33
|
|
|
34
|
-
/***/ }
|
|
34
|
+
/***/ },
|
|
35
35
|
|
|
36
|
-
/***/
|
|
37
|
-
|
|
36
|
+
/***/ 540
|
|
37
|
+
(module) {
|
|
38
38
|
|
|
39
|
-
module.exports =
|
|
39
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__540__;
|
|
40
40
|
|
|
41
|
-
/***/ }
|
|
41
|
+
/***/ },
|
|
42
42
|
|
|
43
|
-
/***/
|
|
44
|
-
|
|
43
|
+
/***/ 820
|
|
44
|
+
(module) {
|
|
45
45
|
|
|
46
|
-
module.exports =
|
|
46
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__820__;
|
|
47
47
|
|
|
48
|
-
/***/ }
|
|
48
|
+
/***/ },
|
|
49
49
|
|
|
50
|
-
/***/
|
|
51
|
-
|
|
50
|
+
/***/ 512
|
|
51
|
+
(module) {
|
|
52
52
|
|
|
53
|
-
module.exports =
|
|
53
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__512__;
|
|
54
54
|
|
|
55
|
-
/***/ }
|
|
55
|
+
/***/ },
|
|
56
56
|
|
|
57
|
-
/***/ 944
|
|
58
|
-
|
|
57
|
+
/***/ 944
|
|
58
|
+
(module) {
|
|
59
59
|
|
|
60
60
|
module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
61
61
|
|
|
62
|
-
/***/ }
|
|
62
|
+
/***/ }
|
|
63
63
|
|
|
64
64
|
/******/ });
|
|
65
65
|
/************************************************************************/
|
|
66
66
|
/******/ // The module cache
|
|
67
|
-
/******/
|
|
67
|
+
/******/ const __webpack_module_cache__ = {};
|
|
68
68
|
/******/
|
|
69
69
|
/******/ // The require function
|
|
70
70
|
/******/ function __webpack_require__(moduleId) {
|
|
71
71
|
/******/ // Check if module is in cache
|
|
72
|
-
/******/
|
|
72
|
+
/******/ const cachedModule = __webpack_module_cache__[moduleId];
|
|
73
73
|
/******/ if (cachedModule !== undefined) {
|
|
74
74
|
/******/ return cachedModule.exports;
|
|
75
75
|
/******/ }
|
|
76
76
|
/******/ // Create a new module (and put it into the cache)
|
|
77
|
-
/******/
|
|
77
|
+
/******/ const module = __webpack_module_cache__[moduleId] = {
|
|
78
78
|
/******/ // no module.id needed
|
|
79
79
|
/******/ // no module.loaded needed
|
|
80
80
|
/******/ exports: {}
|
|
@@ -92,7 +92,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
92
92
|
/******/ (() => {
|
|
93
93
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
94
94
|
/******/ __webpack_require__.n = (module) => {
|
|
95
|
-
/******/
|
|
95
|
+
/******/ const getter = module && module.__esModule ?
|
|
96
96
|
/******/ () => (module['default']) :
|
|
97
97
|
/******/ () => (module);
|
|
98
98
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
@@ -102,11 +102,26 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
102
102
|
/******/
|
|
103
103
|
/******/ /* webpack/runtime/define property getters */
|
|
104
104
|
/******/ (() => {
|
|
105
|
-
/******/ // define getter functions for harmony exports
|
|
105
|
+
/******/ // define getter/value functions for harmony exports
|
|
106
106
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
107
|
-
/******/
|
|
108
|
-
/******/
|
|
109
|
-
/******/
|
|
107
|
+
/******/ if(Array.isArray(definition)) {
|
|
108
|
+
/******/ var i = 0;
|
|
109
|
+
/******/ while(i < definition.length) {
|
|
110
|
+
/******/ var key = definition[i++];
|
|
111
|
+
/******/ var binding = definition[i++];
|
|
112
|
+
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
113
|
+
/******/ if(binding === 0) {
|
|
114
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
115
|
+
/******/ } else {
|
|
116
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
117
|
+
/******/ }
|
|
118
|
+
/******/ } else if(binding === 0) { i++; }
|
|
119
|
+
/******/ }
|
|
120
|
+
/******/ } else {
|
|
121
|
+
/******/ for(var key in definition) {
|
|
122
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
123
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
124
|
+
/******/ }
|
|
110
125
|
/******/ }
|
|
111
126
|
/******/ }
|
|
112
127
|
/******/ };
|
|
@@ -118,7 +133,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
118
133
|
/******/ })();
|
|
119
134
|
/******/
|
|
120
135
|
/************************************************************************/
|
|
121
|
-
|
|
136
|
+
let __webpack_exports__ = {};
|
|
122
137
|
|
|
123
138
|
// EXPORTS
|
|
124
139
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -246,13 +261,10 @@ var NodesComposition;
|
|
|
246
261
|
// For use in formats
|
|
247
262
|
node.name = node.name || node.options.id || '';
|
|
248
263
|
// Mass is used in networkgraph:
|
|
249
|
-
node.mass = (
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
this.options.marker && this.options.marker.radius,
|
|
254
|
-
// Default:
|
|
255
|
-
4);
|
|
264
|
+
node.mass = (node.options.mass ??
|
|
265
|
+
(node.options.marker && node.options.marker.radius) ??
|
|
266
|
+
(this.options.marker && this.options.marker.radius) ??
|
|
267
|
+
4);
|
|
256
268
|
return node;
|
|
257
269
|
}
|
|
258
270
|
NodesComposition.createNode = createNode;
|
|
@@ -295,7 +307,9 @@ var NodesComposition;
|
|
|
295
307
|
point.fromNode = nodeLookup[point.from];
|
|
296
308
|
// Point color defaults to the fromNode's color
|
|
297
309
|
if (chart.styledMode) {
|
|
298
|
-
point.colorIndex =
|
|
310
|
+
point.colorIndex =
|
|
311
|
+
point.options.colorIndex ??
|
|
312
|
+
nodeLookup[point.from].colorIndex;
|
|
299
313
|
}
|
|
300
314
|
else {
|
|
301
315
|
point.color =
|
|
@@ -393,7 +407,7 @@ var NodesComposition;
|
|
|
393
407
|
else {
|
|
394
408
|
this.series.options.nodes = [nodeConfig];
|
|
395
409
|
}
|
|
396
|
-
if (
|
|
410
|
+
if (redraw ?? true) {
|
|
397
411
|
this.series.chart.redraw(animation);
|
|
398
412
|
}
|
|
399
413
|
}
|
|
@@ -1359,9 +1373,11 @@ class ArcDiagramSeries extends SankeySeries {
|
|
|
1359
1373
|
* @internal
|
|
1360
1374
|
*/
|
|
1361
1375
|
translateLink(point) {
|
|
1362
|
-
const series = this, fromNode = point.fromNode, toNode = point.toNode, chart = this.chart, translationFactor = series.translationFactor, pointOptions = point.options, seriesOptions = series.options, linkWeight = (
|
|
1363
|
-
|
|
1364
|
-
|
|
1376
|
+
const series = this, fromNode = point.fromNode, toNode = point.toNode, chart = this.chart, translationFactor = series.translationFactor, pointOptions = point.options, seriesOptions = series.options, linkWeight = (pointOptions.linkWeight ??
|
|
1377
|
+
seriesOptions.linkWeight ??
|
|
1378
|
+
Math.max((point.weight || 0) *
|
|
1379
|
+
translationFactor *
|
|
1380
|
+
fromNode.scale, series.options.minLinkWidth || 0)), centeredLinks = point.series.options.centeredLinks, nodeTop = fromNode.nodeY;
|
|
1365
1381
|
const getX = (node, fromOrTo) => {
|
|
1366
1382
|
const linkLeft = ((node.offset(point, fromOrTo) || 0) *
|
|
1367
1383
|
translationFactor);
|
|
@@ -1390,7 +1406,7 @@ class ArcDiagramSeries extends SankeySeries {
|
|
|
1390
1406
|
toX,
|
|
1391
1407
|
toX + linkWeight
|
|
1392
1408
|
];
|
|
1393
|
-
const linkRadius = ((toX + linkWeight - fromX) / Math.abs(toX + linkWeight - fromX)) * (
|
|
1409
|
+
const linkRadius = ((toX + linkWeight - fromX) / Math.abs(toX + linkWeight - fromX)) * (seriesOptions.linkRadius ?? Math.min(Math.abs(toX + linkWeight - fromX) / 2, fromNode.nodeY - Math.abs(linkWeight)));
|
|
1394
1410
|
point.shapeArgs = {
|
|
1395
1411
|
d: [
|
|
1396
1412
|
['M', fromX, bottom],
|
|
@@ -1447,7 +1463,7 @@ class ArcDiagramSeries extends SankeySeries {
|
|
|
1447
1463
|
const series = this, translationFactor = series.translationFactor, chart = series.chart, maxNodesLength = chart.inverted ?
|
|
1448
1464
|
chart.plotWidth : chart.plotHeight, options = series.options, maxRadius = Math.min(chart.plotWidth, chart.plotHeight, maxNodesLength / node.series.nodes.length - this.nodePadding), sum = node.getSum() * (column.sankeyColumn.scale || 0), equalNodes = options.equalNodes, nodeHeight = equalNodes ?
|
|
1449
1465
|
maxRadius :
|
|
1450
|
-
Math.max(sum * translationFactor, this.options.minLinkWidth || 0), lineWidth = options.marker?.lineWidth || 0, nodeOffset = column.sankeyColumn.offset(node, translationFactor), fromNodeLeft = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)((
|
|
1466
|
+
Math.max(sum * translationFactor, this.options.minLinkWidth || 0), lineWidth = options.marker?.lineWidth || 0, nodeOffset = column.sankeyColumn.offset(node, translationFactor), fromNodeLeft = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(((nodeOffset && nodeOffset.absoluteLeft) ?? ((column.sankeyColumn.left(translationFactor) || 0) +
|
|
1451
1467
|
(nodeOffset && nodeOffset.relativeLeft || 0))), lineWidth), markerOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(options.marker, node.options.marker), symbol = markerOptions.symbol, markerRadius = markerOptions.radius, top = parseInt(options.offset ?? '100', 10) *
|
|
1452
1468
|
((chart.inverted ?
|
|
1453
1469
|
chart.plotWidth : chart.plotHeight) - ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(this.colDistance * (node.column || 0) +
|
package/modules/arrow-symbols.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/arrow-symbols
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/function(r
|
|
13
|
+
*/function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/arrow-symbols",["highcharts/highcharts"],function(e){return r(e)}):"object"==typeof exports?exports["highcharts/modules/arrow-symbols"]=r(e._Highcharts):e.Highcharts=r(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";let r;var t={944(r){r.exports=e}};let o={};function n(e){let r=o[e];if(void 0!==r)return r.exports;let a=o[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=e=>{let r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{if(Array.isArray(r))for(var t=0;t<r.length;){var o=r[t++],a=r[t++];n.o(e,o)?0===a&&t++:0===a?Object.defineProperty(e,o,{enumerable:!0,value:r[t++]}):Object.defineProperty(e,o,{enumerable:!0,get:a})}else for(var o in r)n.o(r,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);let a={};n.d(a,{default:()=>h});var l=n(944),i=n.n(l);function f(e,r,t,o){return[["M",e,r+o/2],["L",e+t,r],["L",e,r+o/2],["L",e+t,r+o]]}function s(e,r,t,o){return[["M",e+t,r],["L",e,r+o/2],["L",e+t,r+o],["Z"]]}function u(e,r,t,o){return s(e,r,t/2,o)}(r=i().SVGRenderer.prototype.symbols).arrow=f,r["arrow-filled"]=s,r["arrow-filled-half"]=u,r["arrow-half"]=function(e,r,t,o){return f(e,r,t/2,o)},r["triangle-left"]=s,r["triangle-left-half"]=u;let h=i();return a.default})());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/arrow-symbols
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -26,27 +26,27 @@ return /******/ (() => { // webpackBootstrap
|
|
|
26
26
|
/******/ "use strict";
|
|
27
27
|
/******/ var __webpack_modules__ = ({
|
|
28
28
|
|
|
29
|
-
/***/ 944
|
|
30
|
-
|
|
29
|
+
/***/ 944
|
|
30
|
+
(module) {
|
|
31
31
|
|
|
32
32
|
module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
33
33
|
|
|
34
|
-
/***/ }
|
|
34
|
+
/***/ }
|
|
35
35
|
|
|
36
36
|
/******/ });
|
|
37
37
|
/************************************************************************/
|
|
38
38
|
/******/ // The module cache
|
|
39
|
-
/******/
|
|
39
|
+
/******/ const __webpack_module_cache__ = {};
|
|
40
40
|
/******/
|
|
41
41
|
/******/ // The require function
|
|
42
42
|
/******/ function __webpack_require__(moduleId) {
|
|
43
43
|
/******/ // Check if module is in cache
|
|
44
|
-
/******/
|
|
44
|
+
/******/ const cachedModule = __webpack_module_cache__[moduleId];
|
|
45
45
|
/******/ if (cachedModule !== undefined) {
|
|
46
46
|
/******/ return cachedModule.exports;
|
|
47
47
|
/******/ }
|
|
48
48
|
/******/ // Create a new module (and put it into the cache)
|
|
49
|
-
/******/
|
|
49
|
+
/******/ const module = __webpack_module_cache__[moduleId] = {
|
|
50
50
|
/******/ // no module.id needed
|
|
51
51
|
/******/ // no module.loaded needed
|
|
52
52
|
/******/ exports: {}
|
|
@@ -64,7 +64,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
64
64
|
/******/ (() => {
|
|
65
65
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
66
66
|
/******/ __webpack_require__.n = (module) => {
|
|
67
|
-
/******/
|
|
67
|
+
/******/ const getter = module && module.__esModule ?
|
|
68
68
|
/******/ () => (module['default']) :
|
|
69
69
|
/******/ () => (module);
|
|
70
70
|
/******/ __webpack_require__.d(getter, { a: getter });
|
|
@@ -74,11 +74,26 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
74
74
|
/******/
|
|
75
75
|
/******/ /* webpack/runtime/define property getters */
|
|
76
76
|
/******/ (() => {
|
|
77
|
-
/******/ // define getter functions for harmony exports
|
|
77
|
+
/******/ // define getter/value functions for harmony exports
|
|
78
78
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
79
|
-
/******/
|
|
80
|
-
/******/
|
|
81
|
-
/******/
|
|
79
|
+
/******/ if(Array.isArray(definition)) {
|
|
80
|
+
/******/ var i = 0;
|
|
81
|
+
/******/ while(i < definition.length) {
|
|
82
|
+
/******/ var key = definition[i++];
|
|
83
|
+
/******/ var binding = definition[i++];
|
|
84
|
+
/******/ if(!__webpack_require__.o(exports, key)) {
|
|
85
|
+
/******/ if(binding === 0) {
|
|
86
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
|
|
87
|
+
/******/ } else {
|
|
88
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
|
|
89
|
+
/******/ }
|
|
90
|
+
/******/ } else if(binding === 0) { i++; }
|
|
91
|
+
/******/ }
|
|
92
|
+
/******/ } else {
|
|
93
|
+
/******/ for(var key in definition) {
|
|
94
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
95
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
96
|
+
/******/ }
|
|
82
97
|
/******/ }
|
|
83
98
|
/******/ }
|
|
84
99
|
/******/ };
|
|
@@ -90,7 +105,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
|
|
|
90
105
|
/******/ })();
|
|
91
106
|
/******/
|
|
92
107
|
/************************************************************************/
|
|
93
|
-
|
|
108
|
+
let __webpack_exports__ = {};
|
|
94
109
|
|
|
95
110
|
// EXPORTS
|
|
96
111
|
__webpack_require__.d(__webpack_exports__, {
|
package/modules/boost-canvas.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/boost-canvas
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts/highcharts"],function(t){return e(t,t.Color)}):"object"==typeof exports?exports["highcharts/modules/boost-canvas"]=e(t._Highcharts,t._Highcharts.Color):t.Highcharts=e(t.Highcharts,t.Highcharts.Color)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";let i,s;var r,o={620:t=>{t.exports=e},944:e=>{e.exports=t}},n={};function a(t){var e=n[t];if(void 0!==e)return e.exports;var i=n[t]={exports:{}};return o[t](i,i.exports,a),i.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var l={};a.d(l,{default:()=>tm});var h=a(944),d=a.n(h);let c=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],u={};c.forEach(t=>{u[t]=!0});let{composed:g}=d();function m(t){let e=t.series,i=t.boost=t.boost||{},s=t.options.boost||{},r=(0,h.pick)(s.seriesThreshold,50);if(e.length>=r)return!0;if(1===e.length)return!1;let o=s.allowForce;if(void 0===o){for(let e of(o=!0,t.xAxis))if((0,h.pick)(e.min,-1/0)>(0,h.pick)(e.dataMin,-1/0)||(0,h.pick)(e.max,1/0)<(0,h.pick)(e.dataMax,1/0)){o=!1;break}}if(void 0!==i.forceChartBoost){if(o)return i.forceChartBoost;i.forceChartBoost=void 0}let n=0,a=0,l=0,d;for(let t of e)0!==(d=t.options).boostThreshold&&!1!==t.visible&&"heatmap"!==t.type&&(++a,u[t.type]&&++n,function(...t){let e=-Number.MAX_VALUE;return t.forEach(t=>{if(null!=t&&void 0!==t.length&&t.length>0)return e=t.length,!0}),e}(t.getColumn("x",!0),d.data||[],t.points)>=(d.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===e.length&&l===n||!!i.markerGroup&&n===a&&l===n||l>5),i.forceChartBoost}function p(t){function e(){t.boost&&t.boost.wgl&&m(t)&&t.boost.wgl.render(t)}(0,h.addEvent)(t,"predraw",function(){t.boost=t.boost||{},t.boost.forceChartBoost=void 0,t.boosted=!1,t.axes.some(t=>t.isPanning)||t.boost.clear?.(),t.boost.canvas&&t.boost.wgl&&m(t)&&t.boost.wgl.allocateBuffer(t),t.boost.markerGroup&&t.xAxis&&t.xAxis.length>0&&t.yAxis&&t.yAxis.length>0&&t.boost.markerGroup.translate(t.xAxis[0].pos,t.yAxis[0].pos)}),(0,h.addEvent)(t,"load",e,{order:-1}),(0,h.addEvent)(t,"redraw",e);let i=-1,s=-1;(0,h.addEvent)(t.pointer,"afterGetHoverData",e=>{let r=e.hoverPoint?.series;if(t.boost=t.boost||{},t.boost.markerGroup&&r){let e=t.inverted?r.yAxis:r.xAxis,o=t.inverted?r.xAxis:r.yAxis;(e&&e.pos!==i||o&&o.pos!==s)&&(t.series.forEach(t=>{t.halo?.hide()}),t.boost.markerGroup.translate(e.pos,o.pos),i=e.pos,s=o.pos)}})}let f={compose:function(t,e){return e&&(0,h.pushUnique)(g,"Boost.Chart")&&t.prototype.callbacks.push(p),t},getBoostClipRect:function(t,e){let i=t.navigator,s={x:t.plotLeft,y:t.plotTop,width:t.plotWidth,height:t.plotHeight};if(i&&t.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!t.inverted&&(s.height=i.top+i.height-t.plotTop),e.is){let{xAxis:i,yAxis:r}=e;if(s=t.getClipBox(e),t.inverted){let t=s.width;s.width=s.height,s.height=t,s.x=r.pos,s.y=i.pos}else s.x=i.pos,s.y=r.pos}if(e===t){let e=t.inverted?t.xAxis:t.yAxis;e.length<=1&&(s.y=Math.min(e[0].pos,s.y),s.height=e[0].pos-t.plotTop+e[0].len)}return s},isChartSeriesBoosting:m};var b=a(620),x=a.n(b);let A={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},y=class{constructor(t){if(this.errors=[],this.uLocations={},this.gl=t,t&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let t=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMax;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMax;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isCircle;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkThreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkThreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (!skipTranslation && isCircle && (\naVertexPosition.x < xAxisMin ||\naVertexPosition.x > xAxisMax ||\naVertexPosition.y < yAxisMin ||\naVertexPosition.y > yAxisMax\n)) {\ngl_Position = uPMatrix * vec4(2.0, 2.0, 2.0, 1.0);\n} else if (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),e=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=t=>this.gl.getUniformLocation(this.shaderProgram,t);return t&&e?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,t),this.gl.attachShader(this.shaderProgram,e),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS))?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&(0,h.error)("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(t,e){let i=this.gl.createShader("vertex"===e?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+e+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(t,e,i,s=1){let r=t.options,o=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&t.is("bubble")){let a=t.getPxExtremes();o=(0,h.pick)(r.zMin,(0,h.clamp)(e,!1===r.displayNegative?r.zThreshold:-Number.MAX_VALUE,o)),n=(0,h.pick)(r.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==t.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,t.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*s),this.setUniform("bubbleMaxSize",a.maxPxSize*s),this.setUniform("bubbleZMin",o),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",t.options.zThreshold)}}setColor(t){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,t[0]/255,t[1]/255,t[2]/255,t[3])}setDrawAsCircle(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,+!!t)}setInverted(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,t)}setPMatrix(t){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,t)}setPointSize(t){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,t)}setSkipTranslation(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,+(!0===t))}setTexture(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,t)}setUniform(t,e){if(this.gl&&this.shaderProgram){let i=this.uLocations[t]=this.uLocations[t]||this.gl.getUniformLocation(this.shaderProgram,t);this.gl.uniform1f(i,e)}}},v=class{constructor(t,e,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=t,this.shader=e}allocate(t){this.iterator=-1,this.preAllocated=new Float32Array(4*t)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(t,e,i){let s;return(this.data=t||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),e),this.gl.enableVertexAttribArray(this.vertAttribute),s=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(t,e,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(t,e,i){let s=this.preAllocated?this.preAllocated.length:this.data?.length||0;return!!this.buffer&&!!s&&((!t||t>s||t<0)&&(t=0),(!e||e>s)&&(e=s),!(t>=e)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],t/this.components,(e-t)/this.components),!0))}},{getBoostClipRect:P}=f,{parse:T}=x(),{doc:C,win:k}=d(),E={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},M={scatter:!0,bubble:!0},S=["webgl","experimental-webgl","moz-webgl","webkit-3d"],w={},R=(t,e)=>{if(w[e])return w[e];let i=0===e.indexOf("var(")&&t[e.slice(4,-1).trim()];if(i)return w[e]=i,i;if(0===e.indexOf("color-mix(")){let i=/^color-mix\(in srgb,([a-z0-9\(\)\-\#]+),([a-z0-9\(\)\-\#]+) ([0-9\.%]+)/.exec(e);if(i){let s=parseFloat(i[3])/100,r=R(t,i[1]),o=R(t,i[2]),n=new(x())(r).tweenTo(new(x())(o),s);return w[e]=n,n}}return e};class U{static orthoMatrix(t,e){return[2/t,0,0,0,0,-(2/e),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(t){let e,i,s;return t.boosted?(e=!!t.options.stacking,i=(t.getColumn("x").length?t.getColumn("x"):void 0)||t.options.xData||t.getColumn("x",!0),s=(e?t.data:i||t.options.data).length,"treemap"===t.type?s*=12:"heatmap"===t.type?s*=6:E[t.type]&&(s*=2),s):0}constructor(t){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=t,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||k.devicePixelRatio||1}setOptions(t){"pixelRatio"in t||(t.pixelRatio=1),(0,h.merge)(!0,this.settings,t)}allocateBuffer(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.series.forEach(t=>{t.boosted&&(i+=U.seriesPointCount(t))}),e&&e.allocate(i))}allocateBufferForSingleSeries(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.boosted&&(i=U.seriesPointCount(t)),e&&e.allocate(i))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(t,e){let i=this.data,s=this.settings,r=this.vbuffer,o=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:d,yAxis:c}=t,u=!!a.stacking,g=a.data,m=t.xAxis.getExtremes(),p=m.min-(t.xAxis.minPointOffset||0),f=m.max+(t.xAxis.minPointOffset||0),b=t.yAxis.getExtremes(),A=b.min-(t.yAxis.minPointOffset||0),y=b.max+(t.yAxis.minPointOffset||0),v=(t.getColumn("x").length?t.getColumn("x"):void 0)||a.xData||t.getColumn("x",!0),P=(t.getColumn("y").length?t.getColumn("y"):void 0)||a.yData||t.getColumn("y",!0),C=(t.getColumn("z").length?t.getColumn("z"):void 0)||a.zData||t.getColumn("z",!0),k=!v||0===v.length,{colorByPoint:M,connectNulls:S,threshold:w,zoneAxis:U="y",zones:N}=a,L=t.points||!1,_=u?t.data:v||g,z={x:Number.MAX_VALUE,y:0},D={x:-Number.MAX_VALUE,y:0},G=void 0===n.index,O=E[t.type],I=this.getPixelRatio(),B=n.options.colors||[],V=t.chart.plotWidth,X=!1,F=!1,H,j,Y=0,W=!1,K,q,Z,Q,J=-1,$=!1,tt=!1,te,ti=!1,ts=!1,tr,to=!1,tn=!0,ta=!0,tl=[],th=!1,td=!1,tc=0,tu=0;if(a.boostData&&a.boostData.length>0)return;if(a.gapSize&&(td="value"!==a.gapUnit?a.gapSize*t.closestPointRange:a.gapSize),n.boost){let t=n.renderer.circle(0,0,1).attr({fill:"var(--highcharts-background-color)"}).add(),e=new(x())(getComputedStyle(t.element).getPropertyValue("fill")).get(),i=new(x())(n.palette?.cssVars.dark["--highcharts-background-color"]||"").get();t.destroy(),n.boost.cssVars=n.palette?.cssVars[e===i?"dark":"light"]}let tg=n.boost?.cssVars||{};if(N?.length&&(tl=[],N.forEach((t,e)=>{if("string"==typeof t.color){let i=T(R(tg,t.color)).rgba;i[0]/=255,i[1]/=255,i[2]/=255,tl[e]=i,th||void 0!==t.value||(th=i)}}),!th)){let e=t.pointAttribs&&t.pointAttribs().fill||t.color;th=T("string"==typeof e?R(tg,e):"").rgba,th[0]/=255,th[1]/=255,th[2]/=255}n.inverted&&(V=t.chart.plotHeight),t.closestPointRangePx=Number.MAX_VALUE;let tm=t=>{t&&(e.colorData.push(t[0]),e.colorData.push(t[1]),e.colorData.push(t[2]),e.colorData.push(t[3]))},tp=(t,o,n,a=1,l)=>{tm(l),1!==I&&(!s.useGPUTranslations||e.skipTranslation)&&(t*=I,o*=I,a*=I),s.usePreallocated&&r?(r.push(t,o,+!!n,a),tc+=4):(i.push(t),i.push(o),i.push(n?I:0),i.push(a))},tf=()=>{e.segments.length&&(e.segments[e.segments.length-1].to=i.length||tc)},tb=()=>{e.segments.length&&e.segments[e.segments.length-1].from===(i.length||tc)||(tf(),e.segments.push({from:i.length||tc}))},tx=(t,e,i,s,r)=>{tm(r),tp(t+i,e),tm(r),tp(t,e),tm(r),tp(t,e+s),tm(r),tp(t,e+s),tm(r),tp(t+i,e+s),tm(r),tp(t+i,e)};if(tb(),L&&L.length>0){e.skipTranslation=!0,e.drawMode="TRIANGLES",L[0].node&&L[0].node.levelDynamic&&L.sort((t,e)=>{if(t.node){if(t.node.levelDynamic>e.node.levelDynamic)return 1;if(t.node.levelDynamic<e.node.levelDynamic)return -1}return 0}),L.forEach(e=>{let i,s,r=e.plotY;if(void 0!==r&&!isNaN(r)&&null!==e.y&&e.shapeArgs){let{x:r=0,y:o=0,width:a=0,height:l=0}=e.shapeArgs;i=(s=n.styledMode?e.series.colorAttribs(e):s=e.series.pointAttribs(e))["stroke-width"]||0,"string"==typeof s.fill&&(s.fill=R(tg,s.fill)),tr=T(s.fill).rgba,tr[0]/=255,tr[1]/=255,tr[2]/=255,t.is("treemap")&&(i=i||1,"string"==typeof s.stroke&&(s.stroke=R(tg,s.stroke)),j=T(s.stroke).rgba,j[0]/=255,j[1]/=255,j[2]/=255,tx(r,o,a,l,j),i/=2),t.is("heatmap")&&n.inverted&&(r=d.len-r,o=c.len-o,a=-a,l=-l),tx(r+i,o+i,a-2*i,l-2*i,tr)}}),tf();return}for(;J<_.length-1;){if(void 0===(Z=_[++J]))continue;if(G)break;let i=g&&g[J];if(!k){let e;(0,h.isObject)(i,!0)&&i.color&&(e=T(i.color).rgba);let s=t.options.keys?.indexOf("color");Array.isArray(i)&&s&&"string"==typeof i[s]?e=T(i[s]).rgba:M&&(tu%=B.length,e=T(R(tg,B[tu])).rgba),e&&((tr=e)[0]=e[0]/255,tr[1]=e[1]/255,tr[2]=e[2]/255,tr[3]=e[3]),tu++}if(k?(K=Z[0],q=Z[1],_[J+1]&&(tt=_[J+1][0]),_[J-1]&&($=_[J-1][0]),Z.length>=3&&(Q=Z[2],Z[2]>e.zMax&&(e.zMax=Z[2]),Z[2]<e.zMin&&(e.zMin=Z[2]))):(K=Z,q=P?.[J],_[J+1]&&(tt=_[J+1]),_[J-1]&&($=_[J-1]),C&&C.length&&(Q=C[J],C[J]>e.zMax&&(e.zMax=C[J]),C[J]<e.zMin&&(e.zMin=C[J]))),!S&&(null===K||null===q)){tb();continue}if(tt&&tt>=p&&tt<=f&&(ti=!0),$&&$>=p&&$<=f&&(ts=!0),o?(k&&(q=Z.slice(1,3)),te=t.getColumn("low",!0)?.[J],q=t.getColumn("high",!0)?.[J]||0):u&&(K=Z.x,te=(q=Z.stackY)-Z.y),null!=A&&null!=y&&(tn=q>=A&&q<=y),!l&&!tn||(K>f&&D.x<f&&(D.x=K,D.y=q),K<p&&z.x>p&&(z.x=K,z.y=q),null===q&&S))continue;if(null===q||!tn&&_.length>1&&!ti&&!ts){tb();continue}if((l&&(tt>=p||K>=p)&&($<=f||K<=f)||!l&&K>=p&&K<=f)&&(to=!0),to||ti||ts){if(td&&K-$>td&&tb(),N?.length){let t,e,i="x"===U?K:q;N.some((t,s)=>void 0!==t.value&&i<t.value&&(e=s,!0)),void 0!==e&&tl[e]&&(t=tl[e]),tr=t||th||tr}if(s.useGPUTranslations||(e.skipTranslation=!0,K=d.toPixels(K,!0),q=c.toPixels(q,!0),!(K>V)||"POINTS"!==e.drawMode)){if(e.hasMarkers&&to&&!1!==X&&(t.closestPointRangePx=Math.min(t.closestPointRangePx,Math.abs(K-X))),!s.useGPUTranslations&&!s.usePreallocated&&X&&1>Math.abs(K-X)&&F&&1>Math.abs(q-F)){s.debug.showSkipSummary&&++Y;continue}O&&(H=te||0,(!1===te||void 0===te)&&(H=q<0?q:0),(o||u)&&!c.logarithmic||(H=Math.max(w??A,A)),s.useGPUTranslations||(H=c.toPixels(H,!0)),tp(K,H,!1,0,tr)),a.step&&!ta&&tp(K,F,!1,2,tr),tp(K,q,!1,"bubble"===t.type?Q||1:2,tr),X=K,F=q,W=!0,ta=!1}}}s.debug.showSkipSummary&&console.log("skipped points:",Y);let tA=(t,i)=>{if(s.useGPUTranslations||(e.skipTranslation=!0,t.x=d.toPixels(t.x,!0),t.y=c.toPixels(t.y,!0)),i){this.data=[t.x,t.y,0,2].concat(this.data);return}tp(t.x,t.y,0,2)};!W&&!1!==S&&"line_strip"===t.drawMode&&(z.x<Number.MAX_VALUE&&tA(z,!0),D.x>-Number.MAX_VALUE&&tA(D)),tf()}pushSeries(t){let e=this.markerData,i=this.series,s=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=e.length),s.debug.timeSeriesProcessing&&console.time("building "+t.type+" series");let r={segments:[],markerFrom:e.length,colorData:[],series:t,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!t.options.marker&&!1!==t.options.marker.enabled,showMarkers:!0,drawMode:A[t.type]||"LINE_STRIP"};t.index>=i.length?i.push(r):i[t.index]=r,this.pushSeriesData(t,r),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("xAxisTrans",t.transA*i),e.setUniform("xAxisMin",t.min),e.setUniform("xAxisMax",t.max),e.setUniform("xAxisMinPad",t.minPixelPadding*i),e.setUniform("xAxisPointRange",t.pointRange),e.setUniform("xAxisLen",t.len*i),e.setUniform("xAxisPos",t.pos*i),e.setUniform("xAxisCVSCoord",!t.horiz),e.setUniform("xAxisIsLog",!!t.logarithmic),e.setUniform("xAxisReversed",!!t.reversed)}setYAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("yAxisTrans",t.transA*i),e.setUniform("yAxisMin",t.min),e.setUniform("yAxisMax",t.max),e.setUniform("yAxisMinPad",t.minPixelPadding*i),e.setUniform("yAxisPointRange",t.pointRange),e.setUniform("yAxisLen",t.len*i),e.setUniform("yAxisPos",t.pos*i),e.setUniform("yAxisCVSCoord",!t.horiz),e.setUniform("yAxisIsLog",!!t.logarithmic),e.setUniform("yAxisReversed",!!t.reversed)}setThreshold(t,e){let i=this.shader;i&&(i.setUniform("hasThreshold",t),i.setUniform("translatedThreshold",e))}renderChart(t){let e=this.gl,i=this.settings,s=this.shader,r=this.vbuffer;w={};let o=this.getPixelRatio();if(!t)return!1;this.width=t.chartWidth*o,this.height=t.chartHeight*o;let n=this.height,a=this.width,l=t.options.colors||[];if(!e||!s||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),e.canvas.width=a,e.canvas.height=n,s.bind(),e.viewport(0,0,a,n),s.setPMatrix(U.orthoMatrix(a,n)),i.lineWidth>1&&!d().isMS&&e.lineWidth(i.lineWidth),r&&(r.build(this.data,"aVertexPosition",4),r.bind()),s.setInverted(t.inverted),this.series.forEach((a,d)=>{let c=a.series.options,u=c.marker,g=void 0!==c.lineWidth?c.lineWidth:1,m=c.threshold,p=(0,h.isNumber)(m),f=a.series.yAxis.getThreshold(m),b=(0,h.pick)(c.marker?c.marker.enabled:null,!!a.series.xAxis.isRadial||null,a.series.closestPointRangePx>2*((c.marker?c.marker.radius:10)||10)),A=this.textureHandles[u&&u.symbol||a.series.symbol]||this.textureHandles.circle,y,C,k,E=[];if(0!==a.segments.length&&a.segments[0].from!==a.segments[0].to&&(A.isReady&&(e.bindTexture(e.TEXTURE_2D,A.handle),s.setTexture(A.handle)),t.styledMode?a.series.markerGroup===a.series.chart.boost?.markerGroup?(delete a.series.markerGroup,a.series.markerGroup=a.series.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"),k=a.series.markerGroup.getStyle("fill"),a.series.markerGroup.destroy(),a.series.markerGroup=a.series.chart.boost?.markerGroup):k=a.series.markerGroup?.getStyle("fill"):(k="POINTS"===a.drawMode&&a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,c.colorByPoint&&"string"==typeof l[d]&&(k=l[d])),a.series.fillOpacity&&c.fillOpacity&&k&&(k=new(x())(k).setOpacity((0,h.pick)(c.fillOpacity,1)).get()),"string"==typeof k&&(k=R(t.boost?.cssVars||{},k)),E=T(k).rgba,i.useAlpha||(E[3]=1),"add"===c.boostBlending?(e.blendFunc(e.SRC_ALPHA,e.ONE),e.blendEquation(e.FUNC_ADD)):"mult"===c.boostBlending||"multiply"===c.boostBlending?e.blendFunc(e.DST_COLOR,e.ZERO):"darken"===c.boostBlending?(e.blendFunc(e.ONE,e.ONE),e.blendEquation(e.FUNC_MIN)):e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),s.reset(),a.colorData.length>0?(s.setUniform("hasColor",1),(C=new v(e,s)).build(Array(a.segments[0].from).concat(a.colorData),"aColor",4),C.bind()):(s.setUniform("hasColor",0),e.disableVertexAttribArray(e.getAttribLocation(s.getProgram(),"aColor"))),s.setColor(E),this.setXAxis(a.series.xAxis),this.setYAxis(a.series.yAxis),this.setThreshold(p,f),"POINTS"===a.drawMode&&s.setPointSize(2*(0,h.pick)(c.marker&&c.marker.radius,.5)*o),s.setSkipTranslation(a.skipTranslation),"bubble"===a.series.type&&s.setBubbleUniforms(a.series,a.zMin,a.zMax,o),s.setDrawAsCircle(M[a.series.type]||!1),r)){if(g>0||"LINE_STRIP"!==a.drawMode){let{x:i,y:s,width:l,height:h}=P(t,a.series);for(e.enable(e.SCISSOR_TEST),e.scissor(i*o,n-(s+h)*o,l*o,h*o),y=0;y<a.segments.length;y++)r.render(a.segments[y].from,a.segments[y].to,a.drawMode);e.disable(e.SCISSOR_TEST)}if(a.hasMarkers&&b)for(s.setPointSize(2*(0,h.pick)(c.marker&&c.marker.radius,5)*o),s.setDrawAsCircle(!0),y=0;y<a.segments.length;y++)r.render(a.segments[y].from,a.segments[y].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(t){if(this.clear(),t.renderer.forExport)return this.renderChart(t);this.isInited?this.renderChart(t):setTimeout(()=>{this.render(t)},1)}setSize(t,e){let i=this.shader;i&&(this.width!==t||this.height!==e)&&(this.width=t,this.height=e,i.bind(),i.setPMatrix(U.orthoMatrix(t,e)))}init(t,e){let i=this.settings;if(this.isInited=!1,!t)return!1;i.debug.timeSetup&&console.time("gl setup");for(let e=0;e<S.length&&(this.gl=t.getContext(S[e],{}),!this.gl);++e);let s=this.gl;if(!s)return!1;e||this.flush(),s.enable(s.BLEND),s.blendFunc(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),s.disable(s.DEPTH_TEST),s.depthFunc(s.LESS);let r=this.shader=new y(s);if(!r)return!1;this.vbuffer=new v(s,r);let o=(t,e)=>{let i={isReady:!1,texture:C.createElement("canvas"),handle:s.createTexture()},r=i.texture.getContext("2d");this.textureHandles[t]=i,i.texture.width=512,i.texture.height=512,r.mozImageSmoothingEnabled=!1,r.webkitImageSmoothingEnabled=!1,r.msImageSmoothingEnabled=!1,r.imageSmoothingEnabled=!1,r.strokeStyle="rgba(255, 255, 255, 0)",r.fillStyle="#FFF",e(r);try{s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.handle),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,i.texture),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.bindTexture(s.TEXTURE_2D,null),i.isReady=!0}catch{}};return o("circle",t=>{t.beginPath(),t.arc(256,256,256,0,2*Math.PI),t.stroke(),t.fill()}),o("square",t=>{t.fillRect(0,0,512,512)}),o("diamond",t=>{t.beginPath(),t.moveTo(256,0),t.lineTo(512,256),t.lineTo(256,512),t.lineTo(0,256),t.lineTo(256,0),t.fill()}),o("triangle",t=>{t.beginPath(),t.moveTo(0,512),t.lineTo(256,0),t.lineTo(512,512),t.lineTo(0,512),t.fill()}),o("triangle-down",t=>{t.beginPath(),t.moveTo(0,0),t.lineTo(256,512),t.lineTo(512,0),t.lineTo(0,0),t.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,e=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),e&&e.destroy(),t&&((0,h.objectEach)(this.textureHandles,e=>{e.handle&&t.deleteTexture(e.handle)}),t.canvas.width=1,t.canvas.height=1)}}let{setLength:N,splice:L}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,r=[]){if(Array.isArray(t))return Array.isArray(r)||(r=Array.from(r)),{removed:t.splice(e,i,...r),array:t};let o=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new o(t.length-i+r.length);return a.set(t.subarray(0,e),0),a.set(r,e),a.set(t.subarray(e+i),e+r.length),{removed:n,array:a}}},_=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||(0,h.uniqueKey)(),this.rowCount=0,this.versionTag=(0,h.uniqueKey)();let e=0;(0,h.objectEach)(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,(0,h.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=N(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,h.objectEach)(this.columns,(s,r)=>{this.columns[r]=L(s,t,e).array,i=s.length}),this.rowCount=i}(0,h.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,h.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},s=this.columns;for(let r of(e??(e=Object.keys(this.columns)),e))i[r]=s[r]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;(0,h.objectEach)(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||((0,h.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,h.uniqueKey)())}setRow(t,e=this.rowCount,i,s){var r;let{columns:o}=this,n=i?this.rowCount+1:e+1,a=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=a.length;t<e;t++)o[r=a[t]]||(o[r]=Array(this.rowCount));(0,h.objectEach)(o,(s,r)=>{s&&(i?s=L(s,e,0,!0,[t[r]]).array:s[e]=r in t?t[r]:s[e],o[r]=s)}),this.applyRowCount(Math.max(n,this.rowCount)),s?.silent||((0,h.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,h.uniqueKey)())}getModified(){return this.modified||this}},{getBoostClipRect:z,isChartSeriesBoosting:D}=f,{getOptions:G}=d(),{composed:O,doc:I,noop:B,win:V}=d();function X(t,e){let i=e.boost;t&&i&&i.target&&i.canvas&&!D(e.chart)&&t.allocateBufferForSingleSeries(e)}function F(t){return(0,h.pick)(t&&t.options&&t.options.boost&&t.options.boost.enabled,!0)}function H(t,e){let i=t.constructor,r=t.seriesGroup||e.group,o=t.chartWidth,n=t.chartHeight,a=t,l="u">typeof SVGForeignObjectElement,d=!1;D(t)?a=t:(a=e,d=!!(e.options.events?.click||e.options.point?.events?.click));let c=a.boost=a.boost||{};if(l=!1,s||(s=I.createElement("canvas")),!c.target&&(c.canvas=s,t.renderer.forExport||!l?(a.renderTarget=c.target=t.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(r),c.clear=function(){c.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},c.copy=function(){c.resize(),c.target.attr({href:c.canvas.toDataURL("image/png")})}):(c.targetFo=t.renderer.createElement("foreignObject").add(r),a.renderTarget=c.target=I.createElement("canvas"),c.targetCtx=c.target.getContext("2d"),c.targetFo.element.appendChild(c.target),c.clear=function(){c.target.width=c.canvas.width,c.target.height=c.canvas.height},c.copy=function(){c.target.width=c.canvas.width,c.target.height=c.canvas.height,c.targetCtx.drawImage(c.canvas,0,0)}),c.resize=function(){o=t.chartWidth,n=t.chartHeight,(c.targetFo||c.target).attr({x:0,y:0,width:o,height:n}).css({pointerEvents:d?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(d?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(t.plotLeft,t.plotTop)},c.clipRect=t.renderer.clipRect(),(c.targetFo||c.target).attr({zIndex:e.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(r).translate(e.xAxis.pos,e.yAxis.pos))),c.canvas.width=o,c.canvas.height=n,c.clipRect){let e=z(t,a);c.clipRect.attr(e),t.navigator||e.width!==t.clipBox.width||e.height!==t.clipBox.height?(c.targetFo||c.target).clip(c.clipRect):r?.clip(t.renderer.clipRect(e.x-4,e.y,e.width+4,e.height+4))}return c.resize(),c.clear(),!c.wgl&&(c.wgl=new U(t=>{t.settings.debug.timeBufferCopy&&console.time("buffer copy"),c.copy(),t.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),c.wgl.init(c.canvas)||(0,h.error)("[highcharts boost] - unable to init WebGL renderer"),c.wgl.setOptions(t.options.boost||{}),a instanceof i&&c.wgl.allocateBuffer(t)),c.wgl.setSize(o,n),c.wgl}function j(t){let e=t.points;if(e){let t,i;for(i=0;i<e.length;i+=1)(t=e[i])&&t.destroyElements&&t.destroyElements()}for(let e of(["graph","area","tracker"].forEach(e=>{let i=t[e];i&&(t[e]=i.destroy())}),t.zones))(0,h.destroyObjectProperties)(e,void 0,!0)}function Y(t,e,i,s,r,o){let n=(r=r||0)+(s=s||3e3),a=!0;for(;a&&r<n&&r<t.length;)a=e(t[r],r),++r;a&&(r<t.length?o?Y(t,e,i,s,r,o):V.requestAnimationFrame?V.requestAnimationFrame(function(){Y(t,e,i,s,r)}):setTimeout(Y,0,t,e,i,s,r):i&&i())}function W(t,e){let i=t.options,s=(0,h.pick)(i.boostThreshold,Number.MAX_VALUE);if(0===s)return!1;let r=t.dataTable.getModified().rowCount,o=t.xAxis&&t.xAxis.options,n=t.yAxis&&t.yAxis.options,a=t.colorAxis&&t.colorAxis.options;return r>=s&&(0,h.isNumber)(n?.min)&&(0,h.isNumber)(n?.max)&&(!e||(0,h.isNumber)(o?.min)&&(0,h.isNumber)(o?.max))&&(!a||(0,h.isNumber)(a.min)&&(0,h.isNumber)(a.max))}let K=(t,e)=>{let{options:i,forceCrop:s,chart:r}=t,o=(0,h.pick)(i.boostThreshold,Number.MAX_VALUE);return!s&&0!==o&&(D(r)||(e?.length??0)>=o)};function q(){let t=this,e=t.chart;e.boost&&e.boost.markerGroup===t.markerGroup&&(t.markerGroup=void 0),e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(function(e){return e.series===t})),e.hoverPoint&&e.hoverPoint.series===t&&(e.hoverPoint=void 0)}function Z(){let t=this.boost,e=this.chart.boost,i=e?.markerGroup;t&&t.canvas&&t.target&&(t.wgl&&t.wgl.clear(),t.clear&&t.clear()),i&&this.markerGroup===i&&this.chart.series.some(t=>t.visible&&t.markerGroup===i)&&i.show()}function Q(t){let e=t.boost;e&&e.canvas&&e.target&&e.wgl&&!D(t.chart)&&e.wgl.render(t.chart)}function J(t,e){let i=t.options,s=t.xAxis,r=t.pointClass;if(e instanceof r)return e;let o=i.data,n=t.is("scatter"),a=(n&&t.getColumn("x",!0).length?t.getColumn("x",!0):void 0)||(t.getColumn("x").length?t.getColumn("x"):void 0)||i.xData||t.getColumn("x",!0)||!1,l=t.getColumn("y",!0)||i.yData||!1,d=e.i,c=o?.[d]?.color,u=new r(t,n&&a&&l?[a[d],l[d]]:((0,h.isArray)(o)?o:[])[d],a?a[d]:void 0);if(n&&i?.keys?.length){let t=i.keys;for(let e=t.length-1;e>-1;e--)u[t[e]]=o[d][e]}return u.category=(0,h.pick)(s.categories?s.categories[u.x]:u.x,u.x),u.key=u.name??u.category,u.dist=e.dist,u.distX=e.distX,u.plotX=e.plotX,u.plotY=e.plotY,u.percentage=e.percentage,u.isInside=t.isPointInside(u),c&&(u.color=c),u}function $(t){let{options:e,xAxis:i,yAxis:s}=this;if(!this.isDirty&&!i.isDirty&&!s.isDirty&&!t)return!1;this.yAxis.setTickInterval();let r=e.boostThreshold||0,o=e.cropThreshold,n=this.getColumn("x"),a=i.getExtremes(),l=a.max??Number.MAX_VALUE,d=a.min??-Number.MAX_VALUE,c=this.getColumn("y"),u=s.getExtremes(),g=u.max??Number.MAX_VALUE,m=u.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&s.old&&d>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&m>=(s.old.min??-Number.MAX_VALUE)&&g<=(s.old.max??Number.MAX_VALUE))return this.dataTable.getModified().setColumns({x:n,y:c}),!0;let p=this.dataTable.rowCount;if(!r||p<r||o&&!this.forceCrop&&!this.getExtremesFromAll&&!e.getExtremesFromAll&&p<o)return this.dataTable.getModified().setColumns({x:n,y:c}),!0;let f=[],b=[],x=[],A=!((0,h.isNumber)(a.max)||(0,h.isNumber)(a.min)),y=!((0,h.isNumber)(u.max)||(0,h.isNumber)(u.min)),v=!1,P,T=n[0],C=n[0],k,E=c?.[0],M=c?.[0];for(let t=0,e=n.length;t<e;++t)P=n[t],k=c?.[t],P>=d&&P<=l&&k>=m&&k<=g?(f.push(P),b.push(k),x.push(t),A&&(T=Math.max(T,P),C=Math.min(C,P)),y&&(E=Math.max(E,k),M=Math.min(M,k))):v=!0;return A&&(i.dataMax=Math.max(T,i.dataMax||0),i.dataMin=Math.min(C,i.dataMin||0)),y&&(s.dataMax=Math.max(E,s.dataMax||0),s.dataMin=Math.min(M,s.dataMin||0)),this.cropped=v,this.cropStart=0,v&&!this.dataTable.modified&&(this.dataTable.modified=new _,this.hasProcessedDataTable=!0),this.dataTable.getModified().setColumns({x:f,y:b}),!0}function tt(){let t=this.options||{},e=this.chart,s=e.boost,r=this.boost,o=this.xAxis,n=this.yAxis,a=t.xData||this.getColumn("x",!0),l=t.yData||this.getColumn("y",!0),d=this.getColumn("low",!0),c=this.getColumn("high",!0),u=t.data,g=o.getExtremes(),m=g.min-(o.minPointOffset||0),p=g.max+(o.minPointOffset||0),f=n.getExtremes(),b=f.min-(n.minPointOffset||0),x=f.max+(n.minPointOffset||0),A={},y=!!this.sampling,v=t.enableMouseTracking,P=t.threshold,T=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),C=!!t.stacking,k=this.cropStart||0,E=this.requireSorting,M=!a,S="x"===t.findNearestPointBy,w=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||this.getColumn("x",!0),R=(0,h.pick)(t.lineWidth,1),U=t.nullInteraction&&b,N=e.tooltip,L=!1,_,z=n.getThreshold(P),G,O,I,V;if(!this.boosted||(this.points?.forEach(t=>{t?.destroyElements?.()}),this.points=[],N&&!N.isHidden?(e.hoverPoint?.series===this||e.hoverPoints?.some(t=>t.series===this))&&(e.hoverPoint=e.hoverPoints=void 0,N.hide(0)):e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(t=>t.series!==this)),o.isPanning||n.isPanning)||(L=H(e,this),e.boosted=!0,!this.visible))return;(this.points||this.graph)&&j(this),D(e)?(this.markerGroup&&this.markerGroup!==s?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=s?.markerGroup,r&&r.target&&(this.renderTarget=r.target=r.target.destroy())):(this.markerGroup===s?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"));let F=this.points=[],W=(t,s,r,a)=>{let l=!!w&&w[k+r],h=t=>{e.inverted&&(t=o.len-t,s=n.len-s),F.push({destroy:B,x:l,clientX:t,plotX:t,plotY:s,i:k+r,percentage:a})};t=Math.ceil(t),i=S?t:t+","+s,v&&(A[i]?l===w[w.length-1]&&(F.length--,h(t)):(A[i]=!0,h(t)))};this.buildKDTree=B,(0,h.fireEvent)(this,"renderCanvas"),s&&R>1&&this.is("line")&&(s.lineWidthFilter?.remove(),s.lineWidthFilter=e.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*R}}],attributes:{id:"linewidth"}}),(r?.target||s.target)?.attr({filter:"url(#linewidth)"})),L&&(X(L,this),L.pushSeries(this),Q(this));let K=L.settings,q=(0,h.isNumber)(K.chunkSize)&&K.chunkSize>0?K.chunkSize:3e3,Z=()=>{(0,h.fireEvent)(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),K.debug.timeKDTree&&console.timeEnd("kd tree building")};e.renderer.forExport||(K.debug.timeKDTree&&console.time("kd tree building"),Y(C?this.data.slice(k):a||u,function(t,i){let s=void 0===e.index,r,a,u,g,f,A=!1,v=!0;return!(0,h.defined)(t)||(!s&&(M?(r=t[0],a=t[1]):(r=t,a=l[i]??U??null),T?(M&&(a=t.slice(1,3)),A=d[i],a=c[i]):C&&(r=t.x,A=(a=t.stackY)-t.y,f=t.percentage),E||(v=(a||0)>=b&&a<=x),null!==a&&r>=m&&r<=p&&v&&(u=o.toPixels(r,!0),y?((void 0===I||u===_)&&(T||(A=a),(void 0===V||a>O)&&(O=a,V=i),(void 0===I||A<G)&&(G=A,I=i)),S&&u===_||(void 0!==I&&(g=n.toPixels(O,!0),z=n.toPixels(G,!0),W(u,g,V,f),z!==g&&W(u,z,I,f)),I=V=void 0,_=u)):W(u,g=Math.ceil(n.toPixels(a,!0)),i,f))),!s)},Z,q))}function te(t){let e=!0;if(this.chart.options&&this.chart.options.boost&&(e=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!e||!this.boosted)return t.call(this);this.chart.boosted=!0;let i=H(this.chart,this);i&&(X(i,this),i.pushSeries(this)),Q(this)}function ti(t){if(this.boosted){if(W(this,!0))return{};if(this.xAxis?.isPanning||this.yAxis?.isPanning)return this}return t.apply(this,[].slice.call(arguments,1))}function ts(t){let e=this.options.data;if(F(this.chart)&&u[this.type]){let s=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!K(this,e)||s||this.is("treemap")||this.options.stacking||!W(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;s&&"treegrid"!==this.yAxis.type?$.call(this,arguments[1]):t.apply(this,[].slice.call(arguments,1)),e=this.getColumn("x",!0)}if(this.boosted=K(this,e),this.boosted){let t;this.options.data?.length&&(t=this.getFirstValidPoint(this.options.data),(0,h.isNumber)(t)||(0,h.isArray)(t)||this.is("treemap")||(0,h.error)(12,!1,this.chart));var i=this;i.boost=i.boost||{getPoint:t=>J(i,t)};let e=i.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(t=>{e.push({prop:t,val:i[t],own:Object.hasOwnProperty.call(i,t)})}),i.allowDG=!1,i.directTouch=!1,i.stickyTracking=!0,i.finishedAnimating=!0,i.labelBySeries&&(i.labelBySeries=i.labelBySeries.destroy()),i.is("scatter")&&!i.is("treemap")&&i.data.length){for(let t of i.data)t?.destroy?.();i.data.length=0,i.points.length=0}}else!function(t){let e=t.boost,i=t.chart,s=i.boost;if(s?.markerGroup)for(let t of(s.markerGroup.destroy(),s.markerGroup=void 0,i.series))t.markerGroup=void 0,t.markerGroup=t.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");e&&((e.altered||[]).forEach(e=>{e.own?t[e.prop]=e.val:delete t[e.prop]}),e.clear&&e.clear()),(i.seriesGroup||t.group)?.clip()}(this)}else t.apply(this,[].slice.call(arguments,1))}function tr(t){let e=t.apply(this,[].slice.call(arguments,1));return this.boost&&e?this.boost.getPoint(e):e}let to={compose:function(t,e,i,s){if((0,h.pushUnique)(O,"Boost.Series")){let r=G().plotOptions,o=t.prototype;if((0,h.addEvent)(t,"destroy",q),(0,h.addEvent)(t,"hide",Z),s&&(o.renderCanvas=tt),(0,h.wrap)(o,"getExtremes",ti),(0,h.wrap)(o,"processData",ts),(0,h.wrap)(o,"searchPoint",tr),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(t=>(function(t,e,i){function s(t){let e=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!e&&F(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&u[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():t.call(this)}if((0,h.wrap)(t,i,s),"translate"===i)for(let t of["column","arearange","columnrange","heatmap","treemap"])e[t]&&(0,h.wrap)(e[t].prototype,i,s)})(o,e,t)),(0,h.wrap)(i.prototype,"firePointEvent",function(t,e,i){if("click"===e&&this.series.boosted){let t=i.point;if((t.dist||t.distX)>=(t.series.options.marker?.radius??10))return}return t.apply(this,[].slice.call(arguments,1))}),c.forEach(t=>{let i=r[t];i&&(i.boostThreshold=5e3,i.boostData=[],e[t].prototype.fillOpacity=!0)}),s){let{area:t,areaspline:i,bubble:s,column:r,heatmap:o,scatter:n,treemap:a}=e;if(t&&(0,h.extend)(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&(0,h.extend)(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),s){let t=s.prototype;delete t.buildKDTree,(0,h.wrap)(t,"markerAttribs",function(t){return!this.boosted&&t.apply(this,[].slice.call(arguments,1))})}r&&(0,h.extend)(r.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[o,a].forEach(t=>{t&&(0,h.wrap)(t.prototype,"drawPoints",te)})}}return t},destroyGraphics:j,eachAsync:Y,getPoint:J},{getBoostClipRect:tn,isChartSeriesBoosting:ta}=f,{destroyGraphics:tl}=to,{parse:th}=x(),{doc:td,noop:tc}=d();!function(t){let e,i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function s(t,e,i,s,r){r&&e!==r.clientX&&(t.moveTo(r.clientX,r.yBottom),t.lineTo(r.clientX,r.plotY),t.lineTo(e,i),t.lineTo(e,s))}function r(t,e,i,s,r){t.moveTo(e,i),t.arc(e,i,this.radii&&this.radii[r],0,2*Math.PI,!1)}function o(t,e,i,s){t.rect(e-1,i,1,s-i)}function n(){this.boost&&this.boost.copy&&this.boost.copy()}function a(){let t=this.boost||{};t.target&&t.target.attr({href:i}),t.canvas&&t.canvas.getContext("2d").clearRect(0,0,t.canvas.width,t.canvas.height)}function l(){ta(this.chart)?this.boost&&this.boost.clear&&this.boost.clear():this.boost&&this.boost.copy?this.boost.copy():this.chart.boost&&this.chart.boost.copy&&this.chart.boost.copy()}function d(t,e,i){t.lineTo(e,i)}function c(){let t,e=this.chart,s=ta(e)?e:this,r=s===e?e.seriesGroup:e.seriesGroup||this.group,o=e.chartWidth,n=e.chartHeight,a=function(t,e,i,s,r,o,n){t.call(this,i,e,s,r,o,n)},l=s.boost=s.boost||{};return t=l.targetCtx,l.canvas||(l.canvas=td.createElement("canvas"),l.target=e.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(r),t=l.targetCtx=l.canvas.getContext("2d"),e.inverted&&["moveTo","lineTo","rect","arc"].forEach(e=>{(0,h.wrap)(t,e,a)}),l.copy=function(){l.target.attr({href:l.canvas.toDataURL("image/png")})},l.clear=function(){t.clearRect(0,0,l.canvas.width,l.canvas.height),s===l.target&&l.target.attr({href:i})},l.clipRect=e.renderer.clipRect(),l.target.clip(l.clipRect)),l.canvas.width!==o&&(l.canvas.width=o),l.canvas.height!==n&&(l.canvas.height=n),l.target.attr({x:0,y:0,width:o,height:n,style:"pointer-events: none",href:i}),l.clipRect&&l.clipRect.attr(tn(e,s)),t}function u(){let t=this,s=t.options,r=t.chart,o=t.xAxis,n=t.yAxis,a=r.options.boost||{},l={timeRendering:a.timeRendering||!1,timeSeriesProcessing:a.timeSeriesProcessing||!1,timeSetup:a.timeSetup||!1},d=t.getColumn("x",!0),c=t.getColumn("y",!0),u=s.data||[],g=o.getExtremes(),m=g.min,p=g.max,f=n.getExtremes(),b=f.min,A=f.max,y={},v=!!t.sampling,P=s.marker&&s.marker.radius,T=t.cvsStrokeBatch||1e3,C=s.enableMouseTracking,k=s.threshold,E=(0,h.isNumber)(k),M=n.getThreshold(k),S=t.fill,w=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),R=!!s.stacking,U=t.cropStart||0,N=r.options.loading,L=t.requireSorting,_=s.connectNulls,z=!d,D=R?t.data:d||u,G=t.fillOpacity?x().parse(t.color).setOpacity((0,h.pick)(s.fillOpacity,.75)).get():t.color,O="x"===s.findNearestPointBy,I=this.boost||{},B=t.cvsDrawPoint,V=s.lineWidth?t.cvsLineTo:void 0,X=P&&P<=1?t.cvsMarkerSquare:t.cvsMarkerCircle;I.target&&I.target.attr({href:i}),(t.points||t.graph)&&tl(t),t.plotGroup("group","series",t.visible?"visible":"hidden",s.zIndex,r.seriesGroup),t.markerGroup=t.group,(0,h.addEvent)(t,"destroy",function(){t.markerGroup=null});let F=this.points=[],H=this.getContext();if(t.buildKDTree=tc,I.clear&&I.clear(),!t.visible)return;u.length>99999&&(r.options.loading=(0,h.merge)(N,{labelStyle:{backgroundColor:th("var(--highcharts-background-color)").setOpacity(.75).get(),padding:"1em",borderRadius:"0.5em"},style:{backgroundColor:"none",opacity:1}}),(0,h.internalClearTimeout)(e),r.showLoading("Drawing..."),r.options.loading=N),l.timeRendering&&console.time("canvas rendering");let j=0,Y,W,K=M,q,Z,Q,J,$,tt,te=function(){S?(H.fillStyle=G,H.fill()):(H.strokeStyle=t.color,H.lineWidth=s.lineWidth,H.stroke())},ti=function(e,i,s,o){0===j&&(H.beginPath(),V&&(H.lineJoin="round")),r.scroller&&"highcharts-navigator-series"===t.options.className?(i+=r.scroller.top,s&&(s+=r.scroller.top)):i+=r.plotTop,e+=r.plotLeft,q?H.moveTo(e,i):B?B(H,e,i,s,W):V?V(H,e,i):X&&X.call(t,H,e,i,P,o),(j+=1)===T&&(te(),j=0),W={clientX:e,plotY:i,yBottom:s}},ts=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||!!this.getColumn("x",!0).length&&this.getColumn("x",!0),tr=function(t,e,i){tt=O?t:t+","+e,C&&!y[tt]&&(y[tt]=!0,r.inverted&&(t=o.len-t,e=n.len-e),F.push({x:!!ts&&ts[U+i],clientX:t,plotX:t,plotY:e,i:U+i}))};to.eachAsync(D,(e,i)=>{let s=void 0===r.index,a,l,h,d,u,g,f=!1,x=!1,y=NaN,P=NaN,T=!0;return!s&&(z?(a=e[0],l=e[1],D[i+1]&&(y=D[i+1][0]),D[i-1]&&(P=D[i-1][0])):(a=e,l=c[i],D[i+1]&&(y=D[i+1]),D[i-1]&&(P=D[i-1])),y&&y>=m&&y<=p&&(f=!0),P&&P>=m&&P<=p&&(x=!0),w?(z&&(l=e.slice(1,3)),g=l[0],l=l[1]):R&&(a=e.x,g=(l=e.stackY)-e.y),u=null===l,L||(T=l>=b&&l<=A),!u&&(a>=m&&a<=p&&T||f||x)&&(h=Math.round(o.toPixels(a,!0)),v?((void 0===J||h===Y)&&(w||(g=l),(void 0===$||l>Q)&&(Q=l,$=i),(void 0===J||g<Z)&&(Z=g,J=i)),h!==Y&&(void 0!==J&&(d=n.toPixels(Q,!0),K=n.toPixels(Z,!0),ti(h,E?Math.min(d,M):d,E?Math.max(K,M):K,i),tr(h,d,$),K!==d&&tr(h,K,J)),J=$=void 0,Y=h)):(ti(h,d=Math.round(n.toPixels(l,!0)),K,i),tr(h,d,i))),q=u&&!_,i%5e4==0&&(t.boost&&t.boost.copy?t.boost.copy():t.chart.boost&&t.chart.boost.copy&&t.chart.boost.copy())),!s},function(){let i=r.loadingDiv,s=r.loadingShown;te(),t.canvasToSVG(),l.timeRendering&&console.timeEnd("canvas rendering"),(0,h.fireEvent)(t,"renderedCanvas"),s&&(i.style.transition="opacity 250ms",i.opacity=0,r.loadingShown=!1,e=setTimeout(function(){i.parentNode&&i.parentNode.removeChild(i),r.loadingDiv=r.loadingSpan=null},250)),delete t.buildKDTree,t.buildKDTree()},r.renderer.forExport?Number.MAX_VALUE:void 0)}function g(t,e,i,s){t.moveTo(e,i),t.arc(e,i,s,0,2*Math.PI,!1)}function m(t,e,i,s){t.rect(e-s,i-s,2*s,2*s)}function p(){let t=this.chart,e=this.getContext(),i=this.chart.inverted,s=this.xAxis,r=this.yAxis;e?(this.points.forEach(o=>{let n=o.plotY;if(void 0!==n&&!isNaN(n)&&null!==o.y&&e){let{x:n=0,y:a=0,width:l=0,height:h=0}=o.shapeArgs||{};e.fillStyle=(t.styledMode?o.series.colorAttribs(o):o.series.pointAttribs(o)).fill,i?e.fillRect(r.len-a+s.left,s.len-n+r.top,-h,-l):e.fillRect(n+s.left,a+r.top,l,h)}}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas, <br>please use a modern browser")}t.compose=function(t,e,i){let f=e.prototype;if(!f.renderCanvas){let{area:e,bubble:b,column:x,heatmap:A,scatter:y}=i;if(t.prototype.callbacks.push(t=>{(0,h.addEvent)(t,"predraw",a),(0,h.addEvent)(t,"render",n)}),f.canvasToSVG=l,f.cvsLineTo=d,f.getContext=c,f.renderCanvas=u,e){let t=e.prototype;t.cvsDrawPoint=s,t.fill=!0,t.fillOpacity=!0,t.sampling=!0}if(b){let t=b.prototype;t.cvsMarkerCircle=r,t.cvsStrokeBatch=1}if(x){let t=x.prototype;t.cvsDrawPoint=o,t.fill=!0,t.sampling=!0}if(A){let t=A.prototype;(0,h.wrap)(t,"drawPoints",p)}if(y){let t=y.prototype;t.cvsMarkerCircle=g,t.cvsMarkerSquare=m,t.fill=!0}}}}(r||(r={}));let tu=r,tg=d();tg.initCanvasBoost=function(){tu.compose(tg.Chart,tg.Series,tg.seriesTypes)};let tm=d();return l.default})());
|
|
13
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts/highcharts"],function(t){return e(t,t.Color)}):"object"==typeof exports?exports["highcharts/modules/boost-canvas"]=e(t._Highcharts,t._Highcharts.Color):t.Highcharts=e(t.Highcharts,t.Highcharts.Color)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";let i,s;var r,o={620(t){t.exports=e},944(e){e.exports=t}};let n={};function a(t){let e=n[t];if(void 0!==e)return e.exports;let i=n[t]={exports:{}};return o[t](i,i.exports,a),i.exports}a.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],r=e[i++];a.o(t,s)?0===r&&i++:0===r?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:r})}else for(var s in e)a.o(e,s)&&!a.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let l={};a.d(l,{default:()=>tm});var h=a(944),u=a.n(h);let d=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],c={};d.forEach(t=>{c[t]=!0});let{composed:g}=u();function m(t){let e=t.series,i=t.boost=t.boost||{},s=t.options.boost||{},r=s.seriesThreshold??50;if(e.length>=r)return!0;if(1===e.length)return!1;let o=s.allowForce;if(void 0===o){for(let e of(o=!0,t.xAxis))if((e.min??-1/0)>(e.dataMin??-1/0)||(e.max??1/0)<(e.dataMax??1/0)){o=!1;break}}if(void 0!==i.forceChartBoost){if(o)return i.forceChartBoost;i.forceChartBoost=void 0}let n=0,a=0,l=0,h;for(let t of e)0!==(h=t.options).boostThreshold&&!1!==t.visible&&"heatmap"!==t.type&&(++a,c[t.type]&&++n,function(...t){let e=-Number.MAX_VALUE;return t.forEach(t=>{if(null!=t&&void 0!==t.length&&t.length>0)return e=t.length,!0}),e}(t.getColumn("x",!0),h.data||[],t.points)>=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===e.length&&l===n||!!i.markerGroup&&n===a&&l===n||l>5),i.forceChartBoost}function f(t){function e(){t.boost&&t.boost.wgl&&m(t)&&t.boost.wgl.render(t)}(0,h.addEvent)(t,"predraw",function(){t.boost=t.boost||{},t.boost.forceChartBoost=void 0,t.boosted=!1,t.axes.some(t=>t.isPanning)||t.boost.clear?.(),t.boost.canvas&&t.boost.wgl&&m(t)&&t.boost.wgl.allocateBuffer(t),t.boost.markerGroup&&t.xAxis&&t.xAxis.length>0&&t.yAxis&&t.yAxis.length>0&&t.boost.markerGroup.translate(t.xAxis[0].pos,t.yAxis[0].pos)}),(0,h.addEvent)(t,"load",e,{order:-1}),(0,h.addEvent)(t,"redraw",e);let i=-1,s=-1;(0,h.addEvent)(t.pointer,"afterGetHoverData",e=>{let r=e.hoverPoint?.series;if(t.boost=t.boost||{},t.boost.markerGroup&&r){let e=t.inverted?r.yAxis:r.xAxis,o=t.inverted?r.xAxis:r.yAxis;(e&&e.pos!==i||o&&o.pos!==s)&&(t.series.forEach(t=>{t.halo?.hide()}),t.boost.markerGroup.translate(e.pos,o.pos),i=e.pos,s=o.pos)}})}let p={compose:function(t,e){return e&&(0,h.pushUnique)(g,"Boost.Chart")&&t.prototype.callbacks.push(f),t},getBoostClipRect:function(t,e){let i=t.navigator,s={x:t.plotLeft,y:t.plotTop,width:t.plotWidth,height:t.plotHeight};if(i&&t.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!t.inverted&&(s.height=i.top+i.height-t.plotTop),e.is){let{xAxis:i,yAxis:r}=e;if(s=t.getClipBox(e),t.inverted){let t=s.width;s.width=s.height,s.height=t,s.x=r.pos,s.y=i.pos}else s.x=i.pos,s.y=r.pos}if(e===t){let e=t.inverted?t.xAxis:t.yAxis;t.inverted||i||!t.clipBox||(s.width=t.clipBox.width,s.height=t.clipBox.height),e.length<=1&&(s.y=Math.min(e[0].pos,s.y),s.height=e[0].pos-t.plotTop+e[0].len)}return s},isChartSeriesBoosting:m};var b=a(620),x=a.n(b);let A={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},y=class{constructor(t){if(this.errors=[],this.uLocations={},this.gl=t,t&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let t=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMax;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMax;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isCircle;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkThreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkThreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (!skipTranslation && isCircle && (\naVertexPosition.x < xAxisMin ||\naVertexPosition.x > xAxisMax ||\naVertexPosition.y < yAxisMin ||\naVertexPosition.y > yAxisMax\n)) {\ngl_Position = uPMatrix * vec4(2.0, 2.0, 2.0, 1.0);\n} else if (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),e=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=t=>this.gl.getUniformLocation(this.shaderProgram,t);return t&&e?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,t),this.gl.attachShader(this.shaderProgram,e),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS))?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&(0,h.error)("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(t,e){let i=this.gl.createShader("vertex"===e?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+e+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(t,e,i,s=1){let r=t.options,o=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&t.is("bubble")){let a=t.getPxExtremes();o=r.zMin??(0,h.clamp)(e,!1===r.displayNegative?r.zThreshold:-Number.MAX_VALUE,o),n=r.zMax??Math.max(n,i),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==t.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,t.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*s),this.setUniform("bubbleMaxSize",a.maxPxSize*s),this.setUniform("bubbleZMin",o),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",t.options.zThreshold)}}setColor(t){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,t[0]/255,t[1]/255,t[2]/255,t[3])}setDrawAsCircle(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,+!!t)}setInverted(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,t)}setPMatrix(t){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,t)}setPointSize(t){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,t)}setSkipTranslation(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,+(!0===t))}setTexture(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,t)}setUniform(t,e){if(this.gl&&this.shaderProgram){let i=this.uLocations[t]=this.uLocations[t]||this.gl.getUniformLocation(this.shaderProgram,t);this.gl.uniform1f(i,e)}}},v=class{constructor(t,e,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=t,this.shader=e}allocate(t){this.iterator=-1,this.preAllocated=new Float32Array(4*t)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(t,e,i){let s;return(this.data=t||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),e),this.gl.enableVertexAttribArray(this.vertAttribute),s=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(t,e,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(t,e,i){let s=this.preAllocated?this.preAllocated.length:this.data?.length||0;return!!this.buffer&&!!s&&((!t||t>s||t<0)&&(t=0),(!e||e>s)&&(e=s),!(t>=e)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],t/this.components,(e-t)/this.components),!0))}},{getBoostClipRect:P}=p,{parse:T}=x(),{doc:C,win:M}=u(),E={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},S={scatter:!0,bubble:!0},k=["webgl","experimental-webgl","moz-webgl","webkit-3d"],w={},R=(t,e)=>{if(w[e])return w[e];let i=0===e.indexOf("var(")&&t[e.slice(4,-1).trim()];if(i)return w[e]=i,i;if(0===e.indexOf("color-mix(")){let i=/^color-mix\(in srgb,([a-z0-9\(\)\-\#]+),([a-z0-9\(\)\-\#]+) ([0-9\.%]+)/.exec(e);if(i){let s=parseFloat(i[3])/100,r=R(t,i[1]),o=R(t,i[2]),n=new(x())(r).tweenTo(new(x())(o),s);return w[e]=n,n}}return e};class U{static orthoMatrix(t,e){return[2/t,0,0,0,0,-(2/e),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(t){let e,i,s;return t.boosted?(e=!!t.options.stacking,i=(t.getColumn("x").length?t.getColumn("x"):void 0)||t.options.xData||t.getColumn("x",!0),s=(e?t.data:i||t.options.data).length,"treemap"===t.type?s*=12:"heatmap"===t.type?s*=6:E[t.type]&&(s*=2),s):0}constructor(t){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=t,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||M.devicePixelRatio||1}setOptions(t){"pixelRatio"in t||(t.pixelRatio=1),(0,h.merge)(!0,this.settings,t)}allocateBuffer(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.series.forEach(t=>{t.boosted&&(i+=U.seriesPointCount(t))}),e&&e.allocate(i))}allocateBufferForSingleSeries(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.boosted&&(i=U.seriesPointCount(t)),e&&e.allocate(i))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(t,e){let i=this.data,s=this.settings,r=this.vbuffer,o=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:u,yAxis:d}=t,c=!!a.stacking,g=a.data,m=t.xAxis.getExtremes(),f=m.min-(t.xAxis.minPointOffset||0),p=m.max+(t.xAxis.minPointOffset||0),b=t.yAxis.getExtremes(),A=b.min-(t.yAxis.minPointOffset||0),y=b.max+(t.yAxis.minPointOffset||0),v=(t.getColumn("x").length?t.getColumn("x"):void 0)||a.xData||t.getColumn("x",!0),P=(t.getColumn("y").length?t.getColumn("y"):void 0)||a.yData||t.getColumn("y",!0),C=(t.getColumn("z").length?t.getColumn("z"):void 0)||a.zData||t.getColumn("z",!0),M=!v||0===v.length,{colorByPoint:S,connectNulls:k,threshold:w,zoneAxis:U="y",zones:N}=a,L=t.points||!1,_=c?t.data:v||g,z={x:Number.MAX_VALUE,y:0},D={x:-Number.MAX_VALUE,y:0},O=void 0===n.index,G=E[t.type],I=this.getPixelRatio(),B=n.options.colors||[],V=t.chart.plotWidth,X=!1,F=!1,H,j,Y=0,W=!1,K,q,Z,Q,J=-1,$=!1,tt=!1,te,ti=!1,ts=!1,tr,to=!1,tn=!0,ta=!0,tl=[],th=!1,tu=!1,td=0,tc=0;if(a.boostData&&a.boostData.length>0)return;if(a.gapSize&&(tu="value"!==a.gapUnit?a.gapSize*t.closestPointRange:a.gapSize),n.boost){let t=n.renderer.circle(0,0,1).attr({fill:"var(--highcharts-background-color)"}).add(),e=new(x())(getComputedStyle(t.element).getPropertyValue("fill")).get(),i=new(x())(n.palette?.cssVars.dark["--highcharts-background-color"]||"").get();t.destroy(),n.boost.cssVars=n.palette?.cssVars[e===i?"dark":"light"]}let tg=n.boost?.cssVars||{};if(N?.length&&(tl=[],N.forEach((t,e)=>{if("string"==typeof t.color){let i=T(R(tg,t.color)).rgba;i[0]/=255,i[1]/=255,i[2]/=255,tl[e]=i,th||void 0!==t.value||(th=i)}}),!th)){let e=t.pointAttribs&&t.pointAttribs().fill||t.color;th=T("string"==typeof e?R(tg,e):"").rgba,th[0]/=255,th[1]/=255,th[2]/=255}n.inverted&&(V=t.chart.plotHeight),t.closestPointRangePx=Number.MAX_VALUE;let tm=t=>{t&&(e.colorData.push(t[0]),e.colorData.push(t[1]),e.colorData.push(t[2]),e.colorData.push(t[3]))},tf=(t,o,n,a=1,l)=>{tm(l),1!==I&&(!s.useGPUTranslations||e.skipTranslation)&&(t*=I,o*=I,a*=I),s.usePreallocated&&r?(r.push(t,o,+!!n,a),td+=4):(i.push(t),i.push(o),i.push(n?I:0),i.push(a))},tp=()=>{e.segments.length&&(e.segments[e.segments.length-1].to=i.length||td)},tb=()=>{e.segments.length&&e.segments[e.segments.length-1].from===(i.length||td)||(tp(),e.segments.push({from:i.length||td}))},tx=(t,e,i,s,r)=>{tm(r),tf(t+i,e),tm(r),tf(t,e),tm(r),tf(t,e+s),tm(r),tf(t,e+s),tm(r),tf(t+i,e+s),tm(r),tf(t+i,e)};if(tb(),L&&L.length>0){e.skipTranslation=!0,e.drawMode="TRIANGLES",L[0].node&&L[0].node.levelDynamic&&L.sort((t,e)=>{if(t.node){if(t.node.levelDynamic>e.node.levelDynamic)return 1;if(t.node.levelDynamic<e.node.levelDynamic)return -1}return 0}),L.forEach(e=>{let i,s,r=e.plotY;if(void 0!==r&&!isNaN(r)&&null!==e.y&&e.shapeArgs){let{x:r=0,y:o=0,width:a=0,height:l=0}=e.shapeArgs;i=(s=n.styledMode?e.series.colorAttribs(e):s=e.series.pointAttribs(e))["stroke-width"]||0,"string"==typeof s.fill&&(s.fill=R(tg,s.fill)),tr=T(s.fill).rgba,tr[0]/=255,tr[1]/=255,tr[2]/=255,t.is("treemap")&&(i=i||1,"string"==typeof s.stroke&&(s.stroke=R(tg,s.stroke)),j=T(s.stroke).rgba,j[0]/=255,j[1]/=255,j[2]/=255,tx(r,o,a,l,j),i/=2),t.is("heatmap")&&n.inverted&&(r=u.len-r,o=d.len-o,a=-a,l=-l),tx(r+i,o+i,a-2*i,l-2*i,tr)}}),tp();return}for(;J<_.length-1;){if(void 0===(Z=_[++J]))continue;if(O)break;let i=g&&g[J];if(!M){let e;(0,h.isObject)(i,!0)&&i.color&&(e=T(i.color).rgba);let s=t.options.keys?.indexOf("color");Array.isArray(i)&&s&&"string"==typeof i[s]?e=T(i[s]).rgba:S&&(tc%=B.length,e=T(R(tg,B[tc])).rgba),e&&((tr=e)[0]=e[0]/255,tr[1]=e[1]/255,tr[2]=e[2]/255,tr[3]=e[3]),tc++}if(M?(K=Z[0],q=Z[1],_[J+1]&&(tt=_[J+1][0]),_[J-1]&&($=_[J-1][0]),Z.length>=3&&(Q=Z[2],Z[2]>e.zMax&&(e.zMax=Z[2]),Z[2]<e.zMin&&(e.zMin=Z[2]))):(K=Z,q=P?.[J],_[J+1]&&(tt=_[J+1]),_[J-1]&&($=_[J-1]),C&&C.length&&(Q=C[J],C[J]>e.zMax&&(e.zMax=C[J]),C[J]<e.zMin&&(e.zMin=C[J]))),!k&&(null===K||null===q)){tb();continue}if(tt&&tt>=f&&tt<=p&&(ti=!0),$&&$>=f&&$<=p&&(ts=!0),o?(M&&(q=Z.slice(1,3)),te=t.getColumn("low",!0)?.[J],q=t.getColumn("high",!0)?.[J]||0):c&&(K=Z.x,te=(q=Z.stackY)-Z.y),null!=A&&null!=y&&(tn=q>=A&&q<=y),!l&&!tn||(K>p&&D.x<p&&(D.x=K,D.y=q),K<f&&z.x>f&&(z.x=K,z.y=q),null===q&&k))continue;if(null===q||!tn&&_.length>1&&!ti&&!ts){tb();continue}if((l&&(tt>=f||K>=f)&&($<=p||K<=p)||!l&&K>=f&&K<=p)&&(to=!0),to||ti||ts){if(tu&&K-$>tu&&tb(),N?.length){let t,e,i="x"===U?K:q;N.some((t,s)=>void 0!==t.value&&i<t.value&&(e=s,!0)),void 0!==e&&tl[e]&&(t=tl[e]),tr=t||th||tr}if(s.useGPUTranslations||(e.skipTranslation=!0,K=u.toPixels(K,!0),q=d.toPixels(q,!0),!(K>V)||"POINTS"!==e.drawMode)){if(e.hasMarkers&&to&&!1!==X&&(t.closestPointRangePx=Math.min(t.closestPointRangePx,Math.abs(K-X))),!s.useGPUTranslations&&!s.usePreallocated&&X&&1>Math.abs(K-X)&&F&&1>Math.abs(q-F)){s.debug.showSkipSummary&&++Y;continue}G&&(H=te||0,(!1===te||void 0===te)&&(H=q<0?q:0),(o||c)&&!d.logarithmic||(H=Math.max(w??A,A)),s.useGPUTranslations||(H=d.toPixels(H,!0)),tf(K,H,!1,0,tr)),a.step&&!ta&&tf(K,F,!1,2,tr),tf(K,q,!1,"bubble"===t.type?Q||1:2,tr),X=K,F=q,W=!0,ta=!1}}}s.debug.showSkipSummary&&console.log("skipped points:",Y);let tA=(t,i)=>{if(s.useGPUTranslations||(e.skipTranslation=!0,t.x=u.toPixels(t.x,!0),t.y=d.toPixels(t.y,!0)),i){this.data=[t.x,t.y,0,2].concat(this.data);return}tf(t.x,t.y,0,2)};!W&&!1!==k&&"line_strip"===t.drawMode&&(z.x<Number.MAX_VALUE&&tA(z,!0),D.x>-Number.MAX_VALUE&&tA(D)),tp()}pushSeries(t){let e=this.markerData,i=this.series,s=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=e.length),s.debug.timeSeriesProcessing&&console.time("building "+t.type+" series");let r={segments:[],markerFrom:e.length,colorData:[],series:t,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!t.options.marker&&!1!==t.options.marker.enabled,showMarkers:!0,drawMode:A[t.type]||"LINE_STRIP"};t.index>=i.length?i.push(r):i[t.index]=r,this.pushSeriesData(t,r),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("xAxisTrans",t.transA*i),e.setUniform("xAxisMin",t.min),e.setUniform("xAxisMax",t.max),e.setUniform("xAxisMinPad",t.minPixelPadding*i),e.setUniform("xAxisPointRange",t.pointRange),e.setUniform("xAxisLen",t.len*i),e.setUniform("xAxisPos",t.pos*i),e.setUniform("xAxisCVSCoord",!t.horiz),e.setUniform("xAxisIsLog",!!t.logarithmic),e.setUniform("xAxisReversed",!!t.reversed)}setYAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("yAxisTrans",t.transA*i),e.setUniform("yAxisMin",t.min),e.setUniform("yAxisMax",t.max),e.setUniform("yAxisMinPad",t.minPixelPadding*i),e.setUniform("yAxisPointRange",t.pointRange),e.setUniform("yAxisLen",t.len*i),e.setUniform("yAxisPos",t.pos*i),e.setUniform("yAxisCVSCoord",!t.horiz),e.setUniform("yAxisIsLog",!!t.logarithmic),e.setUniform("yAxisReversed",!!t.reversed)}setThreshold(t,e){let i=this.shader;i&&(i.setUniform("hasThreshold",t),i.setUniform("translatedThreshold",e))}renderChart(t){let e=this.gl,i=this.settings,s=this.shader,r=this.vbuffer;w={};let o=this.getPixelRatio();if(!t)return!1;this.width=t.chartWidth*o,this.height=t.chartHeight*o;let n=this.height,a=this.width,l=t.options.colors||[];if(!e||!s||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),e.canvas.width=a,e.canvas.height=n,s.bind(),e.viewport(0,0,a,n),s.setPMatrix(U.orthoMatrix(a,n)),i.lineWidth>1&&!u().isMS&&e.lineWidth(i.lineWidth),r&&(r.build(this.data,"aVertexPosition",4),r.bind()),s.setInverted(t.inverted),this.series.forEach((a,u)=>{let d=a.series.options,c=d.marker,g=void 0!==d.lineWidth?d.lineWidth:1,m=d.threshold,f=(0,h.isNumber)(m),p=a.series.yAxis.getThreshold(m),b=(d.marker?d.marker.enabled:null)??(!!a.series.xAxis.isRadial||null)??a.series.closestPointRangePx>2*((d.marker?d.marker.radius:10)||10),A=this.textureHandles[c&&c.symbol||a.series.symbol]||this.textureHandles.circle,y,C,M,E=[];if(0!==a.segments.length&&a.segments[0].from!==a.segments[0].to&&(A.isReady&&(e.bindTexture(e.TEXTURE_2D,A.handle),s.setTexture(A.handle)),t.styledMode?a.series.markerGroup===a.series.chart.boost?.markerGroup?(delete a.series.markerGroup,a.series.markerGroup=a.series.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"),M=a.series.markerGroup.getStyle("fill"),a.series.markerGroup.destroy(),a.series.markerGroup=a.series.chart.boost?.markerGroup):M=a.series.markerGroup?.getStyle("fill"):(M="POINTS"===a.drawMode&&a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,d.colorByPoint&&"string"==typeof l[u]&&(M=l[u])),a.series.fillOpacity&&d.fillOpacity&&M&&(M=new(x())(M).setOpacity(d.fillOpacity??1).get()),"string"==typeof M&&(M=R(t.boost?.cssVars||{},M)),E=T(M).rgba,i.useAlpha||(E[3]=1),"add"===d.boostBlending?(e.blendFunc(e.SRC_ALPHA,e.ONE),e.blendEquation(e.FUNC_ADD)):"mult"===d.boostBlending||"multiply"===d.boostBlending?e.blendFunc(e.DST_COLOR,e.ZERO):"darken"===d.boostBlending?(e.blendFunc(e.ONE,e.ONE),e.blendEquation(e.FUNC_MIN)):e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),s.reset(),a.colorData.length>0?(s.setUniform("hasColor",1),(C=new v(e,s)).build(Array(a.segments[0].from).concat(a.colorData),"aColor",4),C.bind()):(s.setUniform("hasColor",0),e.disableVertexAttribArray(e.getAttribLocation(s.getProgram(),"aColor"))),s.setColor(E),this.setXAxis(a.series.xAxis),this.setYAxis(a.series.yAxis),this.setThreshold(f,p),"POINTS"===a.drawMode&&s.setPointSize(((d.marker&&d.marker.radius)??.5)*2*o),s.setSkipTranslation(a.skipTranslation),"bubble"===a.series.type&&s.setBubbleUniforms(a.series,a.zMin,a.zMax,o),s.setDrawAsCircle(S[a.series.type]||!1),r)){if(g>0||"LINE_STRIP"!==a.drawMode){let{x:i,y:s,width:l,height:h}=P(t,a.series);for(e.enable(e.SCISSOR_TEST),e.scissor(i*o,n-(s+h)*o,l*o,h*o),y=0;y<a.segments.length;y++)r.render(a.segments[y].from,a.segments[y].to,a.drawMode);e.disable(e.SCISSOR_TEST)}if(a.hasMarkers&&b)for(s.setPointSize(((d.marker&&d.marker.radius)??5)*2*o),s.setDrawAsCircle(!0),y=0;y<a.segments.length;y++)r.render(a.segments[y].from,a.segments[y].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(t){if(this.clear(),t.renderer.forExport)return this.renderChart(t);this.isInited?this.renderChart(t):setTimeout(()=>{this.render(t)},1)}setSize(t,e){let i=this.shader;i&&(this.width!==t||this.height!==e)&&(this.width=t,this.height=e,i.bind(),i.setPMatrix(U.orthoMatrix(t,e)))}init(t,e){let i=this.settings;if(this.isInited=!1,!t)return!1;i.debug.timeSetup&&console.time("gl setup");for(let e=0;e<k.length&&(this.gl=t.getContext(k[e],{}),!this.gl);++e);let s=this.gl;if(!s)return!1;e||this.flush(),s.enable(s.BLEND),s.blendFunc(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),s.disable(s.DEPTH_TEST),s.depthFunc(s.LESS);let r=this.shader=new y(s);if(!r)return!1;this.vbuffer=new v(s,r);let o=(t,e)=>{let i={isReady:!1,texture:C.createElement("canvas"),handle:s.createTexture()},r=i.texture.getContext("2d");this.textureHandles[t]=i,i.texture.width=512,i.texture.height=512,r.mozImageSmoothingEnabled=!1,r.webkitImageSmoothingEnabled=!1,r.msImageSmoothingEnabled=!1,r.imageSmoothingEnabled=!1,r.strokeStyle="rgba(255, 255, 255, 0)",r.fillStyle="#FFF",e(r);try{s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.handle),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,i.texture),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.bindTexture(s.TEXTURE_2D,null),i.isReady=!0}catch{}};return o("circle",t=>{t.beginPath(),t.arc(256,256,256,0,2*Math.PI),t.stroke(),t.fill()}),o("square",t=>{t.fillRect(0,0,512,512)}),o("diamond",t=>{t.beginPath(),t.moveTo(256,0),t.lineTo(512,256),t.lineTo(256,512),t.lineTo(0,256),t.lineTo(256,0),t.fill()}),o("triangle",t=>{t.beginPath(),t.moveTo(0,512),t.lineTo(256,0),t.lineTo(512,512),t.lineTo(0,512),t.fill()}),o("triangle-down",t=>{t.beginPath(),t.moveTo(0,0),t.lineTo(256,512),t.lineTo(512,0),t.lineTo(0,0),t.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,e=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),e&&e.destroy(),t&&((0,h.objectEach)(this.textureHandles,e=>{e.handle&&t.deleteTexture(e.handle)}),t.canvas.width=1,t.canvas.height=1)}}let{setLength:N,splice:L}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,r=[]){if(Array.isArray(t))return Array.isArray(r)||(r=Array.from(r)),{removed:t.splice(e,i,...r),array:t};let o=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new o(t.length-i+r.length);return a.set(t.subarray(0,e),0),a.set(r,e),a.set(t.subarray(e+i),e+r.length),{removed:n,array:a}}},_=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||(0,h.uniqueKey)(),this.rowCount=0,this.versionTag=(0,h.uniqueKey)();let e=0;(0,h.objectEach)(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,(0,h.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=N(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,h.objectEach)(this.columns,(s,r)=>{this.columns[r]=L(s,t,e).array,i=s.length}),this.rowCount=i}(0,h.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,h.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},s=this.columns;for(let r of(e??(e=Object.keys(this.columns)),e))i[r]=s[r]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;(0,h.objectEach)(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||((0,h.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,h.uniqueKey)())}setRow(t,e=this.rowCount,i,s){var r;let{columns:o}=this,n=i?this.rowCount+1:e+1,a=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=a.length;t<e;t++)o[r=a[t]]||(o[r]=Array(this.rowCount));(0,h.objectEach)(o,(s,r)=>{s&&(i?s=L(s,e,0,!0,[t[r]]).array:s[e]=r in t?t[r]:s[e],o[r]=s)}),this.applyRowCount(Math.max(n,this.rowCount)),s?.silent||((0,h.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,h.uniqueKey)())}getModified(){return this.modified||this}},{getBoostClipRect:z,isChartSeriesBoosting:D}=p,{getOptions:O}=u(),{composed:G,doc:I,noop:B,win:V}=u();function X(t,e){let i=e.boost;t&&i&&i.target&&i.canvas&&!D(e.chart)&&t.allocateBufferForSingleSeries(e)}function F(t){return(t&&t.options&&t.options.boost&&t.options.boost.enabled)??!0}function H(t,e){let i=t.constructor,r=t.seriesGroup||e.group,o=t.chartWidth,n=t.chartHeight,a=t,l="u">typeof SVGForeignObjectElement,u=!1;D(t)?a=t:(a=e,u=!!(e.options.events?.click||e.options.point?.events?.click));let d=a.boost=a.boost||{};if(l=!1,s||(s=I.createElement("canvas")),!d.target&&(d.canvas=s,t.renderer.forExport||!l?(a.renderTarget=d.target=t.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(r),d.clear=function(){d.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},d.copy=function(){d.resize(),d.target.attr({href:d.canvas.toDataURL("image/png")})}):(d.targetFo=t.renderer.createElement("foreignObject").add(r),a.renderTarget=d.target=I.createElement("canvas"),d.targetCtx=d.target.getContext("2d"),d.targetFo.element.appendChild(d.target),d.clear=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height},d.copy=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height,d.targetCtx.drawImage(d.canvas,0,0)}),d.resize=function(){o=t.chartWidth,n=t.chartHeight,(d.targetFo||d.target).attr({x:0,y:0,width:o,height:n}).css({pointerEvents:u?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(u?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(t.plotLeft,t.plotTop)},d.clipRect=t.renderer.clipRect(),(d.targetFo||d.target).attr({zIndex:e.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(r).translate(e.xAxis.pos,e.yAxis.pos))),d.canvas.width=o,d.canvas.height=n,d.clipRect){let e=z(t,a);d.clipRect.attr(e),t.navigator||e.width!==t.clipBox.width||e.height!==t.clipBox.height?(d.targetFo||d.target).clip(d.clipRect):r?.clip(t.renderer.clipRect(e.x-4,e.y,e.width+4,e.height+4))}return d.resize(),d.clear(),!d.wgl&&(d.wgl=new U(t=>{t.settings.debug.timeBufferCopy&&console.time("buffer copy"),d.copy(),t.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),d.wgl.init(d.canvas)||(0,h.error)("[highcharts boost] - unable to init WebGL renderer"),d.wgl.setOptions(t.options.boost||{}),a instanceof i&&d.wgl.allocateBuffer(t)),d.wgl.setSize(o,n),d.wgl}function j(t){let e=t.points;if(e){let t,i;for(i=0;i<e.length;i+=1)(t=e[i])&&t.destroyElements&&t.destroyElements()}for(let e of(["graph","area","tracker"].forEach(e=>{let i=t[e];i&&(t[e]=i.destroy())}),t.zones))(0,h.destroyObjectProperties)(e,void 0,!0)}function Y(t,e,i,s,r,o){let n=(r=r||0)+(s=s||3e3),a=!0;for(;a&&r<n&&r<t.length;)a=e(t[r],r),++r;a&&(r<t.length?o?Y(t,e,i,s,r,o):V.requestAnimationFrame?V.requestAnimationFrame(function(){Y(t,e,i,s,r)}):setTimeout(Y,0,t,e,i,s,r):i&&i())}function W(t,e){let i=t.options.boostThreshold??Number.MAX_VALUE;if(0===i)return!1;let s=t.dataTable.getModified().rowCount,r=t.xAxis&&t.xAxis.options,o=t.yAxis&&t.yAxis.options,n=t.colorAxis&&t.colorAxis.options;return s>=i&&(0,h.isNumber)(o?.min)&&(0,h.isNumber)(o?.max)&&(!e||(0,h.isNumber)(r?.min)&&(0,h.isNumber)(r?.max))&&(!n||(0,h.isNumber)(n.min)&&(0,h.isNumber)(n.max))}let K=(t,e)=>{let{options:i,forceCrop:s,chart:r}=t,o=i.boostThreshold??Number.MAX_VALUE;return!s&&0!==o&&(D(r)||(e?.length??0)>=o)};function q(){let t=this,e=t.chart;e.boost&&e.boost.markerGroup===t.markerGroup&&(t.markerGroup=void 0),e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(function(e){return e.series===t})),e.hoverPoint&&e.hoverPoint.series===t&&(e.hoverPoint=void 0)}function Z(){let t=this.boost,e=this.chart.boost,i=e?.markerGroup;t&&t.canvas&&t.target&&(t.wgl&&t.wgl.clear(),t.clear&&t.clear()),i&&this.markerGroup===i&&this.chart.series.some(t=>t.visible&&t.markerGroup===i)&&i.show()}function Q(t){let e=t.boost;e&&e.canvas&&e.target&&e.wgl&&!D(t.chart)&&e.wgl.render(t.chart)}function J(t,e){let i=t.options,s=t.xAxis,r=t.pointClass;if(e instanceof r)return e;let o=i.data,n=t.is("scatter"),a=(n&&t.getColumn("x",!0).length?t.getColumn("x",!0):void 0)||(t.getColumn("x").length?t.getColumn("x"):void 0)||i.xData||t.getColumn("x",!0)||!1,l=t.getColumn("y",!0)||i.yData||!1,u=e.i,d=o?.[u]?.color,c=new r(t,n&&a&&l?[a[u],l[u]]:((0,h.isArray)(o)?o:[])[u],a?a[u]:void 0);if(n&&i?.keys?.length){let t=i.keys;for(let e=t.length-1;e>-1;e--)c[t[e]]=o[u][e]}return c.category=s.categories?s.categories[c.x]:c.x??c.x,c.key=c.name??c.category,c.dist=e.dist,c.distX=e.distX,c.plotX=e.plotX,c.plotY=e.plotY,c.percentage=e.percentage,c.isInside=t.isPointInside(c),d&&(c.color=d),c}function $(t){let{options:e,xAxis:i,yAxis:s}=this;if(!this.isDirty&&!i.isDirty&&!s.isDirty&&!t)return!1;this.yAxis.setTickInterval();let r=e.boostThreshold||0,o=e.cropThreshold,n=this.getColumn("x"),a=i.getExtremes(),l=a.max??Number.MAX_VALUE,u=a.min??-Number.MAX_VALUE,d=this.getColumn("y"),c=s.getExtremes(),g=c.max??Number.MAX_VALUE,m=c.min??-Number.MAX_VALUE,f=s.userMin??((0,h.isNumber)(s.options.min)?s.options.min:-Number.MAX_VALUE),p=s.userMax??((0,h.isNumber)(s.options.max)?s.options.max:Number.MAX_VALUE);if(!this.boosted&&i.old&&s.old&&u>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&m>=(s.old.min??-Number.MAX_VALUE)&&g<=(s.old.max??Number.MAX_VALUE))return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let b=this.dataTable.rowCount;if(!r||b<r||o&&!this.forceCrop&&!this.getExtremesFromAll&&!e.getExtremesFromAll&&b<o)return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let x=[],A=[],y=[],v=!((0,h.isNumber)(a.max)||(0,h.isNumber)(a.min)),P=!((0,h.isNumber)(c.max)||(0,h.isNumber)(c.min)),T=!1,C,M=n[0],E=n[0],S,k=d?.[0],w=d?.[0];for(let t=0,e=n.length;t<e;++t)C=n[t],S=d?.[t],C>=u&&C<=l&&S>=f&&S<=p?(x.push(C),A.push(S),y.push(t),v&&(M=Math.max(M,C),E=Math.min(E,C)),P&&(k=Math.max(k,S),w=Math.min(w,S))):T=!0;return v&&(i.dataMax=Math.max(M,i.dataMax||0),i.dataMin=Math.min(E,i.dataMin||0)),P&&(s.dataMax=Math.max(k,s.dataMax||0),s.dataMin=Math.min(w,s.dataMin||0)),this.cropped=T,this.cropStart=0,T&&!this.dataTable.modified&&(this.dataTable.modified=new _,this.hasProcessedDataTable=!0),this.dataTable.getModified().setColumns({x:x,y:A}),!0}function tt(){let t=this.options||{},e=this.chart,s=e.boost,r=this.boost,o=this.xAxis,n=this.yAxis,a=t.xData||this.getColumn("x",!0),l=t.yData||this.getColumn("y",!0),u=this.getColumn("low",!0),d=this.getColumn("high",!0),c=t.data,g=o.getExtremes(),m=g.min-(o.minPointOffset||0),f=g.max+(o.minPointOffset||0),p=n.getExtremes(),b=p.min-(n.minPointOffset||0),x=p.max+(n.minPointOffset||0),A={},y=!!this.sampling,v=t.enableMouseTracking,P=t.threshold,T=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),C=!!t.stacking,M=this.cropStart||0,E=this.requireSorting,S=!a,k="x"===t.findNearestPointBy,w=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||this.getColumn("x",!0),R=t.lineWidth??1,U=t.nullInteraction&&b,N=e.tooltip,L=!1,_,z=n.getThreshold(P),O,G,I,V;if(!this.boosted||(this.points?.forEach(t=>{t?.destroyElements?.()}),this.points=[],N&&!N.isHidden?(e.hoverPoint?.series===this||e.hoverPoints?.some(t=>t.series===this))&&(e.hoverPoint=e.hoverPoints=void 0,N.hide(0)):e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(t=>t.series!==this)),o.isPanning||n.isPanning)||(L=H(e,this),e.boosted=!0,!this.visible))return;(this.points||this.graph)&&j(this),D(e)?(this.markerGroup&&this.markerGroup!==s?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=s?.markerGroup,r&&r.target&&(this.renderTarget=r.target=r.target.destroy())):(this.markerGroup===s?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"));let F=this.points=[],W=(t,s,r,a)=>{let l=!!w&&w[M+r],h=t=>{e.inverted&&(t=o.len-t,s=n.len-s),F.push({destroy:B,x:l,clientX:t,plotX:t,plotY:s,i:M+r,percentage:a})};t=Math.ceil(t),i=k?t:t+","+s,v&&(A[i]?l===w[w.length-1]&&(F.length--,h(t)):(A[i]=!0,h(t)))};this.buildKDTree=B,(0,h.fireEvent)(this,"renderCanvas"),s&&R>1&&this.is("line")&&(s.lineWidthFilter?.remove(),s.lineWidthFilter=e.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*R}}],attributes:{id:"linewidth"}}),(r?.target||s.target)?.attr({filter:"url(#linewidth)"})),L&&(X(L,this),L.pushSeries(this),Q(this));let K=L.settings,q=(0,h.isNumber)(K.chunkSize)&&K.chunkSize>0?K.chunkSize:3e3,Z=()=>{(0,h.fireEvent)(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),K.debug.timeKDTree&&console.timeEnd("kd tree building")};e.renderer.forExport||(K.debug.timeKDTree&&console.time("kd tree building"),Y(C?this.data.slice(M):a||c,function(t,i){let s=void 0===e.index,r,a,c,g,p,A=!1,v=!0;return!(0,h.defined)(t)||(!s&&(S?(r=t[0],a=t[1]):(r=t,a=l[i]??U??null),T?(S&&(a=t.slice(1,3)),A=u[i],a=d[i]):C&&(r=t.x,A=(a=t.stackY)-t.y,p=t.percentage),E||(v=(a||0)>=b&&a<=x),null!==a&&r>=m&&r<=f&&v&&(c=o.toPixels(r,!0),y?((void 0===I||c===_)&&(T||(A=a),(void 0===V||a>G)&&(G=a,V=i),(void 0===I||A<O)&&(O=A,I=i)),k&&c===_||(void 0!==I&&(g=n.toPixels(G,!0),z=n.toPixels(O,!0),W(c,g,V,p),z!==g&&W(c,z,I,p)),I=V=void 0,_=c)):W(c,g=Math.ceil(n.toPixels(a,!0)),i,p))),!s)},Z,q))}function te(t){let e=!0;if(this.chart.options&&this.chart.options.boost&&(e=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!e||!this.boosted)return t.call(this);this.chart.boosted=!0;let i=H(this.chart,this);i&&(X(i,this),i.pushSeries(this)),Q(this)}function ti(t){if(this.boosted){if(W(this,!0))return{};if(this.xAxis?.isPanning||this.yAxis?.isPanning)return this}return t.apply(this,[].slice.call(arguments,1))}function ts(t){let e=this.options.data;if(F(this.chart)&&c[this.type]){let s=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!K(this,e)||s||this.is("treemap")||this.options.stacking||!W(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;s&&"treegrid"!==this.yAxis.type?$.call(this,arguments[1]):t.apply(this,[].slice.call(arguments,1)),e=this.getColumn("x",!0)}if(this.boosted=K(this,e),this.boosted){let t;this.options.data?.length&&(t=this.getFirstValidPoint(this.options.data),(0,h.isNumber)(t)||(0,h.isArray)(t)||this.is("treemap")||(0,h.error)(12,!1,this.chart));var i=this;i.boost=i.boost||{getPoint:t=>J(i,t)};let e=i.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(t=>{e.push({prop:t,val:i[t],own:Object.hasOwnProperty.call(i,t)})}),i.allowDG=!1,i.directTouch=!1,i.stickyTracking=!0,i.finishedAnimating=!0,i.labelBySeries&&(i.labelBySeries=i.labelBySeries.destroy()),i.is("scatter")&&!i.is("treemap")&&i.data.length){for(let t of i.data)t?.destroy?.();i.data.length=0,i.points.length=0}}else!function(t){let e=t.boost,i=t.chart,s=i.boost;if(s?.markerGroup)for(let t of(s.markerGroup.destroy(),s.markerGroup=void 0,i.series))t.markerGroup=void 0,t.markerGroup=t.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");e&&((e.altered||[]).forEach(e=>{e.own?t[e.prop]=e.val:delete t[e.prop]}),e.clear&&e.clear()),(i.seriesGroup||t.group)?.clip()}(this)}else t.apply(this,[].slice.call(arguments,1))}function tr(t){let e=t.apply(this,[].slice.call(arguments,1));return this.boost&&e?this.boost.getPoint(e):e}let to={compose:function(t,e,i,s){if((0,h.pushUnique)(G,"Boost.Series")){let r=O().plotOptions,o=t.prototype;if((0,h.addEvent)(t,"destroy",q),(0,h.addEvent)(t,"hide",Z),s&&(o.renderCanvas=tt),(0,h.wrap)(o,"getExtremes",ti),(0,h.wrap)(o,"processData",ts),(0,h.wrap)(o,"searchPoint",tr),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(t=>(function(t,e,i){function s(t){let e=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!e&&F(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&c[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():t.call(this)}if((0,h.wrap)(t,i,s),"translate"===i)for(let t of["column","arearange","columnrange","heatmap","treemap"])e[t]&&(0,h.wrap)(e[t].prototype,i,s)})(o,e,t)),(0,h.wrap)(i.prototype,"firePointEvent",function(t,e,i){if("click"===e&&this.series.boosted){let t=i.point;if((t.dist||t.distX)>=(t.series.options.marker?.radius??10))return}return t.apply(this,[].slice.call(arguments,1))}),d.forEach(t=>{let i=r[t];i&&(i.boostThreshold=5e3,i.boostData=[],e[t].prototype.fillOpacity=!0)}),s){let{area:t,areaspline:i,bubble:s,column:r,heatmap:o,scatter:n,treemap:a}=e;if(t&&(0,h.extend)(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&(0,h.extend)(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),s){let t=s.prototype;delete t.buildKDTree,(0,h.wrap)(t,"markerAttribs",function(t){return!this.boosted&&t.apply(this,[].slice.call(arguments,1))})}r&&(0,h.extend)(r.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[o,a].forEach(t=>{t&&(0,h.wrap)(t.prototype,"drawPoints",te)})}}return t},destroyGraphics:j,eachAsync:Y,getPoint:J},{getBoostClipRect:tn,isChartSeriesBoosting:ta}=p,{destroyGraphics:tl}=to,{parse:th}=x(),{doc:tu,noop:td}=u();!function(t){let e,i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function s(t,e,i,s,r){r&&e!==r.clientX&&(t.moveTo(r.clientX,r.yBottom),t.lineTo(r.clientX,r.plotY),t.lineTo(e,i),t.lineTo(e,s))}function r(t,e,i,s,r){t.moveTo(e,i),t.arc(e,i,this.radii&&this.radii[r],0,2*Math.PI,!1)}function o(t,e,i,s){t.rect(e-1,i,1,s-i)}function n(){this.boost&&this.boost.copy&&this.boost.copy()}function a(){let t=this.boost||{};t.target&&t.target.attr({href:i}),t.canvas&&t.canvas.getContext("2d").clearRect(0,0,t.canvas.width,t.canvas.height)}function l(){ta(this.chart)?this.boost&&this.boost.clear&&this.boost.clear():this.boost&&this.boost.copy?this.boost.copy():this.chart.boost&&this.chart.boost.copy&&this.chart.boost.copy()}function u(t,e,i){t.lineTo(e,i)}function d(){let t,e=this.chart,s=ta(e)?e:this,r=s===e?e.seriesGroup:e.seriesGroup||this.group,o=e.chartWidth,n=e.chartHeight,a=function(t,e,i,s,r,o,n){t.call(this,i,e,s,r,o,n)},l=s.boost=s.boost||{};return t=l.targetCtx,l.canvas||(l.canvas=tu.createElement("canvas"),l.target=e.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(r),t=l.targetCtx=l.canvas.getContext("2d"),e.inverted&&["moveTo","lineTo","rect","arc"].forEach(e=>{(0,h.wrap)(t,e,a)}),l.copy=function(){l.target.attr({href:l.canvas.toDataURL("image/png")})},l.clear=function(){t.clearRect(0,0,l.canvas.width,l.canvas.height),s===l.target&&l.target.attr({href:i})},l.clipRect=e.renderer.clipRect(),l.target.clip(l.clipRect)),l.canvas.width!==o&&(l.canvas.width=o),l.canvas.height!==n&&(l.canvas.height=n),l.target.attr({x:0,y:0,width:o,height:n,style:"pointer-events: none",href:i}),l.clipRect&&l.clipRect.attr(tn(e,s)),t}function c(){let t=this,s=t.options,r=t.chart,o=t.xAxis,n=t.yAxis,a=r.options.boost||{},l={timeRendering:a.timeRendering||!1,timeSeriesProcessing:a.timeSeriesProcessing||!1,timeSetup:a.timeSetup||!1},u=t.getColumn("x",!0),d=t.getColumn("y",!0),c=s.data||[],g=o.getExtremes(),m=g.min,f=g.max,p=n.getExtremes(),b=p.min,A=p.max,y={},v=!!t.sampling,P=s.marker&&s.marker.radius,T=t.cvsStrokeBatch||1e3,C=s.enableMouseTracking,M=s.threshold,E=(0,h.isNumber)(M),S=n.getThreshold(M),k=t.fill,w=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),R=!!s.stacking,U=t.cropStart||0,N=r.options.loading,L=t.requireSorting,_=s.connectNulls,z=!u,D=R?t.data:u||c,O=t.fillOpacity?x().parse(t.color).setOpacity(s.fillOpacity??.75).get():t.color,G="x"===s.findNearestPointBy,I=this.boost||{},B=t.cvsDrawPoint,V=s.lineWidth?t.cvsLineTo:void 0,X=P&&P<=1?t.cvsMarkerSquare:t.cvsMarkerCircle;I.target&&I.target.attr({href:i}),(t.points||t.graph)&&tl(t),t.plotGroup("group","series",t.visible?"visible":"hidden",s.zIndex,r.seriesGroup),t.markerGroup=t.group,(0,h.addEvent)(t,"destroy",function(){t.markerGroup=null});let F=this.points=[],H=this.getContext();if(t.buildKDTree=td,I.clear&&I.clear(),!t.visible)return;c.length>99999&&(r.options.loading=(0,h.merge)(N,{labelStyle:{backgroundColor:th("var(--highcharts-background-color)").setOpacity(.75).get(),padding:"1em",borderRadius:"0.5em"},style:{backgroundColor:"none",opacity:1}}),(0,h.internalClearTimeout)(e),r.showLoading("Drawing..."),r.options.loading=N),l.timeRendering&&console.time("canvas rendering");let j=0,Y,W,K=S,q,Z,Q,J,$,tt,te=function(){k?(H.fillStyle=O,H.fill()):(H.strokeStyle=t.color,H.lineWidth=s.lineWidth,H.stroke())},ti=function(e,i,s,o){0===j&&(H.beginPath(),V&&(H.lineJoin="round")),r.scroller&&"highcharts-navigator-series"===t.options.className?(i+=r.scroller.top,s&&(s+=r.scroller.top)):i+=r.plotTop,e+=r.plotLeft,q?H.moveTo(e,i):B?B(H,e,i,s,W):V?V(H,e,i):X&&X.call(t,H,e,i,P,o),(j+=1)===T&&(te(),j=0),W={clientX:e,plotY:i,yBottom:s}},ts=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||!!this.getColumn("x",!0).length&&this.getColumn("x",!0),tr=function(t,e,i){tt=G?t:t+","+e,C&&!y[tt]&&(y[tt]=!0,r.inverted&&(t=o.len-t,e=n.len-e),F.push({x:!!ts&&ts[U+i],clientX:t,plotX:t,plotY:e,i:U+i}))};to.eachAsync(D,(e,i)=>{let s=void 0===r.index,a,l,h,u,c,g,p=!1,x=!1,y=NaN,P=NaN,T=!0;return!s&&(z?(a=e[0],l=e[1],D[i+1]&&(y=D[i+1][0]),D[i-1]&&(P=D[i-1][0])):(a=e,l=d[i],D[i+1]&&(y=D[i+1]),D[i-1]&&(P=D[i-1])),y&&y>=m&&y<=f&&(p=!0),P&&P>=m&&P<=f&&(x=!0),w?(z&&(l=e.slice(1,3)),g=l[0],l=l[1]):R&&(a=e.x,g=(l=e.stackY)-e.y),c=null===l,L||(T=l>=b&&l<=A),!c&&(a>=m&&a<=f&&T||p||x)&&(h=Math.round(o.toPixels(a,!0)),v?((void 0===J||h===Y)&&(w||(g=l),(void 0===$||l>Q)&&(Q=l,$=i),(void 0===J||g<Z)&&(Z=g,J=i)),h!==Y&&(void 0!==J&&(u=n.toPixels(Q,!0),K=n.toPixels(Z,!0),ti(h,E?Math.min(u,S):u,E?Math.max(K,S):K,i),tr(h,u,$),K!==u&&tr(h,K,J)),J=$=void 0,Y=h)):(ti(h,u=Math.round(n.toPixels(l,!0)),K,i),tr(h,u,i))),q=c&&!_,i%5e4==0&&(t.boost&&t.boost.copy?t.boost.copy():t.chart.boost&&t.chart.boost.copy&&t.chart.boost.copy())),!s},function(){let i=r.loadingDiv,s=r.loadingShown;te(),t.canvasToSVG(),l.timeRendering&&console.timeEnd("canvas rendering"),(0,h.fireEvent)(t,"renderedCanvas"),s&&(i.style.transition="opacity 250ms",i.opacity=0,r.loadingShown=!1,e=setTimeout(function(){i.parentNode&&i.parentNode.removeChild(i),r.loadingDiv=r.loadingSpan=null},250)),delete t.buildKDTree,t.buildKDTree()},r.renderer.forExport?Number.MAX_VALUE:void 0)}function g(t,e,i,s){t.moveTo(e,i),t.arc(e,i,s,0,2*Math.PI,!1)}function m(t,e,i,s){t.rect(e-s,i-s,2*s,2*s)}function f(){let t=this.chart,e=this.getContext(),i=this.chart.inverted,s=this.xAxis,r=this.yAxis;e?(this.points.forEach(o=>{let n=o.plotY;if(void 0!==n&&!isNaN(n)&&null!==o.y&&e){let{x:n=0,y:a=0,width:l=0,height:h=0}=o.shapeArgs||{};e.fillStyle=(t.styledMode?o.series.colorAttribs(o):o.series.pointAttribs(o)).fill,i?e.fillRect(r.len-a+s.left,s.len-n+r.top,-h,-l):e.fillRect(n+s.left,a+r.top,l,h)}}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas, <br>please use a modern browser")}t.compose=function(t,e,i){let p=e.prototype;if(!p.renderCanvas){let{area:e,bubble:b,column:x,heatmap:A,scatter:y}=i;if(t.prototype.callbacks.push(t=>{(0,h.addEvent)(t,"predraw",a),(0,h.addEvent)(t,"render",n)}),p.canvasToSVG=l,p.cvsLineTo=u,p.getContext=d,p.renderCanvas=c,e){let t=e.prototype;t.cvsDrawPoint=s,t.fill=!0,t.fillOpacity=!0,t.sampling=!0}if(b){let t=b.prototype;t.cvsMarkerCircle=r,t.cvsStrokeBatch=1}if(x){let t=x.prototype;t.cvsDrawPoint=o,t.fill=!0,t.sampling=!0}if(A){let t=A.prototype;(0,h.wrap)(t,"drawPoints",f)}if(y){let t=y.prototype;t.cvsMarkerCircle=g,t.cvsMarkerSquare=m,t.fill=!0}}}}(r||(r={}));let tc=r,tg=u();tg.initCanvasBoost=function(){tc.compose(tg.Chart,tg.Series,tg.seriesTypes)};let tm=u();return l.default})());
|