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.
Files changed (1264) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +2 -1
  3. package/es-modules/Accessibility/A11yI18n.js +4 -4
  4. package/es-modules/Accessibility/Accessibility.js +38 -1
  5. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
  6. package/es-modules/Accessibility/Components/LegendComponent.js +3 -4
  7. package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
  9. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
  10. package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
  11. package/es-modules/Accessibility/FocusBorder.js +2 -2
  12. package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
  13. package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
  14. package/es-modules/Accessibility/ProxyElement.js +1 -0
  15. package/es-modules/Core/Animation/AnimationUtilities.js +34 -43
  16. package/es-modules/Core/Animation/Fx.js +16 -19
  17. package/es-modules/Core/Axis/Axis.js +49 -59
  18. package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
  19. package/es-modules/Core/Axis/AxisDefaults.js +12 -2
  20. package/es-modules/Core/Axis/BrokenAxis.js +6 -5
  21. package/es-modules/Core/Axis/Color/ColorAxis.js +24 -12
  22. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  23. package/es-modules/Core/Axis/GridAxis.js +12 -5
  24. package/es-modules/Core/Axis/LogarithmicAxis.js +5 -3
  25. package/es-modules/Core/Axis/NavigatorAxisComposition.js +2 -2
  26. package/es-modules/Core/Axis/OrdinalAxis.js +21 -11
  27. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
  28. package/es-modules/Core/Axis/RadialAxis.js +23 -22
  29. package/es-modules/Core/Axis/ScrollbarAxis.js +3 -3
  30. package/es-modules/Core/Axis/Stacking/StackItem.js +5 -5
  31. package/es-modules/Core/Axis/Stacking/StackingAxis.js +5 -6
  32. package/es-modules/Core/Axis/Tick.js +10 -11
  33. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
  34. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
  35. package/es-modules/Core/Chart/Chart.js +58 -53
  36. package/es-modules/Core/Chart/Chart3D.js +3 -3
  37. package/es-modules/Core/Chart/ChartDefaults.js +24 -1
  38. package/es-modules/Core/Chart/MapChart.js +7 -10
  39. package/es-modules/Core/Chart/StockChart.js +15 -11
  40. package/es-modules/Core/Color/Color.js +3 -1
  41. package/es-modules/Core/Defaults.js +44 -2
  42. package/es-modules/Core/Globals.js +1 -1
  43. package/es-modules/Core/Legend/Legend.js +20 -17
  44. package/es-modules/Core/Legend/LegendSymbol.js +2 -2
  45. package/es-modules/Core/MSPointer.js +2 -2
  46. package/es-modules/Core/Math3D.js +6 -7
  47. package/es-modules/Core/Pointer.js +20 -10
  48. package/es-modules/Core/Renderer/HTML/AST.js +5 -1
  49. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
  50. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  51. package/es-modules/Core/Renderer/SVG/SVGElement.js +12 -11
  52. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +2 -2
  53. package/es-modules/Core/Renderer/SVG/SVGLabel.js +5 -5
  54. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +6 -6
  55. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +13 -12
  56. package/es-modules/Core/Renderer/SVG/Symbols.js +6 -5
  57. package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
  58. package/es-modules/Core/Responsive.js +7 -5
  59. package/es-modules/Core/Series/DataLabel.js +9 -8
  60. package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
  61. package/es-modules/Core/Series/Point.js +31 -24
  62. package/es-modules/Core/Series/Series.js +125 -82
  63. package/es-modules/Core/Series/Series3D.js +2 -2
  64. package/es-modules/Core/Series/SeriesDefaults.js +33 -0
  65. package/es-modules/Core/Templating.js +18 -15
  66. package/es-modules/Core/Tooltip.js +12 -9
  67. package/es-modules/Core/Utilities.js +4 -3
  68. package/es-modules/Data/Connectors/DataConnector.js +2 -2
  69. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
  70. package/es-modules/Data/DataTable.js +17 -0
  71. package/es-modules/Data/DataTableCore.js +1 -1
  72. package/es-modules/Extensions/Annotations/Annotation.js +5 -6
  73. package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
  74. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
  75. package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
  76. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +2 -2
  77. package/es-modules/Extensions/Annotations/EventEmitter.js +4 -4
  78. package/es-modules/Extensions/Annotations/MockPoint.js +7 -9
  79. package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
  80. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +31 -4
  81. package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
  82. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +6 -8
  83. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
  84. package/es-modules/Extensions/Annotations/Types/Measure.js +28 -10
  85. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  86. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
  87. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
  88. package/es-modules/Extensions/Boost/Boost.js +13 -0
  89. package/es-modules/Extensions/Boost/BoostChart.js +11 -4
  90. package/es-modules/Extensions/Boost/BoostSeries.js +17 -11
  91. package/es-modules/Extensions/Boost/WGLRenderer.js +9 -6
  92. package/es-modules/Extensions/Boost/WGLShader.js +3 -3
  93. package/es-modules/Extensions/BoostCanvas.js +2 -2
  94. package/es-modules/Extensions/BorderRadius.js +12 -10
  95. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -5
  96. package/es-modules/Extensions/DataGrouping/DataGrouping.js +2 -2
  97. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +4 -3
  98. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +2 -2
  99. package/es-modules/Extensions/DraggablePoints/DragDropProps.js +2 -3
  100. package/es-modules/Extensions/DraggablePoints/DraggableChart.js +1 -2
  101. package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
  102. package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
  103. package/es-modules/Extensions/ExportData/ExportData.js +21 -16
  104. package/es-modules/Extensions/Exporting/Exporting.js +28 -28
  105. package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
  106. package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
  107. package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
  108. package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
  109. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
  110. package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
  111. package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
  112. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
  113. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
  114. package/es-modules/Extensions/PatternFill.js +7 -5
  115. package/es-modules/Extensions/PriceIndication.js +5 -4
  116. package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
  117. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +8 -9
  118. package/es-modules/Extensions/Sonification/MIDI.js +2 -3
  119. package/es-modules/Extensions/Sonification/Sonification.js +2 -2
  120. package/es-modules/Extensions/Sonification/SonificationSpeaker.js +3 -2
  121. package/es-modules/Extensions/Sonification/SynthPatch.js +4 -4
  122. package/es-modules/Extensions/Sonification/TimelineFromChart.js +11 -11
  123. package/es-modules/Gantt/Legacy.js +2 -2
  124. package/es-modules/Gantt/Pathfinder.js +3 -3
  125. package/es-modules/Gantt/PathfinderAlgorithms.js +4 -3
  126. package/es-modules/Gantt/Tree.js +1 -1
  127. package/es-modules/Maps/GeoJSONComposition.js +14 -1
  128. package/es-modules/Maps/MapNavigation.js +4 -4
  129. package/es-modules/Maps/MapPointer.js +2 -2
  130. package/es-modules/Maps/MapView.js +3 -3
  131. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
  132. package/es-modules/Series/Area/AreaSeries.js +4 -5
  133. package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
  134. package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
  135. package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
  136. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +40 -32
  137. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
  138. package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
  139. package/es-modules/Series/Bubble/BubbleSeries.js +25 -9
  140. package/es-modules/Series/Bullet/BulletSeries.js +17 -10
  141. package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
  142. package/es-modules/Series/CenteredUtilities.js +12 -9
  143. package/es-modules/Series/ColorMapComposition.js +7 -4
  144. package/es-modules/Series/Column/ColumnPoint.js +2 -0
  145. package/es-modules/Series/Column/ColumnSeries.js +14 -14
  146. package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
  147. package/es-modules/Series/Column3D/Column3DComposition.js +22 -19
  148. package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
  149. package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
  150. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +7 -6
  151. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
  152. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
  153. package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
  154. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +13 -144
  155. package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
  156. package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
  157. package/es-modules/Series/Contour/ContourPoint.js +2 -0
  158. package/es-modules/Series/Contour/ContourSeries.js +1 -0
  159. package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
  160. package/es-modules/Series/Contour/ContourShader.js +9 -1
  161. package/es-modules/Series/CrossSymbol.js +3 -2
  162. package/es-modules/Series/Cylinder/CylinderComposition.js +12 -12
  163. package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
  164. package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
  165. package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
  166. package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
  167. package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
  168. package/es-modules/Series/DataModifyComposition.js +9 -7
  169. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  170. package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
  171. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
  172. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
  173. package/es-modules/Series/DerivedComposition.js +9 -8
  174. package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
  175. package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
  176. package/es-modules/Series/DotPlot/DotPlotSeries.js +6 -4
  177. package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
  178. package/es-modules/Series/DragNodesComposition.js +11 -8
  179. package/es-modules/Series/DrawPointUtilities.js +3 -1
  180. package/es-modules/Series/Dumbbell/DumbbellPoint.js +19 -6
  181. package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
  182. package/es-modules/Series/Dumbbell/DumbbellSeries.js +33 -15
  183. package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
  184. package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
  185. package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
  186. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
  187. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
  188. package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
  189. package/es-modules/Series/Flags/FlagsSeries.js +5 -14
  190. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
  191. package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
  192. package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
  193. package/es-modules/Series/Funnel/FunnelSeries.js +25 -26
  194. package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
  195. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
  196. package/es-modules/Series/Gantt/GanttSeries.js +2 -1
  197. package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
  198. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +9 -9
  199. package/es-modules/Series/GraphLayoutComposition.js +3 -3
  200. package/es-modules/Series/Heatmap/HeatmapPoint.js +6 -6
  201. package/es-modules/Series/Heatmap/HeatmapPointOptions.js +12 -0
  202. package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -13
  203. package/es-modules/Series/Heatmap/HeatmapSeriesOptions.js +12 -0
  204. package/es-modules/Series/Histogram/HistogramPoint.js +17 -0
  205. package/es-modules/Series/Histogram/HistogramPointOptions.js +12 -0
  206. package/es-modules/Series/Histogram/HistogramSeries.js +15 -3
  207. package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
  208. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
  209. package/es-modules/Series/InterpolationUtilities.js +5 -5
  210. package/es-modules/Series/Item/ItemPointOptions.js +14 -0
  211. package/es-modules/Series/Item/ItemSeries.js +18 -6
  212. package/es-modules/Series/Item/ItemSeriesOptions.js +14 -0
  213. package/es-modules/Series/Map/MapPoint.js +5 -3
  214. package/es-modules/Series/Map/MapSeries.js +6 -10
  215. package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
  216. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
  217. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +14 -9
  218. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
  219. package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
  220. package/es-modules/Series/NodesComposition.js +9 -10
  221. package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
  222. package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
  223. package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
  224. package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
  225. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
  226. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
  227. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +5 -5
  228. package/es-modules/Series/Pictorial/PictorialSeries.js +4 -2
  229. package/es-modules/Series/Pie/PieDataLabel.js +2 -2
  230. package/es-modules/Series/Pie/PiePoint.js +3 -4
  231. package/es-modules/Series/Pie/PieSeries.js +3 -2
  232. package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
  233. package/es-modules/Series/PolarComposition.js +13 -14
  234. package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
  235. package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
  236. package/es-modules/Series/RangeDataLabel.js +128 -0
  237. package/es-modules/Series/Sankey/SankeySeries.js +13 -7
  238. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
  239. package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
  240. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
  241. package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
  242. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +4 -4
  243. package/es-modules/Series/Spline/SplineSeries.js +5 -5
  244. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
  245. package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +20 -12
  246. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
  247. package/es-modules/Series/Tilemap/TilemapShapes.js +2 -2
  248. package/es-modules/Series/Timeline/TimelinePoint.js +2 -2
  249. package/es-modules/Series/Timeline/TimelineSeries.js +13 -6
  250. package/es-modules/Series/TreeUtilities.js +16 -7
  251. package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
  252. package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
  253. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  254. package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
  255. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
  256. package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
  257. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
  258. package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
  259. package/es-modules/Series/Vector/VectorSeries.js +7 -9
  260. package/es-modules/Series/Venn/VennSeries.js +3 -4
  261. package/es-modules/Series/Waterfall/WaterfallSeries.js +3 -3
  262. package/es-modules/Series/Windbarb/WindbarbSeries.js +8 -10
  263. package/es-modules/Series/XRange/XRangeSeries.js +8 -8
  264. package/es-modules/Shared/TimeBase.js +13 -8
  265. package/es-modules/Shared/Utilities.js +9 -7
  266. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -3
  267. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +4 -3
  268. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +1 -1
  269. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -2
  270. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -2
  271. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
  272. package/es-modules/Stock/Navigator/Navigator.js +26 -26
  273. package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
  274. package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
  275. package/es-modules/Stock/Navigator/StandaloneNavigator.js +55 -14
  276. package/es-modules/Stock/RangeSelector/RangeSelector.js +15 -11
  277. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +3 -3
  278. package/es-modules/Stock/Scrollbar/Scrollbar.js +8 -7
  279. package/es-modules/Stock/StockTools/StockToolbar.js +6 -6
  280. package/es-modules/Stock/StockTools/StockTools.js +2 -2
  281. package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
  282. package/es-modules/Stock/StockTools/StockToolsGui.js +6 -4
  283. package/es-modules/masters/highcharts-3d.src.js +1 -1
  284. package/es-modules/masters/highcharts-autoload.src.js +1 -1
  285. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  286. package/es-modules/masters/highcharts-more.src.js +1 -1
  287. package/es-modules/masters/highcharts.src.js +13 -8
  288. package/es-modules/masters/highmaps.src.js +1 -1
  289. package/es-modules/masters/highstock.src.js +1 -1
  290. package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
  291. package/es-modules/masters/i18n/fr-FR.src.js +1 -1
  292. package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
  293. package/es-modules/masters/i18n/nb-NO.src.js +1 -1
  294. package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
  295. package/es-modules/masters/i18n/zh-CN.src.js +1 -1
  296. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  297. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  298. package/es-modules/masters/indicators/ao.src.js +1 -1
  299. package/es-modules/masters/indicators/apo.src.js +1 -1
  300. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  301. package/es-modules/masters/indicators/aroon.src.js +1 -1
  302. package/es-modules/masters/indicators/atr.src.js +1 -1
  303. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  304. package/es-modules/masters/indicators/cci.src.js +1 -1
  305. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  306. package/es-modules/masters/indicators/cmf.src.js +1 -1
  307. package/es-modules/masters/indicators/cmo.src.js +1 -1
  308. package/es-modules/masters/indicators/dema.src.js +1 -1
  309. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  310. package/es-modules/masters/indicators/dmi.src.js +1 -1
  311. package/es-modules/masters/indicators/dpo.src.js +1 -1
  312. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  313. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  314. package/es-modules/masters/indicators/indicators.src.js +1 -1
  315. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  316. package/es-modules/masters/indicators/klinger.src.js +1 -1
  317. package/es-modules/masters/indicators/macd.src.js +1 -1
  318. package/es-modules/masters/indicators/mfi.src.js +1 -1
  319. package/es-modules/masters/indicators/momentum.src.js +1 -1
  320. package/es-modules/masters/indicators/natr.src.js +1 -1
  321. package/es-modules/masters/indicators/obv.src.js +1 -1
  322. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  323. package/es-modules/masters/indicators/ppo.src.js +1 -1
  324. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  325. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  326. package/es-modules/masters/indicators/psar.src.js +1 -1
  327. package/es-modules/masters/indicators/regressions.src.js +1 -1
  328. package/es-modules/masters/indicators/roc.src.js +1 -1
  329. package/es-modules/masters/indicators/rsi.src.js +1 -1
  330. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  331. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  332. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  333. package/es-modules/masters/indicators/tema.src.js +1 -1
  334. package/es-modules/masters/indicators/trendline.src.js +1 -1
  335. package/es-modules/masters/indicators/trix.src.js +1 -1
  336. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  337. package/es-modules/masters/indicators/vwap.src.js +1 -1
  338. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  339. package/es-modules/masters/indicators/wma.src.js +1 -1
  340. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  341. package/es-modules/masters/modules/accessibility.src.js +1 -1
  342. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  343. package/es-modules/masters/modules/annotations.src.js +1 -1
  344. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  345. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  346. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  347. package/es-modules/masters/modules/boost.src.js +1 -1
  348. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  349. package/es-modules/masters/modules/bullet.src.js +1 -1
  350. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  351. package/es-modules/masters/modules/contour.src.js +1 -1
  352. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  353. package/es-modules/masters/modules/cylinder.src.js +1 -1
  354. package/es-modules/masters/modules/data-sorting.src.js +1 -1
  355. package/es-modules/masters/modules/data-tools.src.js +1 -1
  356. package/es-modules/masters/modules/data.src.js +1 -1
  357. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  358. package/es-modules/masters/modules/debugger.src.js +1 -1
  359. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  360. package/es-modules/masters/modules/dotplot.src.js +1 -1
  361. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  362. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  363. package/es-modules/masters/modules/drilldown.src.js +1 -1
  364. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  365. package/es-modules/masters/modules/export-data.src.js +1 -1
  366. package/es-modules/masters/modules/exporting.src.js +1 -1
  367. package/es-modules/masters/modules/flowmap.src.js +2 -1
  368. package/es-modules/masters/modules/full-screen.src.js +1 -1
  369. package/es-modules/masters/modules/funnel.src.js +1 -1
  370. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  371. package/es-modules/masters/modules/gantt.src.js +1 -1
  372. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  373. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  374. package/es-modules/masters/modules/heatmap.src.js +1 -1
  375. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  376. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  377. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  378. package/es-modules/masters/modules/item-series.src.js +1 -1
  379. package/es-modules/masters/modules/lollipop.src.js +1 -1
  380. package/es-modules/masters/modules/map.src.js +1 -1
  381. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  382. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  383. package/es-modules/masters/modules/navigator.src.js +1 -1
  384. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  385. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  386. package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
  387. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  388. package/es-modules/masters/modules/organization.src.js +1 -1
  389. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  390. package/es-modules/masters/modules/pareto.src.js +1 -1
  391. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  392. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  393. package/es-modules/masters/modules/pictorial.src.js +1 -1
  394. package/es-modules/masters/modules/pointandfigure.src.js +1 -1
  395. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  396. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  397. package/es-modules/masters/modules/renko.src.js +1 -1
  398. package/es-modules/masters/modules/sankey.src.js +1 -1
  399. package/es-modules/masters/modules/series-label.src.js +1 -1
  400. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  401. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  402. package/es-modules/masters/modules/sonification.src.js +1 -1
  403. package/es-modules/masters/modules/static-scale.src.js +1 -1
  404. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  405. package/es-modules/masters/modules/stock.src.js +1 -1
  406. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  407. package/es-modules/masters/modules/sunburst.src.js +3 -2
  408. package/es-modules/masters/modules/textpath.src.js +1 -1
  409. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  410. package/es-modules/masters/modules/tilemap.src.js +1 -1
  411. package/es-modules/masters/modules/timeline.src.js +1 -1
  412. package/es-modules/masters/modules/treegraph.src.js +1 -1
  413. package/es-modules/masters/modules/treegrid.src.js +1 -1
  414. package/es-modules/masters/modules/treemap.src.js +1 -1
  415. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  416. package/es-modules/masters/modules/variwide.src.js +1 -1
  417. package/es-modules/masters/modules/vector.src.js +1 -1
  418. package/es-modules/masters/modules/venn.src.js +1 -1
  419. package/es-modules/masters/modules/windbarb.src.js +1 -1
  420. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  421. package/es-modules/masters/modules/xrange.src.js +1 -1
  422. package/es-modules/masters/standalone-navigator.src.js +1 -1
  423. package/es-modules/masters/themes/adaptive.src.js +1 -1
  424. package/es-modules/masters/themes/avocado.src.js +1 -1
  425. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  426. package/es-modules/masters/themes/grid-light.src.js +1 -1
  427. package/es-modules/masters/themes/high-contrast.src.js +1 -1
  428. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  429. package/es-modules/masters/themes/sunset.src.js +1 -1
  430. package/es-modules/tsconfig.tsbuildinfo +1 -1
  431. package/esm/highcharts-3d.js +2 -2
  432. package/esm/highcharts-3d.src.js +78 -55
  433. package/esm/highcharts-autoload.js +2 -2
  434. package/esm/highcharts-autoload.src.js +22 -8
  435. package/esm/highcharts-gantt.js +2 -2
  436. package/esm/highcharts-gantt.src.js +1 -24
  437. package/esm/highcharts-more.js +2 -2
  438. package/esm/highcharts-more.src.js +1198 -981
  439. package/esm/highcharts.js +5 -5
  440. package/esm/highcharts.src.js +702 -515
  441. package/esm/highmaps.js +2 -2
  442. package/esm/highmaps.src.js +1 -24
  443. package/esm/highstock.js +2 -2
  444. package/esm/highstock.src.js +1 -24
  445. package/esm/i18n/fr-FR.js +2 -2
  446. package/esm/i18n/fr-FR.src.js +22 -8
  447. package/esm/i18n/nb-NO.js +2 -2
  448. package/esm/i18n/nb-NO.src.js +22 -8
  449. package/esm/i18n/zh-CN.js +2 -2
  450. package/esm/i18n/zh-CN.src.js +22 -8
  451. package/esm/indicators/acceleration-bands.js +2 -2
  452. package/esm/indicators/acceleration-bands.src.js +22 -8
  453. package/esm/indicators/accumulation-distribution.js +2 -2
  454. package/esm/indicators/accumulation-distribution.src.js +22 -8
  455. package/esm/indicators/ao.js +2 -2
  456. package/esm/indicators/ao.src.js +22 -8
  457. package/esm/indicators/apo.js +2 -2
  458. package/esm/indicators/apo.src.js +22 -8
  459. package/esm/indicators/aroon-oscillator.js +2 -2
  460. package/esm/indicators/aroon-oscillator.src.js +22 -8
  461. package/esm/indicators/aroon.js +2 -2
  462. package/esm/indicators/aroon.src.js +24 -10
  463. package/esm/indicators/atr.js +2 -2
  464. package/esm/indicators/atr.src.js +22 -8
  465. package/esm/indicators/bollinger-bands.js +2 -2
  466. package/esm/indicators/bollinger-bands.src.js +22 -8
  467. package/esm/indicators/cci.js +2 -2
  468. package/esm/indicators/cci.src.js +22 -8
  469. package/esm/indicators/chaikin.js +2 -2
  470. package/esm/indicators/chaikin.src.js +22 -8
  471. package/esm/indicators/cmf.js +2 -2
  472. package/esm/indicators/cmf.src.js +22 -8
  473. package/esm/indicators/cmo.js +2 -2
  474. package/esm/indicators/cmo.src.js +22 -8
  475. package/esm/indicators/dema.js +2 -2
  476. package/esm/indicators/dema.src.js +22 -8
  477. package/esm/indicators/disparity-index.js +2 -2
  478. package/esm/indicators/disparity-index.src.js +22 -8
  479. package/esm/indicators/dmi.js +2 -2
  480. package/esm/indicators/dmi.src.js +22 -8
  481. package/esm/indicators/dpo.js +2 -2
  482. package/esm/indicators/dpo.src.js +25 -10
  483. package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
  484. package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
  485. package/esm/indicators/indicators-all.js +2 -2
  486. package/esm/indicators/indicators-all.src.js +31 -17
  487. package/esm/indicators/indicators.js +2 -2
  488. package/esm/indicators/indicators.src.js +24 -10
  489. package/esm/indicators/keltner-channels.js +2 -2
  490. package/esm/indicators/keltner-channels.src.js +22 -8
  491. package/esm/indicators/klinger.js +2 -2
  492. package/esm/indicators/klinger.src.js +22 -8
  493. package/esm/indicators/macd.js +2 -2
  494. package/esm/indicators/macd.src.js +22 -8
  495. package/esm/indicators/mfi.js +2 -2
  496. package/esm/indicators/mfi.src.js +22 -8
  497. package/esm/indicators/momentum.js +2 -2
  498. package/esm/indicators/momentum.src.js +22 -8
  499. package/esm/indicators/natr.js +2 -2
  500. package/esm/indicators/natr.src.js +22 -8
  501. package/esm/indicators/obv.js +2 -2
  502. package/esm/indicators/obv.src.js +22 -8
  503. package/esm/indicators/pivot-points.js +2 -2
  504. package/esm/indicators/pivot-points.src.js +22 -8
  505. package/esm/indicators/ppo.js +2 -2
  506. package/esm/indicators/ppo.src.js +22 -8
  507. package/esm/indicators/price-channel.js +2 -2
  508. package/esm/indicators/price-channel.src.js +22 -8
  509. package/esm/indicators/price-envelopes.js +2 -2
  510. package/esm/indicators/price-envelopes.src.js +22 -8
  511. package/esm/indicators/psar.js +2 -2
  512. package/esm/indicators/psar.src.js +22 -8
  513. package/esm/indicators/regressions.js +2 -2
  514. package/esm/indicators/regressions.src.js +22 -8
  515. package/esm/indicators/roc.js +2 -2
  516. package/esm/indicators/roc.src.js +22 -8
  517. package/esm/indicators/rsi.js +2 -2
  518. package/esm/indicators/rsi.src.js +23 -9
  519. package/esm/indicators/slow-stochastic.js +2 -2
  520. package/esm/indicators/slow-stochastic.src.js +22 -8
  521. package/esm/indicators/stochastic.js +2 -2
  522. package/esm/indicators/stochastic.src.js +22 -8
  523. package/esm/indicators/supertrend.js +2 -2
  524. package/esm/indicators/supertrend.src.js +22 -8
  525. package/esm/indicators/tema.js +2 -2
  526. package/esm/indicators/tema.src.js +22 -8
  527. package/esm/indicators/trendline.js +2 -2
  528. package/esm/indicators/trendline.src.js +22 -8
  529. package/esm/indicators/trix.js +2 -2
  530. package/esm/indicators/trix.src.js +22 -8
  531. package/esm/indicators/volume-by-price.js +2 -2
  532. package/esm/indicators/volume-by-price.src.js +23 -10
  533. package/esm/indicators/vwap.js +2 -2
  534. package/esm/indicators/vwap.src.js +22 -8
  535. package/esm/indicators/williams-r.js +2 -2
  536. package/esm/indicators/williams-r.src.js +22 -8
  537. package/esm/indicators/wma.js +2 -2
  538. package/esm/indicators/wma.src.js +22 -8
  539. package/esm/indicators/zigzag.js +2 -2
  540. package/esm/indicators/zigzag.src.js +22 -8
  541. package/esm/modules/accessibility.js +2 -2
  542. package/esm/modules/accessibility.src.js +564 -92
  543. package/esm/modules/annotations-advanced.js +11 -11
  544. package/esm/modules/annotations-advanced.src.js +224 -162
  545. package/esm/modules/annotations.js +11 -11
  546. package/esm/modules/annotations.src.js +184 -144
  547. package/esm/modules/arc-diagram.js +2 -2
  548. package/esm/modules/arc-diagram.src.js +37 -22
  549. package/esm/modules/arrow-symbols.js +3 -3
  550. package/esm/modules/arrow-symbols.src.js +22 -8
  551. package/esm/modules/boost-canvas.js +2 -2
  552. package/esm/modules/boost-canvas.src.js +60 -30
  553. package/esm/modules/boost.js +2 -2
  554. package/esm/modules/boost.src.js +72 -29
  555. package/esm/modules/broken-axis.js +2 -2
  556. package/esm/modules/broken-axis.src.js +27 -12
  557. package/esm/modules/bullet.js +2 -2
  558. package/esm/modules/bullet.src.js +38 -17
  559. package/esm/modules/coloraxis.js +2 -2
  560. package/esm/modules/coloraxis.src.js +47 -21
  561. package/esm/modules/contour.js +3 -3
  562. package/esm/modules/contour.src.js +46 -13
  563. package/esm/modules/current-date-indicator.js +2 -2
  564. package/esm/modules/current-date-indicator.src.js +22 -8
  565. package/esm/modules/cylinder.js +2 -2
  566. package/esm/modules/cylinder.src.js +46 -28
  567. package/esm/modules/data-sorting.js +2 -2
  568. package/esm/modules/data-sorting.src.js +22 -8
  569. package/esm/modules/data-tools.js +2 -2
  570. package/esm/modules/data-tools.src.js +44 -13
  571. package/esm/modules/data.js +4 -4
  572. package/esm/modules/data.src.js +23 -9
  573. package/esm/modules/datagrouping.js +2 -2
  574. package/esm/modules/datagrouping.src.js +28 -13
  575. package/esm/modules/debugger.js +2 -2
  576. package/esm/modules/debugger.src.js +22 -8
  577. package/esm/modules/dependency-wheel.js +2 -2
  578. package/esm/modules/dependency-wheel.src.js +428 -17
  579. package/esm/modules/dotplot.js +2 -2
  580. package/esm/modules/dotplot.src.js +27 -11
  581. package/esm/modules/drag-panes.js +2 -2
  582. package/esm/modules/drag-panes.src.js +22 -8
  583. package/esm/modules/draggable-points.js +2 -2
  584. package/esm/modules/draggable-points.src.js +24 -12
  585. package/esm/modules/drilldown.js +2 -2
  586. package/esm/modules/drilldown.src.js +38 -25
  587. package/esm/modules/dumbbell.js +2 -2
  588. package/esm/modules/dumbbell.src.js +72 -27
  589. package/esm/modules/export-data.js +2 -2
  590. package/esm/modules/export-data.src.js +42 -23
  591. package/esm/modules/exporting.js +2 -2
  592. package/esm/modules/exporting.src.js +83 -37
  593. package/esm/modules/flowmap.js +3 -2
  594. package/esm/modules/flowmap.src.js +43 -18
  595. package/esm/modules/full-screen.js +2 -2
  596. package/esm/modules/full-screen.src.js +22 -8
  597. package/esm/modules/funnel.js +2 -2
  598. package/esm/modules/funnel.src.js +73 -42
  599. package/esm/modules/funnel3d.js +2 -2
  600. package/esm/modules/funnel3d.src.js +35 -20
  601. package/esm/modules/gantt.js +2 -2
  602. package/esm/modules/gantt.src.js +542 -100
  603. package/esm/modules/geoheatmap.js +2 -2
  604. package/esm/modules/geoheatmap.src.js +35 -21
  605. package/esm/modules/grid-axis.js +2 -2
  606. package/esm/modules/grid-axis.src.js +33 -12
  607. package/esm/modules/heatmap.js +2 -2
  608. package/esm/modules/heatmap.src.js +50 -33
  609. package/esm/modules/heikinashi.js +2 -2
  610. package/esm/modules/heikinashi.src.js +22 -8
  611. package/esm/modules/histogram-bellcurve.js +2 -2
  612. package/esm/modules/histogram-bellcurve.src.js +56 -25
  613. package/esm/modules/hollowcandlestick.js +2 -2
  614. package/esm/modules/hollowcandlestick.src.js +31 -17
  615. package/esm/modules/item-series.js +2 -2
  616. package/esm/modules/item-series.src.js +72 -13
  617. package/esm/modules/lollipop.js +2 -2
  618. package/esm/modules/lollipop.src.js +22 -8
  619. package/esm/modules/map.js +2 -2
  620. package/esm/modules/map.src.js +148 -91
  621. package/esm/modules/marker-clusters.js +2 -2
  622. package/esm/modules/marker-clusters.src.js +25 -13
  623. package/esm/modules/mouse-wheel-zoom.js +2 -2
  624. package/esm/modules/mouse-wheel-zoom.src.js +54 -13
  625. package/esm/modules/navigator.js +2 -2
  626. package/esm/modules/navigator.src.js +534 -74
  627. package/esm/modules/networkgraph.js +2 -2
  628. package/esm/modules/networkgraph.src.js +87 -46
  629. package/esm/modules/no-data-to-display.js +2 -2
  630. package/esm/modules/no-data-to-display.src.js +22 -8
  631. package/esm/modules/non-cartesian-zoom.js +2 -2
  632. package/esm/modules/non-cartesian-zoom.src.js +22 -8
  633. package/esm/modules/offline-exporting.js +2 -2
  634. package/esm/modules/offline-exporting.src.js +53 -12
  635. package/esm/modules/organization.js +4 -2
  636. package/esm/modules/organization.src.js +63 -19
  637. package/esm/modules/parallel-coordinates.js +2 -2
  638. package/esm/modules/parallel-coordinates.src.js +26 -9
  639. package/esm/modules/pareto.js +2 -2
  640. package/esm/modules/pareto.src.js +31 -16
  641. package/esm/modules/pathfinder.js +2 -2
  642. package/esm/modules/pathfinder.src.js +28 -13
  643. package/esm/modules/pattern-fill.js +2 -2
  644. package/esm/modules/pattern-fill.src.js +28 -12
  645. package/esm/modules/pictorial.js +2 -2
  646. package/esm/modules/pictorial.src.js +36 -19
  647. package/esm/modules/pointandfigure.js +2 -2
  648. package/esm/modules/pointandfigure.src.js +26 -11
  649. package/esm/modules/price-indicator.js +2 -2
  650. package/esm/modules/price-indicator.src.js +26 -11
  651. package/esm/modules/pyramid3d.js +2 -2
  652. package/esm/modules/pyramid3d.src.js +22 -8
  653. package/esm/modules/renko.js +2 -2
  654. package/esm/modules/renko.src.js +22 -8
  655. package/esm/modules/sankey.js +2 -2
  656. package/esm/modules/sankey.src.js +59 -31
  657. package/esm/modules/series-label.js +2 -2
  658. package/esm/modules/series-label.src.js +31 -18
  659. package/esm/modules/series-on-point.js +2 -2
  660. package/esm/modules/series-on-point.src.js +23 -9
  661. package/esm/modules/solid-gauge.js +2 -2
  662. package/esm/modules/solid-gauge.src.js +40 -20
  663. package/esm/modules/sonification.js +2 -2
  664. package/esm/modules/sonification.src.js +45 -30
  665. package/esm/modules/static-scale.js +2 -2
  666. package/esm/modules/static-scale.src.js +22 -8
  667. package/esm/modules/stock-tools.js +3 -3
  668. package/esm/modules/stock-tools.src.js +73 -27
  669. package/esm/modules/stock.js +2 -2
  670. package/esm/modules/stock.src.js +554 -122
  671. package/esm/modules/streamgraph.js +2 -2
  672. package/esm/modules/streamgraph.src.js +22 -8
  673. package/esm/modules/sunburst.js +2 -2
  674. package/esm/modules/sunburst.src.js +110 -45
  675. package/esm/modules/textpath.js +2 -2
  676. package/esm/modules/textpath.src.js +22 -8
  677. package/esm/modules/tiledwebmap.js +3 -3
  678. package/esm/modules/tiledwebmap.src.js +44 -19
  679. package/esm/modules/tilemap.js +2 -2
  680. package/esm/modules/tilemap.src.js +27 -12
  681. package/esm/modules/timeline.js +2 -2
  682. package/esm/modules/timeline.src.js +35 -14
  683. package/esm/modules/treegraph.js +2 -2
  684. package/esm/modules/treegraph.src.js +59 -27
  685. package/esm/modules/treegrid.js +2 -2
  686. package/esm/modules/treegrid.src.js +58 -27
  687. package/esm/modules/treemap.js +2 -2
  688. package/esm/modules/treemap.src.js +89 -36
  689. package/esm/modules/variable-pie.js +2 -2
  690. package/esm/modules/variable-pie.src.js +30 -13
  691. package/esm/modules/variwide.js +2 -2
  692. package/esm/modules/variwide.src.js +23 -9
  693. package/esm/modules/vector.js +2 -2
  694. package/esm/modules/vector.src.js +28 -16
  695. package/esm/modules/venn.js +2 -2
  696. package/esm/modules/venn.src.js +28 -13
  697. package/esm/modules/windbarb.js +2 -2
  698. package/esm/modules/windbarb.src.js +29 -17
  699. package/esm/modules/wordcloud.js +2 -2
  700. package/esm/modules/wordcloud.src.js +25 -9
  701. package/esm/modules/xrange.js +2 -2
  702. package/esm/modules/xrange.src.js +29 -15
  703. package/esm/standalone-navigator.js +5 -5
  704. package/esm/standalone-navigator.src.js +808 -570
  705. package/esm/themes/adaptive.js +3 -3
  706. package/esm/themes/adaptive.src.js +22 -8
  707. package/esm/themes/avocado.js +2 -2
  708. package/esm/themes/avocado.src.js +22 -8
  709. package/esm/themes/dark-unica.js +2 -2
  710. package/esm/themes/dark-unica.src.js +22 -8
  711. package/esm/themes/grid-light.js +2 -2
  712. package/esm/themes/grid-light.src.js +22 -8
  713. package/esm/themes/high-contrast.js +2 -2
  714. package/esm/themes/high-contrast.src.js +22 -8
  715. package/esm/themes/sand-signika.js +2 -2
  716. package/esm/themes/sand-signika.src.js +22 -8
  717. package/esm/themes/sunset.js +2 -2
  718. package/esm/themes/sunset.src.js +22 -8
  719. package/highcharts-3d.js +2 -2
  720. package/highcharts-3d.src.js +116 -92
  721. package/highcharts-autoload.d.ts +15 -5
  722. package/highcharts-autoload.js +4 -4
  723. package/highcharts-autoload.src.d.ts +15 -5
  724. package/highcharts-autoload.src.js +724 -499
  725. package/highcharts-gantt.js +4 -4
  726. package/highcharts-gantt.src.js +851 -590
  727. package/highcharts-more.d.ts +7 -3
  728. package/highcharts-more.js +2 -2
  729. package/highcharts-more.src.d.ts +7 -3
  730. package/highcharts-more.src.js +1313 -1095
  731. package/highcharts.d.ts +34795 -25647
  732. package/highcharts.js +4 -4
  733. package/highcharts.src.d.ts +34795 -25647
  734. package/highcharts.src.js +723 -498
  735. package/highmaps.js +4 -4
  736. package/highmaps.src.js +863 -583
  737. package/highstock.js +4 -4
  738. package/highstock.src.js +899 -619
  739. package/i18n/fr-FR.js +2 -2
  740. package/i18n/fr-FR.src.js +32 -16
  741. package/i18n/nb-NO.js +2 -2
  742. package/i18n/nb-NO.src.js +32 -16
  743. package/i18n/zh-CN.js +2 -2
  744. package/i18n/zh-CN.src.js +32 -16
  745. package/indicators/acceleration-bands.js +2 -2
  746. package/indicators/acceleration-bands.src.js +31 -16
  747. package/indicators/accumulation-distribution.js +2 -2
  748. package/indicators/accumulation-distribution.src.js +31 -16
  749. package/indicators/ao.js +2 -2
  750. package/indicators/ao.src.js +31 -16
  751. package/indicators/apo.js +2 -2
  752. package/indicators/apo.src.js +31 -16
  753. package/indicators/aroon-oscillator.js +2 -2
  754. package/indicators/aroon-oscillator.src.js +31 -16
  755. package/indicators/aroon.js +2 -2
  756. package/indicators/aroon.src.js +33 -18
  757. package/indicators/atr.js +2 -2
  758. package/indicators/atr.src.js +31 -16
  759. package/indicators/bollinger-bands.js +2 -2
  760. package/indicators/bollinger-bands.src.js +31 -16
  761. package/indicators/cci.js +2 -2
  762. package/indicators/cci.src.js +31 -16
  763. package/indicators/chaikin.js +2 -2
  764. package/indicators/chaikin.src.js +31 -16
  765. package/indicators/cmf.js +2 -2
  766. package/indicators/cmf.src.js +31 -16
  767. package/indicators/cmo.js +2 -2
  768. package/indicators/cmo.src.js +31 -16
  769. package/indicators/dema.js +2 -2
  770. package/indicators/dema.src.js +31 -16
  771. package/indicators/disparity-index.js +2 -2
  772. package/indicators/disparity-index.src.js +31 -16
  773. package/indicators/dmi.js +2 -2
  774. package/indicators/dmi.src.js +31 -16
  775. package/indicators/dpo.js +2 -2
  776. package/indicators/dpo.src.js +34 -18
  777. package/indicators/ichimoku-kinko-hyo.js +2 -2
  778. package/indicators/ichimoku-kinko-hyo.src.js +41 -26
  779. package/indicators/indicators-all.js +2 -2
  780. package/indicators/indicators-all.src.js +52 -37
  781. package/indicators/indicators.js +2 -2
  782. package/indicators/indicators.src.js +39 -24
  783. package/indicators/keltner-channels.js +2 -2
  784. package/indicators/keltner-channels.src.js +31 -16
  785. package/indicators/klinger.js +2 -2
  786. package/indicators/klinger.src.js +31 -16
  787. package/indicators/macd.js +2 -2
  788. package/indicators/macd.src.js +31 -16
  789. package/indicators/mfi.js +2 -2
  790. package/indicators/mfi.src.js +31 -16
  791. package/indicators/momentum.js +2 -2
  792. package/indicators/momentum.src.js +31 -16
  793. package/indicators/natr.js +2 -2
  794. package/indicators/natr.src.js +31 -16
  795. package/indicators/obv.js +2 -2
  796. package/indicators/obv.src.js +31 -16
  797. package/indicators/pivot-points.js +2 -2
  798. package/indicators/pivot-points.src.js +31 -16
  799. package/indicators/ppo.js +2 -2
  800. package/indicators/ppo.src.js +31 -16
  801. package/indicators/price-channel.js +2 -2
  802. package/indicators/price-channel.src.js +31 -16
  803. package/indicators/price-envelopes.js +2 -2
  804. package/indicators/price-envelopes.src.js +31 -16
  805. package/indicators/psar.js +2 -2
  806. package/indicators/psar.src.js +31 -16
  807. package/indicators/regressions.js +2 -2
  808. package/indicators/regressions.src.js +31 -16
  809. package/indicators/roc.js +2 -2
  810. package/indicators/roc.src.js +31 -16
  811. package/indicators/rsi.js +2 -2
  812. package/indicators/rsi.src.js +32 -17
  813. package/indicators/slow-stochastic.js +2 -2
  814. package/indicators/slow-stochastic.src.js +31 -16
  815. package/indicators/stochastic.js +2 -2
  816. package/indicators/stochastic.src.js +31 -16
  817. package/indicators/supertrend.js +2 -2
  818. package/indicators/supertrend.src.js +31 -16
  819. package/indicators/tema.js +2 -2
  820. package/indicators/tema.src.js +31 -16
  821. package/indicators/trendline.js +2 -2
  822. package/indicators/trendline.src.js +31 -16
  823. package/indicators/trix.js +2 -2
  824. package/indicators/trix.src.js +31 -16
  825. package/indicators/volume-by-price.js +2 -2
  826. package/indicators/volume-by-price.src.js +32 -18
  827. package/indicators/vwap.js +2 -2
  828. package/indicators/vwap.src.js +31 -16
  829. package/indicators/williams-r.js +2 -2
  830. package/indicators/williams-r.src.js +31 -16
  831. package/indicators/wma.js +2 -2
  832. package/indicators/wma.src.js +31 -16
  833. package/indicators/zigzag.js +2 -2
  834. package/indicators/zigzag.src.js +31 -16
  835. package/modules/accessibility.d.ts +47 -0
  836. package/modules/accessibility.js +2 -2
  837. package/modules/accessibility.src.d.ts +47 -0
  838. package/modules/accessibility.src.js +603 -130
  839. package/modules/annotations-advanced.js +11 -11
  840. package/modules/annotations-advanced.src.js +246 -183
  841. package/modules/annotations.js +11 -11
  842. package/modules/annotations.src.js +206 -165
  843. package/modules/arc-diagram.js +2 -2
  844. package/modules/arc-diagram.src.js +58 -42
  845. package/modules/arrow-symbols.js +2 -2
  846. package/modules/arrow-symbols.src.js +28 -13
  847. package/modules/boost-canvas.js +2 -2
  848. package/modules/boost-canvas.src.js +69 -38
  849. package/modules/boost.js +2 -2
  850. package/modules/boost.src.js +81 -37
  851. package/modules/broken-axis.js +2 -2
  852. package/modules/broken-axis.src.js +36 -20
  853. package/modules/bullet.js +2 -2
  854. package/modules/bullet.src.js +50 -28
  855. package/modules/coloraxis.js +2 -2
  856. package/modules/coloraxis.src.js +65 -38
  857. package/modules/contour.js +5 -5
  858. package/modules/contour.src.js +91 -44
  859. package/modules/current-date-indicator.js +2 -2
  860. package/modules/current-date-indicator.src.js +28 -13
  861. package/modules/cylinder.js +2 -2
  862. package/modules/cylinder.src.js +67 -48
  863. package/modules/data-sorting.js +2 -2
  864. package/modules/data-sorting.src.js +28 -13
  865. package/modules/data-tools.js +2 -2
  866. package/modules/data-tools.src.js +50 -18
  867. package/modules/data.js +2 -2
  868. package/modules/data.src.js +50 -35
  869. package/modules/datagrouping.js +2 -2
  870. package/modules/datagrouping.src.js +42 -26
  871. package/modules/debugger.js +2 -2
  872. package/modules/debugger.src.js +28 -13
  873. package/modules/dependency-wheel.d.ts +7 -1
  874. package/modules/dependency-wheel.js +2 -2
  875. package/modules/dependency-wheel.src.d.ts +7 -1
  876. package/modules/dependency-wheel.src.js +440 -28
  877. package/modules/dotplot.js +2 -2
  878. package/modules/dotplot.src.js +36 -19
  879. package/modules/drag-panes.js +2 -2
  880. package/modules/drag-panes.src.js +28 -13
  881. package/modules/draggable-points.js +2 -2
  882. package/modules/draggable-points.src.js +30 -17
  883. package/modules/drilldown.js +2 -2
  884. package/modules/drilldown.src.js +49 -35
  885. package/modules/dumbbell.js +2 -2
  886. package/modules/dumbbell.src.js +86 -40
  887. package/modules/export-data.d.ts +66 -1
  888. package/modules/export-data.js +2 -2
  889. package/modules/export-data.src.d.ts +66 -1
  890. package/modules/export-data.src.js +56 -36
  891. package/modules/exporting.d.ts +0 -103
  892. package/modules/exporting.js +2 -2
  893. package/modules/exporting.src.d.ts +0 -103
  894. package/modules/exporting.src.js +97 -50
  895. package/modules/flowmap.js +3 -2
  896. package/modules/flowmap.src.js +52 -26
  897. package/modules/full-screen.js +2 -2
  898. package/modules/full-screen.src.js +31 -16
  899. package/modules/funnel.d.ts +3 -3
  900. package/modules/funnel.js +2 -2
  901. package/modules/funnel.src.d.ts +3 -3
  902. package/modules/funnel.src.js +82 -50
  903. package/modules/funnel3d.js +2 -2
  904. package/modules/funnel3d.src.js +56 -40
  905. package/modules/gantt.d.ts +47 -0
  906. package/modules/gantt.js +8 -8
  907. package/modules/gantt.src.d.ts +47 -0
  908. package/modules/gantt.src.js +602 -156
  909. package/modules/geoheatmap.d.ts +13 -12
  910. package/modules/geoheatmap.js +2 -2
  911. package/modules/geoheatmap.src.d.ts +13 -12
  912. package/modules/geoheatmap.src.js +44 -29
  913. package/modules/grid-axis.js +2 -2
  914. package/modules/grid-axis.src.js +42 -20
  915. package/modules/heatmap.d.ts +0 -12
  916. package/modules/heatmap.js +4 -4
  917. package/modules/heatmap.src.d.ts +0 -12
  918. package/modules/heatmap.src.js +102 -71
  919. package/modules/heikinashi.js +2 -2
  920. package/modules/heikinashi.src.js +31 -16
  921. package/modules/histogram-bellcurve.js +2 -2
  922. package/modules/histogram-bellcurve.src.js +70 -38
  923. package/modules/hollowcandlestick.js +2 -2
  924. package/modules/hollowcandlestick.src.js +45 -30
  925. package/modules/item-series.js +2 -2
  926. package/modules/item-series.src.js +81 -21
  927. package/modules/lollipop.js +2 -2
  928. package/modules/lollipop.src.js +36 -21
  929. package/modules/map.d.ts +0 -20
  930. package/modules/map.js +4 -4
  931. package/modules/map.src.d.ts +0 -20
  932. package/modules/map.src.js +212 -140
  933. package/modules/marker-clusters.js +2 -2
  934. package/modules/marker-clusters.src.js +31 -18
  935. package/modules/mouse-wheel-zoom.js +2 -2
  936. package/modules/mouse-wheel-zoom.src.js +60 -18
  937. package/modules/navigator.d.ts +47 -0
  938. package/modules/navigator.js +2 -2
  939. package/modules/navigator.src.d.ts +47 -0
  940. package/modules/navigator.src.js +556 -95
  941. package/modules/networkgraph.js +2 -2
  942. package/modules/networkgraph.src.js +99 -57
  943. package/modules/no-data-to-display.js +2 -2
  944. package/modules/no-data-to-display.src.js +31 -16
  945. package/modules/non-cartesian-zoom.js +2 -2
  946. package/modules/non-cartesian-zoom.src.js +28 -13
  947. package/modules/offline-exporting.js +2 -2
  948. package/modules/offline-exporting.src.js +67 -25
  949. package/modules/organization.js +4 -2
  950. package/modules/organization.src.js +75 -30
  951. package/modules/parallel-coordinates.js +2 -2
  952. package/modules/parallel-coordinates.src.js +37 -19
  953. package/modules/pareto.js +2 -2
  954. package/modules/pareto.src.js +45 -29
  955. package/modules/pathfinder.js +2 -2
  956. package/modules/pathfinder.src.js +37 -21
  957. package/modules/pattern-fill.js +2 -2
  958. package/modules/pattern-fill.src.js +34 -17
  959. package/modules/pictorial.js +2 -2
  960. package/modules/pictorial.src.js +62 -43
  961. package/modules/pointandfigure.js +2 -2
  962. package/modules/pointandfigure.src.js +35 -19
  963. package/modules/price-indicator.js +2 -2
  964. package/modules/price-indicator.src.js +32 -16
  965. package/modules/pyramid3d.js +2 -2
  966. package/modules/pyramid3d.src.js +31 -16
  967. package/modules/renko.js +2 -2
  968. package/modules/renko.src.js +34 -19
  969. package/modules/sankey.js +2 -2
  970. package/modules/sankey.src.js +80 -51
  971. package/modules/series-label.js +2 -2
  972. package/modules/series-label.src.js +42 -28
  973. package/modules/series-on-point.js +2 -2
  974. package/modules/series-on-point.src.js +40 -25
  975. package/modules/solid-gauge.d.ts +3 -3
  976. package/modules/solid-gauge.js +2 -2
  977. package/modules/solid-gauge.src.d.ts +3 -3
  978. package/modules/solid-gauge.src.js +54 -33
  979. package/modules/sonification.js +2 -2
  980. package/modules/sonification.src.js +56 -40
  981. package/modules/static-scale.js +2 -2
  982. package/modules/static-scale.src.js +28 -13
  983. package/modules/stock-tools.js +3 -3
  984. package/modules/stock-tools.src.js +90 -43
  985. package/modules/stock.d.ts +47 -0
  986. package/modules/stock.js +6 -6
  987. package/modules/stock.src.d.ts +47 -0
  988. package/modules/stock.src.js +650 -185
  989. package/modules/streamgraph.js +2 -2
  990. package/modules/streamgraph.src.js +31 -16
  991. package/modules/sunburst.js +2 -2
  992. package/modules/sunburst.src.js +137 -71
  993. package/modules/textpath.js +2 -2
  994. package/modules/textpath.src.js +28 -13
  995. package/modules/tiledwebmap.js +3 -3
  996. package/modules/tiledwebmap.src.js +65 -32
  997. package/modules/tilemap.js +2 -2
  998. package/modules/tilemap.src.js +41 -25
  999. package/modules/timeline.js +2 -2
  1000. package/modules/timeline.src.js +47 -25
  1001. package/modules/treegraph.js +2 -2
  1002. package/modules/treegraph.src.js +83 -50
  1003. package/modules/treegrid.js +2 -2
  1004. package/modules/treegrid.src.js +76 -44
  1005. package/modules/treemap.js +2 -2
  1006. package/modules/treemap.src.js +116 -62
  1007. package/modules/variable-pie.js +2 -2
  1008. package/modules/variable-pie.src.js +39 -21
  1009. package/modules/variwide.js +2 -2
  1010. package/modules/variwide.src.js +32 -17
  1011. package/modules/vector.js +2 -2
  1012. package/modules/vector.src.js +37 -24
  1013. package/modules/venn.js +2 -2
  1014. package/modules/venn.src.js +42 -26
  1015. package/modules/windbarb.js +2 -2
  1016. package/modules/windbarb.src.js +51 -38
  1017. package/modules/wordcloud.js +2 -2
  1018. package/modules/wordcloud.src.js +34 -17
  1019. package/modules/xrange.js +2 -2
  1020. package/modules/xrange.src.js +43 -28
  1021. package/options/abands.d.ts +722 -83
  1022. package/options/abands.src.d.ts +722 -83
  1023. package/options/ad.d.ts +381 -26
  1024. package/options/ad.src.d.ts +381 -26
  1025. package/options/ao.d.ts +744 -70
  1026. package/options/ao.src.d.ts +744 -70
  1027. package/options/apo.d.ts +381 -26
  1028. package/options/apo.src.d.ts +381 -26
  1029. package/options/arcdiagram.d.ts +80 -534
  1030. package/options/arcdiagram.src.d.ts +80 -534
  1031. package/options/area.d.ts +432 -129
  1032. package/options/area.src.d.ts +432 -129
  1033. package/options/arearange.d.ts +46 -4
  1034. package/options/arearange.src.d.ts +46 -4
  1035. package/options/areaspline.d.ts +141 -866
  1036. package/options/areaspline.src.d.ts +141 -866
  1037. package/options/areasplinerange.d.ts +221 -871
  1038. package/options/areasplinerange.src.d.ts +221 -871
  1039. package/options/aroon.d.ts +432 -124
  1040. package/options/aroon.src.d.ts +432 -124
  1041. package/options/aroonoscillator.d.ts +127 -689
  1042. package/options/aroonoscillator.src.d.ts +127 -689
  1043. package/options/atr.d.ts +381 -71
  1044. package/options/atr.src.d.ts +381 -71
  1045. package/options/bar.d.ts +103 -12
  1046. package/options/bar.src.d.ts +103 -12
  1047. package/options/bb.d.ts +87 -762
  1048. package/options/bb.src.d.ts +87 -762
  1049. package/options/bellcurve.d.ts +87 -364
  1050. package/options/bellcurve.src.d.ts +87 -364
  1051. package/options/boxplot.d.ts +82 -13
  1052. package/options/boxplot.src.d.ts +82 -13
  1053. package/options/bubble.d.ts +83 -874
  1054. package/options/bubble.src.d.ts +83 -874
  1055. package/options/bullet.d.ts +354 -717
  1056. package/options/bullet.src.d.ts +354 -717
  1057. package/options/candlestick.d.ts +99 -1214
  1058. package/options/candlestick.src.d.ts +99 -1214
  1059. package/options/cci.d.ts +381 -26
  1060. package/options/cci.src.d.ts +381 -26
  1061. package/options/chaikin.d.ts +728 -83
  1062. package/options/chaikin.src.d.ts +728 -83
  1063. package/options/cmf.d.ts +381 -26
  1064. package/options/cmf.src.d.ts +381 -26
  1065. package/options/cmo.d.ts +730 -79
  1066. package/options/cmo.src.d.ts +730 -79
  1067. package/options/column.d.ts +1265 -99
  1068. package/options/column.src.d.ts +1265 -99
  1069. package/options/columnpyramid.d.ts +102 -1158
  1070. package/options/columnpyramid.src.d.ts +102 -1158
  1071. package/options/columnrange.d.ts +952 -95
  1072. package/options/columnrange.src.d.ts +952 -95
  1073. package/options/contour.d.ts +31 -443
  1074. package/options/contour.src.d.ts +31 -443
  1075. package/options/cylinder.d.ts +100 -12
  1076. package/options/cylinder.src.d.ts +100 -12
  1077. package/options/dema.d.ts +80 -736
  1078. package/options/dema.src.d.ts +80 -736
  1079. package/options/dependencywheel.d.ts +599 -218
  1080. package/options/dependencywheel.src.d.ts +599 -218
  1081. package/options/disparityindex.d.ts +84 -365
  1082. package/options/disparityindex.src.d.ts +84 -365
  1083. package/options/dmi.d.ts +86 -775
  1084. package/options/dmi.src.d.ts +86 -775
  1085. package/options/dpo.d.ts +83 -365
  1086. package/options/dpo.src.d.ts +83 -365
  1087. package/options/dumbbell.d.ts +27 -4
  1088. package/options/dumbbell.src.d.ts +27 -4
  1089. package/options/ema.d.ts +81 -703
  1090. package/options/ema.src.d.ts +81 -703
  1091. package/options/errorbar.d.ts +91 -1161
  1092. package/options/errorbar.src.d.ts +91 -1161
  1093. package/options/flags.d.ts +98 -1192
  1094. package/options/flags.src.d.ts +98 -1192
  1095. package/options/flowmap.d.ts +48 -373
  1096. package/options/flowmap.src.d.ts +48 -373
  1097. package/options/funnel.d.ts +40 -3
  1098. package/options/funnel.src.d.ts +40 -3
  1099. package/options/gantt.d.ts +37 -40
  1100. package/options/gantt.src.d.ts +37 -40
  1101. package/options/gauge.d.ts +398 -472
  1102. package/options/gauge.src.d.ts +398 -472
  1103. package/options/geoheatmap.d.ts +462 -63
  1104. package/options/geoheatmap.src.d.ts +462 -63
  1105. package/options/heatmap.d.ts +31 -380
  1106. package/options/heatmap.src.d.ts +31 -380
  1107. package/options/heikinashi.d.ts +20 -2
  1108. package/options/heikinashi.src.d.ts +20 -2
  1109. package/options/hlc.d.ts +20 -2
  1110. package/options/hlc.src.d.ts +20 -2
  1111. package/options/ikh.d.ts +750 -103
  1112. package/options/ikh.src.d.ts +750 -103
  1113. package/options/item.d.ts +34 -74
  1114. package/options/item.src.d.ts +34 -74
  1115. package/options/keltnerchannels.d.ts +87 -708
  1116. package/options/keltnerchannels.src.d.ts +87 -708
  1117. package/options/klinger.d.ts +34 -365
  1118. package/options/klinger.src.d.ts +34 -365
  1119. package/options/line.d.ts +151 -851
  1120. package/options/line.src.d.ts +151 -851
  1121. package/options/linearregression.d.ts +960 -85
  1122. package/options/linearregression.src.d.ts +960 -85
  1123. package/options/linearregressionangle.d.ts +96 -699
  1124. package/options/linearregressionangle.src.d.ts +96 -699
  1125. package/options/linearregressionintercept.d.ts +381 -26
  1126. package/options/linearregressionintercept.src.d.ts +381 -26
  1127. package/options/linearregressionslope.d.ts +381 -26
  1128. package/options/linearregressionslope.src.d.ts +381 -26
  1129. package/options/lollipop.d.ts +214 -851
  1130. package/options/lollipop.src.d.ts +214 -851
  1131. package/options/macd.d.ts +386 -83
  1132. package/options/macd.src.d.ts +386 -83
  1133. package/options/map.d.ts +470 -36
  1134. package/options/map.src.d.ts +470 -36
  1135. package/options/mapbubble.d.ts +43 -532
  1136. package/options/mapbubble.src.d.ts +43 -532
  1137. package/options/mapline.d.ts +135 -58
  1138. package/options/mapline.src.d.ts +135 -58
  1139. package/options/mappoint.d.ts +205 -283
  1140. package/options/mappoint.src.d.ts +205 -283
  1141. package/options/mfi.d.ts +772 -82
  1142. package/options/mfi.src.d.ts +772 -82
  1143. package/options/momentum.d.ts +381 -71
  1144. package/options/momentum.src.d.ts +381 -71
  1145. package/options/natr.d.ts +776 -75
  1146. package/options/natr.src.d.ts +776 -75
  1147. package/options/networkgraph.d.ts +184 -207
  1148. package/options/networkgraph.src.d.ts +184 -207
  1149. package/options/obv.d.ts +426 -26
  1150. package/options/obv.src.d.ts +426 -26
  1151. package/options/ohlc.d.ts +77 -14
  1152. package/options/ohlc.src.d.ts +77 -14
  1153. package/options/packedbubble.d.ts +76 -696
  1154. package/options/packedbubble.src.d.ts +76 -696
  1155. package/options/pareto.d.ts +28 -364
  1156. package/options/pareto.src.d.ts +28 -364
  1157. package/options/pc.d.ts +724 -85
  1158. package/options/pc.src.d.ts +724 -85
  1159. package/options/pictorial.d.ts +1093 -58
  1160. package/options/pictorial.src.d.ts +1093 -58
  1161. package/options/pie.d.ts +595 -129
  1162. package/options/pie.src.d.ts +595 -129
  1163. package/options/pivotpoints.d.ts +34 -365
  1164. package/options/pivotpoints.src.d.ts +34 -365
  1165. package/options/pointandfigure.d.ts +10 -50
  1166. package/options/pointandfigure.src.d.ts +10 -50
  1167. package/options/polygon.d.ts +803 -74
  1168. package/options/polygon.src.d.ts +803 -74
  1169. package/options/ppo.d.ts +34 -365
  1170. package/options/ppo.src.d.ts +34 -365
  1171. package/options/priceenvelopes.d.ts +93 -719
  1172. package/options/priceenvelopes.src.d.ts +93 -719
  1173. package/options/psar.d.ts +34 -365
  1174. package/options/psar.src.d.ts +34 -365
  1175. package/options/pyramid.d.ts +35 -3
  1176. package/options/pyramid.src.d.ts +35 -3
  1177. package/options/renko.d.ts +25 -2
  1178. package/options/renko.src.d.ts +25 -2
  1179. package/options/roc.d.ts +78 -712
  1180. package/options/roc.src.d.ts +78 -712
  1181. package/options/rsi.d.ts +34 -365
  1182. package/options/rsi.src.d.ts +34 -365
  1183. package/options/sankey.d.ts +27 -5
  1184. package/options/sankey.src.d.ts +27 -5
  1185. package/options/scatter.d.ts +896 -290
  1186. package/options/scatter.src.d.ts +896 -290
  1187. package/options/series.d.ts +938 -83
  1188. package/options/series.src.d.ts +938 -83
  1189. package/options/slowstochastic.d.ts +381 -26
  1190. package/options/slowstochastic.src.d.ts +381 -26
  1191. package/options/sma.d.ts +729 -79
  1192. package/options/sma.src.d.ts +729 -79
  1193. package/options/solidgauge.d.ts +882 -105
  1194. package/options/solidgauge.src.d.ts +882 -105
  1195. package/options/spline.d.ts +389 -90
  1196. package/options/spline.src.d.ts +389 -90
  1197. package/options/stochastic.d.ts +83 -716
  1198. package/options/stochastic.src.d.ts +83 -716
  1199. package/options/streamgraph.d.ts +97 -364
  1200. package/options/streamgraph.src.d.ts +97 -364
  1201. package/options/sunburst.d.ts +87 -19
  1202. package/options/sunburst.src.d.ts +87 -19
  1203. package/options/supertrend.d.ts +77 -749
  1204. package/options/supertrend.src.d.ts +77 -749
  1205. package/options/tema.d.ts +83 -365
  1206. package/options/tema.src.d.ts +83 -365
  1207. package/options/tiledwebmap.d.ts +13 -72
  1208. package/options/tiledwebmap.src.d.ts +13 -72
  1209. package/options/tilemap.d.ts +372 -533
  1210. package/options/tilemap.src.d.ts +372 -533
  1211. package/options/timeline.d.ts +49 -154
  1212. package/options/timeline.src.d.ts +49 -154
  1213. package/options/treegraph.d.ts +174 -696
  1214. package/options/treegraph.src.d.ts +174 -696
  1215. package/options/treemap.d.ts +468 -1079
  1216. package/options/treemap.src.d.ts +468 -1079
  1217. package/options/trendline.d.ts +381 -26
  1218. package/options/trendline.src.d.ts +381 -26
  1219. package/options/trix.d.ts +712 -82
  1220. package/options/trix.src.d.ts +712 -82
  1221. package/options/variablepie.d.ts +130 -587
  1222. package/options/variablepie.src.d.ts +130 -587
  1223. package/options/variwide.d.ts +1123 -94
  1224. package/options/variwide.src.d.ts +1123 -94
  1225. package/options/vbp.d.ts +57 -383
  1226. package/options/vbp.src.d.ts +57 -383
  1227. package/options/vector.d.ts +22 -58
  1228. package/options/vector.src.d.ts +22 -58
  1229. package/options/venn.d.ts +32 -78
  1230. package/options/venn.src.d.ts +32 -78
  1231. package/options/vwap.d.ts +122 -703
  1232. package/options/vwap.src.d.ts +122 -703
  1233. package/options/waterfall.d.ts +139 -1150
  1234. package/options/waterfall.src.d.ts +139 -1150
  1235. package/options/williamsr.d.ts +381 -76
  1236. package/options/williamsr.src.d.ts +381 -76
  1237. package/options/windbarb.d.ts +39 -2
  1238. package/options/windbarb.src.d.ts +39 -2
  1239. package/options/wma.d.ts +78 -704
  1240. package/options/wma.src.d.ts +78 -704
  1241. package/options/wordcloud.d.ts +98 -595
  1242. package/options/wordcloud.src.d.ts +98 -595
  1243. package/options/xrange.d.ts +166 -1056
  1244. package/options/xrange.src.d.ts +166 -1056
  1245. package/options/zigzag.d.ts +34 -410
  1246. package/options/zigzag.src.d.ts +34 -410
  1247. package/package.json +1 -1
  1248. package/standalone-navigator.js +4 -4
  1249. package/standalone-navigator.src.js +829 -553
  1250. package/themes/adaptive.js +2 -2
  1251. package/themes/adaptive.src.js +33 -18
  1252. package/themes/avocado.js +2 -2
  1253. package/themes/avocado.src.js +28 -13
  1254. package/themes/dark-unica.js +2 -2
  1255. package/themes/dark-unica.src.js +28 -13
  1256. package/themes/grid-light.js +2 -2
  1257. package/themes/grid-light.src.js +28 -13
  1258. package/themes/high-contrast.js +2 -2
  1259. package/themes/high-contrast.src.js +28 -13
  1260. package/themes/sand-signika.js +2 -2
  1261. package/themes/sand-signika.src.js +28 -13
  1262. package/themes/sunset.js +2 -2
  1263. package/themes/sunset.src.js +28 -13
  1264. 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.0 (2026-06-11)
3
+ * @license Highcharts JS v13.0.2 (2026-08-27)
4
4
  * @module highcharts/modules/boost-canvas
5
5
  * @requires highcharts
6
6
  *
@@ -26,34 +26,34 @@ return /******/ (() => { // webpackBootstrap
26
26
  /******/ "use strict";
27
27
  /******/ var __webpack_modules__ = ({
28
28
 
29
- /***/ 620:
30
- /***/ ((module) => {
29
+ /***/ 620
30
+ (module) {
31
31
 
32
32
  module.exports = __WEBPACK_EXTERNAL_MODULE__620__;
33
33
 
34
- /***/ }),
34
+ /***/ },
35
35
 
36
- /***/ 944:
37
- /***/ ((module) => {
36
+ /***/ 944
37
+ (module) {
38
38
 
39
39
  module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
40
40
 
41
- /***/ })
41
+ /***/ }
42
42
 
43
43
  /******/ });
44
44
  /************************************************************************/
45
45
  /******/ // The module cache
46
- /******/ var __webpack_module_cache__ = {};
46
+ /******/ const __webpack_module_cache__ = {};
47
47
  /******/
48
48
  /******/ // The require function
49
49
  /******/ function __webpack_require__(moduleId) {
50
50
  /******/ // Check if module is in cache
51
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
51
+ /******/ const cachedModule = __webpack_module_cache__[moduleId];
52
52
  /******/ if (cachedModule !== undefined) {
53
53
  /******/ return cachedModule.exports;
54
54
  /******/ }
55
55
  /******/ // Create a new module (and put it into the cache)
56
- /******/ var module = __webpack_module_cache__[moduleId] = {
56
+ /******/ const module = __webpack_module_cache__[moduleId] = {
57
57
  /******/ // no module.id needed
58
58
  /******/ // no module.loaded needed
59
59
  /******/ exports: {}
@@ -71,7 +71,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
71
71
  /******/ (() => {
72
72
  /******/ // getDefaultExport function for compatibility with non-harmony modules
73
73
  /******/ __webpack_require__.n = (module) => {
74
- /******/ var getter = module && module.__esModule ?
74
+ /******/ const getter = module && module.__esModule ?
75
75
  /******/ () => (module['default']) :
76
76
  /******/ () => (module);
77
77
  /******/ __webpack_require__.d(getter, { a: getter });
@@ -81,11 +81,26 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
81
81
  /******/
82
82
  /******/ /* webpack/runtime/define property getters */
83
83
  /******/ (() => {
84
- /******/ // define getter functions for harmony exports
84
+ /******/ // define getter/value functions for harmony exports
85
85
  /******/ __webpack_require__.d = (exports, definition) => {
86
- /******/ for(var key in definition) {
87
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
88
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
86
+ /******/ if(Array.isArray(definition)) {
87
+ /******/ var i = 0;
88
+ /******/ while(i < definition.length) {
89
+ /******/ var key = definition[i++];
90
+ /******/ var binding = definition[i++];
91
+ /******/ if(!__webpack_require__.o(exports, key)) {
92
+ /******/ if(binding === 0) {
93
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
94
+ /******/ } else {
95
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
96
+ /******/ }
97
+ /******/ } else if(binding === 0) { i++; }
98
+ /******/ }
99
+ /******/ } else {
100
+ /******/ for(var key in definition) {
101
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
102
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
103
+ /******/ }
89
104
  /******/ }
90
105
  /******/ }
91
106
  /******/ };
@@ -97,7 +112,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
97
112
  /******/ })();
98
113
  /******/
99
114
  /************************************************************************/
100
- var __webpack_exports__ = {};
115
+ let __webpack_exports__ = {};
101
116
 
102
117
  // EXPORTS
103
118
  __webpack_require__.d(__webpack_exports__, {
@@ -259,6 +274,13 @@ function getBoostClipRect(chart, target) {
259
274
  }
260
275
  if (target === chart) {
261
276
  const verticalAxes = chart.inverted ? chart.xAxis : chart.yAxis; // #14444
277
+ // Use chart.clipBox dimensions to match what createAndAttachRenderer
278
+ // compares against. Fractional clipOffset shrinks chart.clipBox below
279
+ // plotWidth/Height, breaking that check. #22949
280
+ if (!chart.inverted && !navigator && chart.clipBox) {
281
+ clipBox.width = chart.clipBox.width;
282
+ clipBox.height = chart.clipBox.height;
283
+ }
262
284
  if (verticalAxes.length <= 1) {
263
285
  clipBox.y = Math.min(verticalAxes[0].pos, clipBox.y);
264
286
  clipBox.height = (verticalAxes[0].pos -
@@ -278,7 +300,7 @@ function getBoostClipRect(chart, target) {
278
300
  * `true` if the chart is in series boost mode.
279
301
  */
280
302
  function isChartSeriesBoosting(chart) {
281
- const allSeries = chart.series, boost = chart.boost = chart.boost || {}, boostOptions = chart.options.boost || {}, threshold = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(boostOptions.seriesThreshold, 50);
303
+ const allSeries = chart.series, boost = chart.boost = chart.boost || {}, boostOptions = chart.options.boost || {}, threshold = (boostOptions.seriesThreshold ?? 50);
282
304
  if (allSeries.length >= threshold) {
283
305
  return true;
284
306
  }
@@ -289,8 +311,8 @@ function isChartSeriesBoosting(chart) {
289
311
  if (typeof allowBoostForce === 'undefined') {
290
312
  allowBoostForce = true;
291
313
  for (const axis of chart.xAxis) {
292
- if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(axis.min, -Infinity) > (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(axis.dataMin, -Infinity) ||
293
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(axis.max, Infinity) < (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(axis.dataMax, Infinity)) {
314
+ if ((axis.min ?? -Infinity) > (axis.dataMin ?? -Infinity) ||
315
+ (axis.max ?? Infinity) < (axis.dataMax ?? Infinity)) {
294
316
  allowBoostForce = false;
295
317
  break;
296
318
  }
@@ -867,9 +889,9 @@ class WGLShader {
867
889
  let zMin = Number.MAX_VALUE, zMax = -Number.MAX_VALUE;
868
890
  if (this.gl && this.shaderProgram && series.is('bubble')) {
869
891
  const pxSizes = series.getPxExtremes();
870
- zMin = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(seriesOptions.zMin, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(zCalcMin, seriesOptions.displayNegative === false ?
892
+ zMin = (seriesOptions.zMin ?? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(zCalcMin, seriesOptions.displayNegative === false ?
871
893
  seriesOptions.zThreshold : -Number.MAX_VALUE, zMin));
872
- zMax = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(seriesOptions.zMax, Math.max(zMax, zCalcMax));
894
+ zMax = (seriesOptions.zMax ?? Math.max(zMax, zCalcMax));
873
895
  this.gl.uniform1i(this.isBubbleUniform, 1);
874
896
  this.gl.uniform1i(this.isCircleUniform, 1);
875
897
  this.gl.uniform1i(this.bubbleSizeAreaUniform, (series.options.sizeBy !== 'width'));
@@ -2101,8 +2123,9 @@ class WGLRenderer {
2101
2123
  this.series.forEach((s, si) => {
2102
2124
  const options = s.series.options, shapeOptions = options.marker, lineWidth = (typeof options.lineWidth !== 'undefined' ?
2103
2125
  options.lineWidth :
2104
- 1), threshold = options.threshold, hasThreshold = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom, showMarkers = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.marker ? options.marker.enabled : null, s.series.xAxis.isRadial ? true : null, s.series.closestPointRangePx >
2105
- 2 * ((options.marker ?
2126
+ 1), threshold = options.threshold, hasThreshold = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom, showMarkers = ((options.marker ? options.marker.enabled : null) ??
2127
+ (s.series.xAxis.isRadial ? true : null) ??
2128
+ s.series.closestPointRangePx > 2 * ((options.marker ?
2106
2129
  options.marker.radius :
2107
2130
  10) || 10)), shapeTexture = this.textureHandles[(shapeOptions && shapeOptions.symbol) ||
2108
2131
  s.series.symbol] || this.textureHandles.circle;
@@ -2141,7 +2164,7 @@ class WGLRenderer {
2141
2164
  if (s.series.fillOpacity &&
2142
2165
  options.fillOpacity &&
2143
2166
  fillColor) {
2144
- fillColor = new (highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default())(fillColor).setOpacity((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.fillOpacity, 1.0)).get();
2167
+ fillColor = new (highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default())(fillColor).setOpacity((options.fillOpacity ?? 1.0)).get();
2145
2168
  }
2146
2169
  if (typeof fillColor === 'string') {
2147
2170
  fillColor = resolveColorExpression(chart.boost?.cssVars || {}, fillColor);
@@ -2194,7 +2217,8 @@ class WGLRenderer {
2194
2217
  this.setYAxis(s.series.yAxis);
2195
2218
  this.setThreshold(hasThreshold, translatedThreshold);
2196
2219
  if (s.drawMode === 'POINTS') {
2197
- shader.setPointSize((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.marker && options.marker.radius, 0.5) * 2 * pixelRatio);
2220
+ shader.setPointSize(((options.marker && options.marker.radius) ?? 0.5) *
2221
+ 2 * pixelRatio);
2198
2222
  }
2199
2223
  // If set to true, the toPixels translations in the shader
2200
2224
  // is skipped, i.e it's assumed that the value is a pixel coord.
@@ -2218,7 +2242,8 @@ class WGLRenderer {
2218
2242
  gl.disable(gl.SCISSOR_TEST);
2219
2243
  }
2220
2244
  if (s.hasMarkers && showMarkers) {
2221
- shader.setPointSize((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.marker && options.marker.radius, 5) * 2 * pixelRatio);
2245
+ shader.setPointSize(((options.marker && options.marker.radius) ?? 5) *
2246
+ 2 * pixelRatio);
2222
2247
  shader.setDrawAsCircle(true);
2223
2248
  for (sindex = 0; sindex < s.segments.length; sindex++) {
2224
2249
  vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, 'POINTS');
@@ -2682,7 +2707,7 @@ class DataTableCore {
2682
2707
  * Fetches the given column by the canonical column ID. Simplified version
2683
2708
  * of the full `DataTable.getRow` method, always returning by reference.
2684
2709
  *
2685
- * @function Highcharts.DataTable#setColumn
2710
+ * @function Highcharts.DataTable#getColumn
2686
2711
  *
2687
2712
  * @param {string} columnId
2688
2713
  * ID of the column to get.
@@ -2989,10 +3014,10 @@ function allocateIfNotSeriesBoosting(renderer, series) {
2989
3014
  * True, if boost is enabled.
2990
3015
  */
2991
3016
  function boostEnabled(chart) {
2992
- return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)((chart &&
3017
+ return ((chart &&
2993
3018
  chart.options &&
2994
3019
  chart.options.boost &&
2995
- chart.options.boost.enabled), true);
3020
+ chart.options.boost.enabled) ?? true);
2996
3021
  }
2997
3022
  /** @internal */
2998
3023
  function BoostSeries_compose(SeriesClass, seriesTypes, PointClass, wglMode) {
@@ -3398,7 +3423,7 @@ function exitBoost(series) {
3398
3423
  * @function Highcharts.Series#hasExtremes
3399
3424
  */
3400
3425
  function hasExtremes(series, checkX) {
3401
- const options = series.options, threshold = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.boostThreshold, Number.MAX_VALUE);
3426
+ const options = series.options, threshold = (options.boostThreshold ?? Number.MAX_VALUE);
3402
3427
  if (threshold === 0) {
3403
3428
  return false;
3404
3429
  }
@@ -3417,7 +3442,7 @@ function hasExtremes(series, checkX) {
3417
3442
  * @internal
3418
3443
  */
3419
3444
  const getSeriesBoosting = (series, data) => {
3420
- const { options, forceCrop, chart } = series, threshold = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.boostThreshold, Number.MAX_VALUE);
3445
+ const { options, forceCrop, chart } = series, threshold = (options.boostThreshold ?? Number.MAX_VALUE);
3421
3446
  // Return early if either will be grouped or boost is disabled.
3422
3447
  if (forceCrop || threshold === 0) {
3423
3448
  return false;
@@ -3521,10 +3546,9 @@ function getPoint(series, boostPoint) {
3521
3546
  data[pointIndex][keysIndex];
3522
3547
  }
3523
3548
  }
3524
- point.category = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(xAxis.categories ?
3549
+ point.category = (xAxis.categories ?
3525
3550
  xAxis.categories[point.x] :
3526
- point.x, // @todo simplify
3527
- point.x);
3551
+ point.x ?? point.x);
3528
3552
  point.key = point.name ?? point.category;
3529
3553
  point.dist = boostPoint.dist;
3530
3554
  point.distX = boostPoint.distX;
@@ -3551,7 +3575,14 @@ function scatterProcessData(force) {
3551
3575
  // Required to get tick-based zoom ranges that take options into account
3552
3576
  // like `minPadding`, `maxPadding`, `startOnTick`, `endOnTick`.
3553
3577
  series.yAxis.setTickInterval();
3554
- const boostThreshold = options.boostThreshold || 0, cropThreshold = options.cropThreshold, xData = series.getColumn('x'), xExtremes = xAxis.getExtremes(), xMax = xExtremes.max ?? Number.MAX_VALUE, xMin = xExtremes.min ?? -Number.MAX_VALUE, yData = series.getColumn('y'), yExtremes = yAxis.getExtremes(), yMax = yExtremes.max ?? Number.MAX_VALUE, yMin = yExtremes.min ?? -Number.MAX_VALUE;
3578
+ const boostThreshold = options.boostThreshold || 0, cropThreshold = options.cropThreshold, xData = series.getColumn('x'), xExtremes = xAxis.getExtremes(), xMax = xExtremes.max ?? Number.MAX_VALUE, xMin = xExtremes.min ?? -Number.MAX_VALUE, yData = series.getColumn('y'), yExtremes = yAxis.getExtremes(), yMax = yExtremes.max ?? Number.MAX_VALUE, yMin = yExtremes.min ?? -Number.MAX_VALUE,
3579
+ // Crop on the Y axis only against the hard options bounds, not the
3580
+ // auto-scaled `yAxis.min` and `yAxis.max`. Cropping against them would
3581
+ // lock reset zoom to the old window and stop the data extremes from
3582
+ // being restored (#24386).
3583
+ yCropMin = yAxis.userMin ?? ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(yAxis.options.min) ?
3584
+ yAxis.options.min : -Number.MAX_VALUE), yCropMax = yAxis.userMax ?? ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(yAxis.options.max) ?
3585
+ yAxis.options.max : Number.MAX_VALUE);
3555
3586
  /// if (series.boost) {
3556
3587
  // delete series.boost.pointDataIndices;
3557
3588
  // }
@@ -3591,7 +3622,7 @@ function scatterProcessData(force) {
3591
3622
  x = xData[i];
3592
3623
  y = yData?.[i];
3593
3624
  if (x >= xMin && x <= xMax &&
3594
- y >= yMin && y <= yMax) {
3625
+ y >= yCropMin && y <= yCropMax) {
3595
3626
  processedXData.push(x);
3596
3627
  processedYData.push(y);
3597
3628
  processedDataIndices.push(i);
@@ -3651,7 +3682,7 @@ function seriesRenderCanvas() {
3651
3682
  this.getColumn('x') :
3652
3683
  void 0) ||
3653
3684
  this.options.xData ||
3654
- this.getColumn('x', true)), lineWidth = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.lineWidth, 1), nullYSubstitute = options.nullInteraction && yMin, tooltip = chart.tooltip;
3685
+ this.getColumn('x', true)), lineWidth = (options.lineWidth ?? 1), nullYSubstitute = options.nullInteraction && yMin, tooltip = chart.tooltip;
3655
3686
  let renderer = false, lastClientX, yBottom = yAxis.getThreshold(threshold), minVal, maxVal, minI, maxI;
3656
3687
  // Clear mock points and tooltip after zoom (#20330)
3657
3688
  if (!this.boosted) {
@@ -4314,7 +4345,7 @@ var BoostCanvas;
4314
4345
  series.pointArrayMap.join(',') === 'low,high'), isStacked = !!options.stacking, cropStart = series.cropStart || 0, loadingOptions = chart.options.loading, requireSorting = series.requireSorting, connectNulls = options.connectNulls, useRaw = !xData, sdata = (isStacked ?
4315
4346
  series.data :
4316
4347
  (xData || rawData)), fillColor = (series.fillOpacity ?
4317
- highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default().parse(series.color).setOpacity((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.fillOpacity, 0.75)).get() :
4348
+ highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default().parse(series.color).setOpacity((options.fillOpacity ?? 0.75)).get() :
4318
4349
  series.color), compareX = options.findNearestPointBy === 'x', boost = this.boost || {}, cvsDrawPoint = series.cvsDrawPoint, cvsLineTo = options.lineWidth ? series.cvsLineTo : void 0, cvsMarker = (r && r <= 1 ?
4319
4350
  series.cvsMarkerSquare :
4320
4351
  series.cvsMarkerCircle);
package/modules/boost.js CHANGED
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.0 (2026-06-11)
2
+ * Highcharts JS v13.0.2 (2026-08-27)
3
3
  * @module highcharts/modules/boost
4
4
  * @requires highcharts
5
5
  *
@@ -11,4 +11,4 @@
11
11
  * A commercial license may be required depending on use,
12
12
  * see www.highcharts.com/license
13
13
  *
14
- * */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost",["highcharts/highcharts"],function(e){return t(e,e.Color)}):"object"==typeof exports?exports["highcharts/modules/boost"]=t(e._Highcharts,e._Highcharts.Color):e.Highcharts=t(e.Highcharts,e.Highcharts.Color)}("u"<typeof window?this:window,(e,t)=>(()=>{"use strict";let i,r,s;var o,n,a,l,h,d,f={620:e=>{e.exports=t},944:t=>{t.exports=e}},u={};function g(e){var t=u[e];if(void 0!==t)return t.exports;var i=u[e]={exports:{}};return f[e](i,i.exports,g),i.exports}g.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return g.d(t,{a:t}),t},g.d=(e,t)=>{for(var i in t)g.o(t,i)&&!g.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var c={};g.d(c,{default:()=>ex});var m=g(944),p=g.n(m);let b=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],x={};b.forEach(e=>{x[e]=!0});let{composed:A}=p();function y(e){let t=e.series,i=e.boost=e.boost||{},r=e.options.boost||{},s=(0,m.pick)(r.seriesThreshold,50);if(t.length>=s)return!0;if(1===t.length)return!1;let o=r.allowForce;if(void 0===o){for(let t of(o=!0,e.xAxis))if((0,m.pick)(t.min,-1/0)>(0,m.pick)(t.dataMin,-1/0)||(0,m.pick)(t.max,1/0)<(0,m.pick)(t.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 e of t)0!==(h=e.options).boostThreshold&&!1!==e.visible&&"heatmap"!==e.type&&(++a,x[e.type]&&++n,function(...e){let t=-Number.MAX_VALUE;return e.forEach(e=>{if(null!=e&&void 0!==e.length&&e.length>0)return t=e.length,!0}),t}(e.getColumn("x",!0),h.data||[],e.points)>=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===t.length&&l===n||!!i.markerGroup&&n===a&&l===n||l>5),i.forceChartBoost}function v(e){function t(){e.boost&&e.boost.wgl&&y(e)&&e.boost.wgl.render(e)}(0,m.addEvent)(e,"predraw",function(){e.boost=e.boost||{},e.boost.forceChartBoost=void 0,e.boosted=!1,e.axes.some(e=>e.isPanning)||e.boost.clear?.(),e.boost.canvas&&e.boost.wgl&&y(e)&&e.boost.wgl.allocateBuffer(e),e.boost.markerGroup&&e.xAxis&&e.xAxis.length>0&&e.yAxis&&e.yAxis.length>0&&e.boost.markerGroup.translate(e.xAxis[0].pos,e.yAxis[0].pos)}),(0,m.addEvent)(e,"load",t,{order:-1}),(0,m.addEvent)(e,"redraw",t);let i=-1,r=-1;(0,m.addEvent)(e.pointer,"afterGetHoverData",t=>{let s=t.hoverPoint?.series;if(e.boost=e.boost||{},e.boost.markerGroup&&s){let t=e.inverted?s.yAxis:s.xAxis,o=e.inverted?s.xAxis:s.yAxis;(t&&t.pos!==i||o&&o.pos!==r)&&(e.series.forEach(e=>{e.halo?.hide()}),e.boost.markerGroup.translate(t.pos,o.pos),i=t.pos,r=o.pos)}})}let P={compose:function(e,t){return t&&(0,m.pushUnique)(A,"Boost.Chart")&&e.prototype.callbacks.push(v),e},getBoostClipRect:function(e,t){let i=e.navigator,r={x:e.plotLeft,y:e.plotTop,width:e.plotWidth,height:e.plotHeight};if(i&&e.inverted?(r.width+=i.top+i.height,i.opposite||(r.x=i.left)):i&&!e.inverted&&(r.height=i.top+i.height-e.plotTop),t.is){let{xAxis:i,yAxis:s}=t;if(r=e.getClipBox(t),e.inverted){let e=r.width;r.width=r.height,r.height=e,r.x=s.pos,r.y=i.pos}else r.x=i.pos,r.y=s.pos}if(t===e){let t=e.inverted?e.xAxis:e.yAxis;t.length<=1&&(r.y=Math.min(t[0].pos,r.y),r.height=t[0].pos-e.plotTop+t[0].len)}return r},isChartSeriesBoosting:y};var T=g(620),k=g.n(T);let C={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},E=class{constructor(e){if(this.errors=[],this.uLocations={},this.gl=e,e&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let e=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"),t=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=e=>this.gl.getUniformLocation(this.shaderProgram,e);return e&&t?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),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,m.error)("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(e,t){let i=this.gl.createShader("vertex"===t?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+t+" 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(e,t,i,r=1){let s=e.options,o=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&e.is("bubble")){let a=e.getPxExtremes();o=(0,m.pick)(s.zMin,(0,m.clamp)(t,!1===s.displayNegative?s.zThreshold:-Number.MAX_VALUE,o)),n=(0,m.pick)(s.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==e.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,e.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*r),this.setUniform("bubbleMaxSize",a.maxPxSize*r),this.setUniform("bubbleZMin",o),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",e.options.zThreshold)}}setColor(e){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,e[0]/255,e[1]/255,e[2]/255,e[3])}setDrawAsCircle(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,+!!e)}setInverted(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,e)}setPMatrix(e){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,e)}setPointSize(e){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,e)}setSkipTranslation(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,+(!0===e))}setTexture(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,e)}setUniform(e,t){if(this.gl&&this.shaderProgram){let i=this.uLocations[e]=this.uLocations[e]||this.gl.getUniformLocation(this.shaderProgram,e);this.gl.uniform1f(i,t)}}},M=class{constructor(e,t,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=e,this.shader=t}allocate(e){this.iterator=-1,this.preAllocated=new Float32Array(4*e)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(e,t,i){let r;return(this.data=e||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(r=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||r,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),t),this.gl.enableVertexAttribArray(this.vertAttribute),r=!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(e,t,i,r){this.preAllocated&&(this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=r)}render(e,t,i){let r=this.preAllocated?this.preAllocated.length:this.data?.length||0;return!!this.buffer&&!!r&&((!e||e>r||e<0)&&(e=0),(!t||t>r)&&(t=r),!(e>=t)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],e/this.components,(t-e)/this.components),!0))}},{getBoostClipRect:w}=P,{parse:S}=k(),{doc:U,win:R}=p(),_={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},N={scatter:!0,bubble:!0},L=["webgl","experimental-webgl","moz-webgl","webkit-3d"],z={},D=(e,t)=>{if(z[t])return z[t];let i=0===t.indexOf("var(")&&e[t.slice(4,-1).trim()];if(i)return z[t]=i,i;if(0===t.indexOf("color-mix(")){let i=/^color-mix\(in srgb,([a-z0-9\(\)\-\#]+),([a-z0-9\(\)\-\#]+) ([0-9\.%]+)/.exec(t);if(i){let r=parseFloat(i[3])/100,s=D(e,i[1]),o=D(e,i[2]),n=new(k())(s).tweenTo(new(k())(o),r);return z[t]=n,n}}return t};class I{static orthoMatrix(e,t){return[2/e,0,0,0,0,-(2/t),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(e){let t,i,r;return e.boosted?(t=!!e.options.stacking,i=(e.getColumn("x").length?e.getColumn("x"):void 0)||e.options.xData||e.getColumn("x",!0),r=(t?e.data:i||e.options.data).length,"treemap"===e.type?r*=12:"heatmap"===e.type?r*=6:_[e.type]&&(r*=2),r):0}constructor(e){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=e,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||R.devicePixelRatio||1}setOptions(e){"pixelRatio"in e||(e.pixelRatio=1),(0,m.merge)(!0,this.settings,e)}allocateBuffer(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.series.forEach(e=>{e.boosted&&(i+=I.seriesPointCount(e))}),t&&t.allocate(i))}allocateBufferForSingleSeries(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.boosted&&(i=I.seriesPointCount(e)),t&&t.allocate(i))}clear(){let e=this.gl;e&&e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}pushSeriesData(e,t){let i=this.data,r=this.settings,s=this.vbuffer,o=e.pointArrayMap&&"low,high"===e.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:h,yAxis:d}=e,f=!!a.stacking,u=a.data,g=e.xAxis.getExtremes(),c=g.min-(e.xAxis.minPointOffset||0),p=g.max+(e.xAxis.minPointOffset||0),b=e.yAxis.getExtremes(),x=b.min-(e.yAxis.minPointOffset||0),A=b.max+(e.yAxis.minPointOffset||0),y=(e.getColumn("x").length?e.getColumn("x"):void 0)||a.xData||e.getColumn("x",!0),v=(e.getColumn("y").length?e.getColumn("y"):void 0)||a.yData||e.getColumn("y",!0),P=(e.getColumn("z").length?e.getColumn("z"):void 0)||a.zData||e.getColumn("z",!0),T=!y||0===y.length,{colorByPoint:C,connectNulls:E,threshold:M,zoneAxis:w="y",zones:U}=a,R=e.points||!1,N=f?e.data:y||u,L={x:Number.MAX_VALUE,y:0},z={x:-Number.MAX_VALUE,y:0},I=void 0===n.index,O=_[e.type],G=this.getPixelRatio(),B=n.options.colors||[],V=e.chart.plotWidth,X=!1,F=!1,H,j,q=0,W=!1,Y,K,Z,Q,$=-1,J=!1,ee=!1,et,ei=!1,er=!1,es,eo=!1,en=!0,ea=!0,el=[],eh=!1,ed=!1,ef=0,eu=0;if(a.boostData&&a.boostData.length>0)return;if(a.gapSize&&(ed="value"!==a.gapUnit?a.gapSize*e.closestPointRange:a.gapSize),n.boost){let e=n.renderer.circle(0,0,1).attr({fill:"var(--highcharts-background-color)"}).add(),t=new(k())(getComputedStyle(e.element).getPropertyValue("fill")).get(),i=new(k())(n.palette?.cssVars.dark["--highcharts-background-color"]||"").get();e.destroy(),n.boost.cssVars=n.palette?.cssVars[t===i?"dark":"light"]}let eg=n.boost?.cssVars||{};if(U?.length&&(el=[],U.forEach((e,t)=>{if("string"==typeof e.color){let i=S(D(eg,e.color)).rgba;i[0]/=255,i[1]/=255,i[2]/=255,el[t]=i,eh||void 0!==e.value||(eh=i)}}),!eh)){let t=e.pointAttribs&&e.pointAttribs().fill||e.color;eh=S("string"==typeof t?D(eg,t):"").rgba,eh[0]/=255,eh[1]/=255,eh[2]/=255}n.inverted&&(V=e.chart.plotHeight),e.closestPointRangePx=Number.MAX_VALUE;let ec=e=>{e&&(t.colorData.push(e[0]),t.colorData.push(e[1]),t.colorData.push(e[2]),t.colorData.push(e[3]))},em=(e,o,n,a=1,l)=>{ec(l),1!==G&&(!r.useGPUTranslations||t.skipTranslation)&&(e*=G,o*=G,a*=G),r.usePreallocated&&s?(s.push(e,o,+!!n,a),ef+=4):(i.push(e),i.push(o),i.push(n?G:0),i.push(a))},ep=()=>{t.segments.length&&(t.segments[t.segments.length-1].to=i.length||ef)},eb=()=>{t.segments.length&&t.segments[t.segments.length-1].from===(i.length||ef)||(ep(),t.segments.push({from:i.length||ef}))},ex=(e,t,i,r,s)=>{ec(s),em(e+i,t),ec(s),em(e,t),ec(s),em(e,t+r),ec(s),em(e,t+r),ec(s),em(e+i,t+r),ec(s),em(e+i,t)};if(eb(),R&&R.length>0){t.skipTranslation=!0,t.drawMode="TRIANGLES",R[0].node&&R[0].node.levelDynamic&&R.sort((e,t)=>{if(e.node){if(e.node.levelDynamic>t.node.levelDynamic)return 1;if(e.node.levelDynamic<t.node.levelDynamic)return -1}return 0}),R.forEach(t=>{let i,r,s=t.plotY;if(void 0!==s&&!isNaN(s)&&null!==t.y&&t.shapeArgs){let{x:s=0,y:o=0,width:a=0,height:l=0}=t.shapeArgs;i=(r=n.styledMode?t.series.colorAttribs(t):r=t.series.pointAttribs(t))["stroke-width"]||0,"string"==typeof r.fill&&(r.fill=D(eg,r.fill)),es=S(r.fill).rgba,es[0]/=255,es[1]/=255,es[2]/=255,e.is("treemap")&&(i=i||1,"string"==typeof r.stroke&&(r.stroke=D(eg,r.stroke)),j=S(r.stroke).rgba,j[0]/=255,j[1]/=255,j[2]/=255,ex(s,o,a,l,j),i/=2),e.is("heatmap")&&n.inverted&&(s=h.len-s,o=d.len-o,a=-a,l=-l),ex(s+i,o+i,a-2*i,l-2*i,es)}}),ep();return}for(;$<N.length-1;){if(void 0===(Z=N[++$]))continue;if(I)break;let i=u&&u[$];if(!T){let t;(0,m.isObject)(i,!0)&&i.color&&(t=S(i.color).rgba);let r=e.options.keys?.indexOf("color");Array.isArray(i)&&r&&"string"==typeof i[r]?t=S(i[r]).rgba:C&&(eu%=B.length,t=S(D(eg,B[eu])).rgba),t&&((es=t)[0]=t[0]/255,es[1]=t[1]/255,es[2]=t[2]/255,es[3]=t[3]),eu++}if(T?(Y=Z[0],K=Z[1],N[$+1]&&(ee=N[$+1][0]),N[$-1]&&(J=N[$-1][0]),Z.length>=3&&(Q=Z[2],Z[2]>t.zMax&&(t.zMax=Z[2]),Z[2]<t.zMin&&(t.zMin=Z[2]))):(Y=Z,K=v?.[$],N[$+1]&&(ee=N[$+1]),N[$-1]&&(J=N[$-1]),P&&P.length&&(Q=P[$],P[$]>t.zMax&&(t.zMax=P[$]),P[$]<t.zMin&&(t.zMin=P[$]))),!E&&(null===Y||null===K)){eb();continue}if(ee&&ee>=c&&ee<=p&&(ei=!0),J&&J>=c&&J<=p&&(er=!0),o?(T&&(K=Z.slice(1,3)),et=e.getColumn("low",!0)?.[$],K=e.getColumn("high",!0)?.[$]||0):f&&(Y=Z.x,et=(K=Z.stackY)-Z.y),null!=x&&null!=A&&(en=K>=x&&K<=A),!l&&!en||(Y>p&&z.x<p&&(z.x=Y,z.y=K),Y<c&&L.x>c&&(L.x=Y,L.y=K),null===K&&E))continue;if(null===K||!en&&N.length>1&&!ei&&!er){eb();continue}if((l&&(ee>=c||Y>=c)&&(J<=p||Y<=p)||!l&&Y>=c&&Y<=p)&&(eo=!0),eo||ei||er){if(ed&&Y-J>ed&&eb(),U?.length){let e,t,i="x"===w?Y:K;U.some((e,r)=>void 0!==e.value&&i<e.value&&(t=r,!0)),void 0!==t&&el[t]&&(e=el[t]),es=e||eh||es}if(r.useGPUTranslations||(t.skipTranslation=!0,Y=h.toPixels(Y,!0),K=d.toPixels(K,!0),!(Y>V)||"POINTS"!==t.drawMode)){if(t.hasMarkers&&eo&&!1!==X&&(e.closestPointRangePx=Math.min(e.closestPointRangePx,Math.abs(Y-X))),!r.useGPUTranslations&&!r.usePreallocated&&X&&1>Math.abs(Y-X)&&F&&1>Math.abs(K-F)){r.debug.showSkipSummary&&++q;continue}O&&(H=et||0,(!1===et||void 0===et)&&(H=K<0?K:0),(o||f)&&!d.logarithmic||(H=Math.max(M??x,x)),r.useGPUTranslations||(H=d.toPixels(H,!0)),em(Y,H,!1,0,es)),a.step&&!ea&&em(Y,F,!1,2,es),em(Y,K,!1,"bubble"===e.type?Q||1:2,es),X=Y,F=K,W=!0,ea=!1}}}r.debug.showSkipSummary&&console.log("skipped points:",q);let eA=(e,i)=>{if(r.useGPUTranslations||(t.skipTranslation=!0,e.x=h.toPixels(e.x,!0),e.y=d.toPixels(e.y,!0)),i){this.data=[e.x,e.y,0,2].concat(this.data);return}em(e.x,e.y,0,2)};!W&&!1!==E&&"line_strip"===e.drawMode&&(L.x<Number.MAX_VALUE&&eA(L,!0),z.x>-Number.MAX_VALUE&&eA(z)),ep()}pushSeries(e){let t=this.markerData,i=this.series,r=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=t.length),r.debug.timeSeriesProcessing&&console.time("building "+e.type+" series");let s={segments:[],markerFrom:t.length,colorData:[],series:e,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!e.options.marker&&!1!==e.options.marker.enabled,showMarkers:!0,drawMode:C[e.type]||"LINE_STRIP"};e.index>=i.length?i.push(s):i[e.index]=s,this.pushSeriesData(e,s),r.debug.timeSeriesProcessing&&console.timeEnd("building "+e.type+" series")}flush(){let e=this.vbuffer;this.data=[],this.markerData=[],this.series=[],e&&e.destroy()}setXAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("xAxisTrans",e.transA*i),t.setUniform("xAxisMin",e.min),t.setUniform("xAxisMax",e.max),t.setUniform("xAxisMinPad",e.minPixelPadding*i),t.setUniform("xAxisPointRange",e.pointRange),t.setUniform("xAxisLen",e.len*i),t.setUniform("xAxisPos",e.pos*i),t.setUniform("xAxisCVSCoord",!e.horiz),t.setUniform("xAxisIsLog",!!e.logarithmic),t.setUniform("xAxisReversed",!!e.reversed)}setYAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("yAxisTrans",e.transA*i),t.setUniform("yAxisMin",e.min),t.setUniform("yAxisMax",e.max),t.setUniform("yAxisMinPad",e.minPixelPadding*i),t.setUniform("yAxisPointRange",e.pointRange),t.setUniform("yAxisLen",e.len*i),t.setUniform("yAxisPos",e.pos*i),t.setUniform("yAxisCVSCoord",!e.horiz),t.setUniform("yAxisIsLog",!!e.logarithmic),t.setUniform("yAxisReversed",!!e.reversed)}setThreshold(e,t){let i=this.shader;i&&(i.setUniform("hasThreshold",e),i.setUniform("translatedThreshold",t))}renderChart(e){let t=this.gl,i=this.settings,r=this.shader,s=this.vbuffer;z={};let o=this.getPixelRatio();if(!e)return!1;this.width=e.chartWidth*o,this.height=e.chartHeight*o;let n=this.height,a=this.width,l=e.options.colors||[];if(!t||!r||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),t.canvas.width=a,t.canvas.height=n,r.bind(),t.viewport(0,0,a,n),r.setPMatrix(I.orthoMatrix(a,n)),i.lineWidth>1&&!p().isMS&&t.lineWidth(i.lineWidth),s&&(s.build(this.data,"aVertexPosition",4),s.bind()),r.setInverted(e.inverted),this.series.forEach((a,h)=>{let d=a.series.options,f=d.marker,u=void 0!==d.lineWidth?d.lineWidth:1,g=d.threshold,c=(0,m.isNumber)(g),p=a.series.yAxis.getThreshold(g),b=(0,m.pick)(d.marker?d.marker.enabled:null,!!a.series.xAxis.isRadial||null,a.series.closestPointRangePx>2*((d.marker?d.marker.radius:10)||10)),x=this.textureHandles[f&&f.symbol||a.series.symbol]||this.textureHandles.circle,A,y,v,P=[];if(0!==a.segments.length&&a.segments[0].from!==a.segments[0].to&&(x.isReady&&(t.bindTexture(t.TEXTURE_2D,x.handle),r.setTexture(x.handle)),e.styledMode?a.series.markerGroup===a.series.chart.boost?.markerGroup?(delete a.series.markerGroup,a.series.markerGroup=a.series.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"),v=a.series.markerGroup.getStyle("fill"),a.series.markerGroup.destroy(),a.series.markerGroup=a.series.chart.boost?.markerGroup):v=a.series.markerGroup?.getStyle("fill"):(v="POINTS"===a.drawMode&&a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,d.colorByPoint&&"string"==typeof l[h]&&(v=l[h])),a.series.fillOpacity&&d.fillOpacity&&v&&(v=new(k())(v).setOpacity((0,m.pick)(d.fillOpacity,1)).get()),"string"==typeof v&&(v=D(e.boost?.cssVars||{},v)),P=S(v).rgba,i.useAlpha||(P[3]=1),"add"===d.boostBlending?(t.blendFunc(t.SRC_ALPHA,t.ONE),t.blendEquation(t.FUNC_ADD)):"mult"===d.boostBlending||"multiply"===d.boostBlending?t.blendFunc(t.DST_COLOR,t.ZERO):"darken"===d.boostBlending?(t.blendFunc(t.ONE,t.ONE),t.blendEquation(t.FUNC_MIN)):t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA),r.reset(),a.colorData.length>0?(r.setUniform("hasColor",1),(y=new M(t,r)).build(Array(a.segments[0].from).concat(a.colorData),"aColor",4),y.bind()):(r.setUniform("hasColor",0),t.disableVertexAttribArray(t.getAttribLocation(r.getProgram(),"aColor"))),r.setColor(P),this.setXAxis(a.series.xAxis),this.setYAxis(a.series.yAxis),this.setThreshold(c,p),"POINTS"===a.drawMode&&r.setPointSize(2*(0,m.pick)(d.marker&&d.marker.radius,.5)*o),r.setSkipTranslation(a.skipTranslation),"bubble"===a.series.type&&r.setBubbleUniforms(a.series,a.zMin,a.zMax,o),r.setDrawAsCircle(N[a.series.type]||!1),s)){if(u>0||"LINE_STRIP"!==a.drawMode){let{x:i,y:r,width:l,height:h}=w(e,a.series);for(t.enable(t.SCISSOR_TEST),t.scissor(i*o,n-(r+h)*o,l*o,h*o),A=0;A<a.segments.length;A++)s.render(a.segments[A].from,a.segments[A].to,a.drawMode);t.disable(t.SCISSOR_TEST)}if(a.hasMarkers&&b)for(r.setPointSize(2*(0,m.pick)(d.marker&&d.marker.radius,5)*o),r.setDrawAsCircle(!0),A=0;A<a.segments.length;A++)s.render(a.segments[A].from,a.segments[A].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(e){if(this.clear(),e.renderer.forExport)return this.renderChart(e);this.isInited?this.renderChart(e):setTimeout(()=>{this.render(e)},1)}setSize(e,t){let i=this.shader;i&&(this.width!==e||this.height!==t)&&(this.width=e,this.height=t,i.bind(),i.setPMatrix(I.orthoMatrix(e,t)))}init(e,t){let i=this.settings;if(this.isInited=!1,!e)return!1;i.debug.timeSetup&&console.time("gl setup");for(let t=0;t<L.length&&(this.gl=e.getContext(L[t],{}),!this.gl);++t);let r=this.gl;if(!r)return!1;t||this.flush(),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),r.depthFunc(r.LESS);let s=this.shader=new E(r);if(!s)return!1;this.vbuffer=new M(r,s);let o=(e,t)=>{let i={isReady:!1,texture:U.createElement("canvas"),handle:r.createTexture()},s=i.texture.getContext("2d");this.textureHandles[e]=i,i.texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",t(s);try{r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.handle),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.bindTexture(r.TEXTURE_2D,null),i.isReady=!0}catch{}};return o("circle",e=>{e.beginPath(),e.arc(256,256,256,0,2*Math.PI),e.stroke(),e.fill()}),o("square",e=>{e.fillRect(0,0,512,512)}),o("diamond",e=>{e.beginPath(),e.moveTo(256,0),e.lineTo(512,256),e.lineTo(256,512),e.lineTo(0,256),e.lineTo(256,0),e.fill()}),o("triangle",e=>{e.beginPath(),e.moveTo(0,512),e.lineTo(256,0),e.lineTo(512,512),e.lineTo(0,512),e.fill()}),o("triangle-down",e=>{e.beginPath(),e.moveTo(0,0),e.lineTo(256,512),e.lineTo(512,0),e.lineTo(0,0),e.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let e=this.gl,t=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),t&&t.destroy(),e&&((0,m.objectEach)(this.textureHandles,t=>{t.handle&&e.deleteTexture(t.handle)}),e.canvas.width=1,e.canvas.height=1)}}let{setLength:O,splice:G}={convertToNumber:function(e,t){switch(typeof e){case"boolean":return+!!e;case"number":return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??""}`))&&!t?null:e}},setLength:function(e,t,i){return Array.isArray(e)?(e.length=t,e):e[i?"subarray":"slice"](0,t)},splice:function(e,t,i,r,s=[]){if(Array.isArray(e))return Array.isArray(s)||(s=Array.from(s)),{removed:e.splice(t,i,...s),array:e};let o=Object.getPrototypeOf(e).constructor,n=e[r?"subarray":"slice"](t,t+i),a=new o(e.length-i+s.length);return a.set(e.subarray(0,t),0),a.set(s,t),a.set(e.subarray(t+i),t+s.length),{removed:n,array:a}}},B=class{constructor(e={}){this.isDataTable=!0,this.autoId=!e.id,this.columns={},this.id=e.id||(0,m.uniqueKey)(),this.rowCount=0,this.versionTag=(0,m.uniqueKey)();let t=0;(0,m.objectEach)(e.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,(0,m.objectEach)(this.columns,(t,i)=>{t.length!==e&&(this.columns[i]=O(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let i=0;(0,m.objectEach)(this.columns,(r,s)=>{this.columns[s]=G(r,e,t).array,i=r.length}),this.rowCount=i}(0,m.fireEvent)(this,"afterDeleteRows",{rowIndex:e,rowCount:t}),this.versionTag=(0,m.uniqueKey)()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRowObject(e,t){let i={},r=this.columns;for(let s of(t??(t=Object.keys(this.columns)),t))i[s]=r[s]?.[e];return i}setColumn(e,t=[],i=0,r){this.setColumns({[e]:t},i,r)}setColumns(e,t,i){let r=this.rowCount;(0,m.objectEach)(e,(e,t)=>{this.columns[t]=e.slice(),r=e.length}),this.applyRowCount(r),i?.silent||((0,m.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,m.uniqueKey)())}setRow(e,t=this.rowCount,i,r){var s;let{columns:o}=this,n=i?this.rowCount+1:t+1,a=Object.keys(e);if(r?.addColumns!==!1)for(let e=0,t=a.length;e<t;e++)o[s=a[e]]||(o[s]=Array(this.rowCount));(0,m.objectEach)(o,(r,s)=>{r&&(i?r=G(r,t,0,!0,[e[s]]).array:r[t]=s in e?e[s]:r[t],o[s]=r)}),this.applyRowCount(Math.max(n,this.rowCount)),r?.silent||((0,m.fireEvent)(this,"afterSetRows",{rowIndex:t}),this.versionTag=(0,m.uniqueKey)())}getModified(){return this.modified||this}},{getBoostClipRect:V,isChartSeriesBoosting:X}=P,{getOptions:F}=p(),{composed:H,doc:j,noop:q,win:W}=p();function Y(e,t){let i=t.boost;e&&i&&i.target&&i.canvas&&!X(t.chart)&&e.allocateBufferForSingleSeries(t)}function K(e){return(0,m.pick)(e&&e.options&&e.options.boost&&e.options.boost.enabled,!0)}function Z(e,t){let i=e.constructor,s=e.seriesGroup||t.group,o=e.chartWidth,n=e.chartHeight,a=e,l="u">typeof SVGForeignObjectElement,h=!1;X(e)?a=e:(a=t,h=!!(t.options.events?.click||t.options.point?.events?.click));let d=a.boost=a.boost||{};if(l=!1,r||(r=j.createElement("canvas")),!d.target&&(d.canvas=r,e.renderer.forExport||!l?(a.renderTarget=d.target=e.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(s),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=e.renderer.createElement("foreignObject").add(s),a.renderTarget=d.target=j.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=e.chartWidth,n=e.chartHeight,(d.targetFo||d.target).attr({x:0,y:0,width:o,height:n}).css({pointerEvents:h?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(h?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(e.plotLeft,e.plotTop)},d.clipRect=e.renderer.clipRect(),(d.targetFo||d.target).attr({zIndex:t.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(s).translate(t.xAxis.pos,t.yAxis.pos))),d.canvas.width=o,d.canvas.height=n,d.clipRect){let t=V(e,a);d.clipRect.attr(t),e.navigator||t.width!==e.clipBox.width||t.height!==e.clipBox.height?(d.targetFo||d.target).clip(d.clipRect):s?.clip(e.renderer.clipRect(t.x-4,t.y,t.width+4,t.height+4))}return d.resize(),d.clear(),!d.wgl&&(d.wgl=new I(e=>{e.settings.debug.timeBufferCopy&&console.time("buffer copy"),d.copy(),e.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),d.wgl.init(d.canvas)||(0,m.error)("[highcharts boost] - unable to init WebGL renderer"),d.wgl.setOptions(e.options.boost||{}),a instanceof i&&d.wgl.allocateBuffer(e)),d.wgl.setSize(o,n),d.wgl}function Q(e){let t=e.points;if(t){let e,i;for(i=0;i<t.length;i+=1)(e=t[i])&&e.destroyElements&&e.destroyElements()}for(let t of(["graph","area","tracker"].forEach(t=>{let i=e[t];i&&(e[t]=i.destroy())}),e.zones))(0,m.destroyObjectProperties)(t,void 0,!0)}function $(e,t,i,r,s,o){let n=(s=s||0)+(r=r||3e3),a=!0;for(;a&&s<n&&s<e.length;)a=t(e[s],s),++s;a&&(s<e.length?o?$(e,t,i,r,s,o):W.requestAnimationFrame?W.requestAnimationFrame(function(){$(e,t,i,r,s)}):setTimeout($,0,e,t,i,r,s):i&&i())}function J(e,t){let i=e.options,r=(0,m.pick)(i.boostThreshold,Number.MAX_VALUE);if(0===r)return!1;let s=e.dataTable.getModified().rowCount,o=e.xAxis&&e.xAxis.options,n=e.yAxis&&e.yAxis.options,a=e.colorAxis&&e.colorAxis.options;return s>=r&&(0,m.isNumber)(n?.min)&&(0,m.isNumber)(n?.max)&&(!t||(0,m.isNumber)(o?.min)&&(0,m.isNumber)(o?.max))&&(!a||(0,m.isNumber)(a.min)&&(0,m.isNumber)(a.max))}let ee=(e,t)=>{let{options:i,forceCrop:r,chart:s}=e,o=(0,m.pick)(i.boostThreshold,Number.MAX_VALUE);return!r&&0!==o&&(X(s)||(t?.length??0)>=o)};function et(){let e=this,t=e.chart;t.boost&&t.boost.markerGroup===e.markerGroup&&(e.markerGroup=void 0),t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(function(t){return t.series===e})),t.hoverPoint&&t.hoverPoint.series===e&&(t.hoverPoint=void 0)}function ei(){let e=this.boost,t=this.chart.boost,i=t?.markerGroup;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear()),i&&this.markerGroup===i&&this.chart.series.some(e=>e.visible&&e.markerGroup===i)&&i.show()}function er(e){let t=e.boost;t&&t.canvas&&t.target&&t.wgl&&!X(e.chart)&&t.wgl.render(e.chart)}function es(e,t){let i=e.options,r=e.xAxis,s=e.pointClass;if(t instanceof s)return t;let o=i.data,n=e.is("scatter"),a=(n&&e.getColumn("x",!0).length?e.getColumn("x",!0):void 0)||(e.getColumn("x").length?e.getColumn("x"):void 0)||i.xData||e.getColumn("x",!0)||!1,l=e.getColumn("y",!0)||i.yData||!1,h=t.i,d=o?.[h]?.color,f=new s(e,n&&a&&l?[a[h],l[h]]:((0,m.isArray)(o)?o:[])[h],a?a[h]:void 0);if(n&&i?.keys?.length){let e=i.keys;for(let t=e.length-1;t>-1;t--)f[e[t]]=o[h][t]}return f.category=(0,m.pick)(r.categories?r.categories[f.x]:f.x,f.x),f.key=f.name??f.category,f.dist=t.dist,f.distX=t.distX,f.plotX=t.plotX,f.plotY=t.plotY,f.percentage=t.percentage,f.isInside=e.isPointInside(f),d&&(f.color=d),f}function eo(e){let{options:t,xAxis:i,yAxis:r}=this;if(!this.isDirty&&!i.isDirty&&!r.isDirty&&!e)return!1;this.yAxis.setTickInterval();let s=t.boostThreshold||0,o=t.cropThreshold,n=this.getColumn("x"),a=i.getExtremes(),l=a.max??Number.MAX_VALUE,h=a.min??-Number.MAX_VALUE,d=this.getColumn("y"),f=r.getExtremes(),u=f.max??Number.MAX_VALUE,g=f.min??-Number.MAX_VALUE;if(!this.boosted&&i.old&&r.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&g>=(r.old.min??-Number.MAX_VALUE)&&u<=(r.old.max??Number.MAX_VALUE))return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let c=this.dataTable.rowCount;if(!s||c<s||o&&!this.forceCrop&&!this.getExtremesFromAll&&!t.getExtremesFromAll&&c<o)return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let p=[],b=[],x=[],A=!((0,m.isNumber)(a.max)||(0,m.isNumber)(a.min)),y=!((0,m.isNumber)(f.max)||(0,m.isNumber)(f.min)),v=!1,P,T=n[0],k=n[0],C,E=d?.[0],M=d?.[0];for(let e=0,t=n.length;e<t;++e)P=n[e],C=d?.[e],P>=h&&P<=l&&C>=g&&C<=u?(p.push(P),b.push(C),x.push(e),A&&(T=Math.max(T,P),k=Math.min(k,P)),y&&(E=Math.max(E,C),M=Math.min(M,C))):v=!0;return A&&(i.dataMax=Math.max(T,i.dataMax||0),i.dataMin=Math.min(k,i.dataMin||0)),y&&(r.dataMax=Math.max(E,r.dataMax||0),r.dataMin=Math.min(M,r.dataMin||0)),this.cropped=v,this.cropStart=0,v&&!this.dataTable.modified&&(this.dataTable.modified=new B,this.hasProcessedDataTable=!0),this.dataTable.getModified().setColumns({x:p,y:b}),!0}function en(){let e=this.options||{},t=this.chart,r=t.boost,s=this.boost,o=this.xAxis,n=this.yAxis,a=e.xData||this.getColumn("x",!0),l=e.yData||this.getColumn("y",!0),h=this.getColumn("low",!0),d=this.getColumn("high",!0),f=e.data,u=o.getExtremes(),g=u.min-(o.minPointOffset||0),c=u.max+(o.minPointOffset||0),p=n.getExtremes(),b=p.min-(n.minPointOffset||0),x=p.max+(n.minPointOffset||0),A={},y=!!this.sampling,v=e.enableMouseTracking,P=e.threshold,T=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),k=!!e.stacking,C=this.cropStart||0,E=this.requireSorting,M=!a,w="x"===e.findNearestPointBy,S=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||this.getColumn("x",!0),U=(0,m.pick)(e.lineWidth,1),R=e.nullInteraction&&b,_=t.tooltip,N=!1,L,z=n.getThreshold(P),D,I,O,G;if(!this.boosted||(this.points?.forEach(e=>{e?.destroyElements?.()}),this.points=[],_&&!_.isHidden?(t.hoverPoint?.series===this||t.hoverPoints?.some(e=>e.series===this))&&(t.hoverPoint=t.hoverPoints=void 0,_.hide(0)):t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(e=>e.series!==this)),o.isPanning||n.isPanning)||(N=Z(t,this),t.boosted=!0,!this.visible))return;(this.points||this.graph)&&Q(this),X(t)?(this.markerGroup&&this.markerGroup!==r?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=r?.markerGroup,s&&s.target&&(this.renderTarget=s.target=s.target.destroy())):(this.markerGroup===r?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"));let B=this.points=[],V=(e,r,s,a)=>{let l=!!S&&S[C+s],h=e=>{t.inverted&&(e=o.len-e,r=n.len-r),B.push({destroy:q,x:l,clientX:e,plotX:e,plotY:r,i:C+s,percentage:a})};e=Math.ceil(e),i=w?e:e+","+r,v&&(A[i]?l===S[S.length-1]&&(B.length--,h(e)):(A[i]=!0,h(e)))};this.buildKDTree=q,(0,m.fireEvent)(this,"renderCanvas"),r&&U>1&&this.is("line")&&(r.lineWidthFilter?.remove(),r.lineWidthFilter=t.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*U}}],attributes:{id:"linewidth"}}),(s?.target||r.target)?.attr({filter:"url(#linewidth)"})),N&&(Y(N,this),N.pushSeries(this),er(this));let F=N.settings,H=(0,m.isNumber)(F.chunkSize)&&F.chunkSize>0?F.chunkSize:3e3,j=()=>{(0,m.fireEvent)(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),F.debug.timeKDTree&&console.timeEnd("kd tree building")};t.renderer.forExport||(F.debug.timeKDTree&&console.time("kd tree building"),$(k?this.data.slice(C):a||f,function(e,i){let r=void 0===t.index,s,a,f,u,p,A=!1,v=!0;return!(0,m.defined)(e)||(!r&&(M?(s=e[0],a=e[1]):(s=e,a=l[i]??R??null),T?(M&&(a=e.slice(1,3)),A=h[i],a=d[i]):k&&(s=e.x,A=(a=e.stackY)-e.y,p=e.percentage),E||(v=(a||0)>=b&&a<=x),null!==a&&s>=g&&s<=c&&v&&(f=o.toPixels(s,!0),y?((void 0===O||f===L)&&(T||(A=a),(void 0===G||a>I)&&(I=a,G=i),(void 0===O||A<D)&&(D=A,O=i)),w&&f===L||(void 0!==O&&(u=n.toPixels(I,!0),z=n.toPixels(D,!0),V(f,u,G,p),z!==u&&V(f,z,O,p)),O=G=void 0,L=f)):V(f,u=Math.ceil(n.toPixels(a,!0)),i,p))),!r)},j,H))}function ea(e){let t=!0;if(this.chart.options&&this.chart.options.boost&&(t=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!t||!this.boosted)return e.call(this);this.chart.boosted=!0;let i=Z(this.chart,this);i&&(Y(i,this),i.pushSeries(this)),er(this)}function el(e){if(this.boosted){if(J(this,!0))return{};if(this.xAxis?.isPanning||this.yAxis?.isPanning)return this}return e.apply(this,[].slice.call(arguments,1))}function eh(e){let t=this.options.data;if(K(this.chart)&&x[this.type]){let r=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!ee(this,t)||r||this.is("treemap")||this.options.stacking||!J(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;r&&"treegrid"!==this.yAxis.type?eo.call(this,arguments[1]):e.apply(this,[].slice.call(arguments,1)),t=this.getColumn("x",!0)}if(this.boosted=ee(this,t),this.boosted){let e;this.options.data?.length&&(e=this.getFirstValidPoint(this.options.data),(0,m.isNumber)(e)||(0,m.isArray)(e)||this.is("treemap")||(0,m.error)(12,!1,this.chart));var i=this;i.boost=i.boost||{getPoint:e=>es(i,e)};let t=i.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(e=>{t.push({prop:e,val:i[e],own:Object.hasOwnProperty.call(i,e)})}),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 e of i.data)e?.destroy?.();i.data.length=0,i.points.length=0}}else!function(e){let t=e.boost,i=e.chart,r=i.boost;if(r?.markerGroup)for(let e of(r.markerGroup.destroy(),r.markerGroup=void 0,i.series))e.markerGroup=void 0,e.markerGroup=e.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");t&&((t.altered||[]).forEach(t=>{t.own?e[t.prop]=t.val:delete e[t.prop]}),t.clear&&t.clear()),(i.seriesGroup||e.group)?.clip()}(this)}else e.apply(this,[].slice.call(arguments,1))}function ed(e){let t=e.apply(this,[].slice.call(arguments,1));return this.boost&&t?this.boost.getPoint(t):t}let ef=function(e,t,i,r){if((0,m.pushUnique)(H,"Boost.Series")){let s=F().plotOptions,o=e.prototype;if((0,m.addEvent)(e,"destroy",et),(0,m.addEvent)(e,"hide",ei),r&&(o.renderCanvas=en),(0,m.wrap)(o,"getExtremes",el),(0,m.wrap)(o,"processData",eh),(0,m.wrap)(o,"searchPoint",ed),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(e=>(function(e,t,i){function r(e){let t=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!t&&K(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&x[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():e.call(this)}if((0,m.wrap)(e,i,r),"translate"===i)for(let e of["column","arearange","columnrange","heatmap","treemap"])t[e]&&(0,m.wrap)(t[e].prototype,i,r)})(o,t,e)),(0,m.wrap)(i.prototype,"firePointEvent",function(e,t,i){if("click"===t&&this.series.boosted){let e=i.point;if((e.dist||e.distX)>=(e.series.options.marker?.radius??10))return}return e.apply(this,[].slice.call(arguments,1))}),b.forEach(e=>{let i=s[e];i&&(i.boostThreshold=5e3,i.boostData=[],t[e].prototype.fillOpacity=!0)}),r){let{area:e,areaspline:i,bubble:r,column:s,heatmap:o,scatter:n,treemap:a}=t;if(e&&(0,m.extend)(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&(0,m.extend)(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),r){let e=r.prototype;delete e.buildKDTree,(0,m.wrap)(e,"markerAttribs",function(e){return!this.boosted&&e.apply(this,[].slice.call(arguments,1))})}s&&(0,m.extend)(s.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[o,a].forEach(e=>{e&&(0,m.wrap)(e.prototype,"drawPoints",ea)})}}return e},eu={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},{doc:eg,win:ec}=p(),em=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function ep(){let e;if(void 0!==ec.WebGLRenderingContext){e=eg.createElement("canvas");for(let t=0;t<em.length;++t)try{if(null!=e.getContext(em[t]))return!0}catch{}}return!1}let eb=p();eb.hasWebGLSupport=ep,o=eb.Chart,n=eb.Axis,a=eb.Series,l=eb.seriesTypes,h=eb.Point,d=eb.Color,(s=ep())||(void 0!==p().initCanvasBoost?p().initCanvasBoost():(0,m.error)(26)),d&&!d.names.lightgoldenrodyellow&&(d.names={...d.names,...eu}),P.compose(o,s),ef(a,l,h,s),(0,m.addEvent)(n,"setExtremes",function(e){for(let t of[this.chart,...this.series].map(e=>e.renderTarget).filter(Boolean)){let{horiz:i,pos:r}=this,s=i?"scaleX":"scaleY",o=i?"translateX":"translateY",n=t?.[s]??1,a=1,l=0,h=1,d="none";this.isPanning&&(a=(e.scale??1)*n,l=(t?.[o]||0)-a*(e.move||0)+n*r-a*r,h=.7,d="blur(3px)"),t?.attr({[s]:a,[o]:l}).css({transition:"250ms filter, 250ms opacity",filter:d,opacity:h})}});let ex=p();return c.default})());
14
+ * */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost",["highcharts/highcharts"],function(e){return t(e,e.Color)}):"object"==typeof exports?exports["highcharts/modules/boost"]=t(e._Highcharts,e._Highcharts.Color):e.Highcharts=t(e.Highcharts,e.Highcharts.Color)}("u"<typeof window?this:window,(e,t)=>(()=>{"use strict";let i,r,s;var o,n,a,l,h,d,f={620(e){e.exports=t},944(t){t.exports=e}};let u={};function g(e){let t=u[e];if(void 0!==t)return t.exports;let i=u[e]={exports:{}};return f[e](i,i.exports,g),i.exports}g.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return g.d(t,{a:t}),t},g.d=(e,t)=>{if(Array.isArray(t))for(var i=0;i<t.length;){var r=t[i++],s=t[i++];g.o(e,r)?0===s&&i++:0===s?Object.defineProperty(e,r,{enumerable:!0,value:t[i++]}):Object.defineProperty(e,r,{enumerable:!0,get:s})}else for(var r in t)g.o(t,r)&&!g.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let m={};g.d(m,{default:()=>ex});var c=g(944),b=g.n(c);let p=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],x={};p.forEach(e=>{x[e]=!0});let{composed:A}=b();function y(e){let t=e.series,i=e.boost=e.boost||{},r=e.options.boost||{},s=r.seriesThreshold??50;if(t.length>=s)return!0;if(1===t.length)return!1;let o=r.allowForce;if(void 0===o){for(let t of(o=!0,e.xAxis))if((t.min??-1/0)>(t.dataMin??-1/0)||(t.max??1/0)<(t.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 e of t)0!==(h=e.options).boostThreshold&&!1!==e.visible&&"heatmap"!==e.type&&(++a,x[e.type]&&++n,function(...e){let t=-Number.MAX_VALUE;return e.forEach(e=>{if(null!=e&&void 0!==e.length&&e.length>0)return t=e.length,!0}),t}(e.getColumn("x",!0),h.data||[],e.points)>=(h.boostThreshold||Number.MAX_VALUE)&&++l);return i.forceChartBoost=o&&(n===t.length&&l===n||!!i.markerGroup&&n===a&&l===n||l>5),i.forceChartBoost}function v(e){function t(){e.boost&&e.boost.wgl&&y(e)&&e.boost.wgl.render(e)}(0,c.addEvent)(e,"predraw",function(){e.boost=e.boost||{},e.boost.forceChartBoost=void 0,e.boosted=!1,e.axes.some(e=>e.isPanning)||e.boost.clear?.(),e.boost.canvas&&e.boost.wgl&&y(e)&&e.boost.wgl.allocateBuffer(e),e.boost.markerGroup&&e.xAxis&&e.xAxis.length>0&&e.yAxis&&e.yAxis.length>0&&e.boost.markerGroup.translate(e.xAxis[0].pos,e.yAxis[0].pos)}),(0,c.addEvent)(e,"load",t,{order:-1}),(0,c.addEvent)(e,"redraw",t);let i=-1,r=-1;(0,c.addEvent)(e.pointer,"afterGetHoverData",t=>{let s=t.hoverPoint?.series;if(e.boost=e.boost||{},e.boost.markerGroup&&s){let t=e.inverted?s.yAxis:s.xAxis,o=e.inverted?s.xAxis:s.yAxis;(t&&t.pos!==i||o&&o.pos!==r)&&(e.series.forEach(e=>{e.halo?.hide()}),e.boost.markerGroup.translate(t.pos,o.pos),i=t.pos,r=o.pos)}})}let P={compose:function(e,t){return t&&(0,c.pushUnique)(A,"Boost.Chart")&&e.prototype.callbacks.push(v),e},getBoostClipRect:function(e,t){let i=e.navigator,r={x:e.plotLeft,y:e.plotTop,width:e.plotWidth,height:e.plotHeight};if(i&&e.inverted?(r.width+=i.top+i.height,i.opposite||(r.x=i.left)):i&&!e.inverted&&(r.height=i.top+i.height-e.plotTop),t.is){let{xAxis:i,yAxis:s}=t;if(r=e.getClipBox(t),e.inverted){let e=r.width;r.width=r.height,r.height=e,r.x=s.pos,r.y=i.pos}else r.x=i.pos,r.y=s.pos}if(t===e){let t=e.inverted?e.xAxis:e.yAxis;e.inverted||i||!e.clipBox||(r.width=e.clipBox.width,r.height=e.clipBox.height),t.length<=1&&(r.y=Math.min(t[0].pos,r.y),r.height=t[0].pos-e.plotTop+t[0].len)}return r},isChartSeriesBoosting:y};var T=g(620),C=g.n(T);let k={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},E=class{constructor(e){if(this.errors=[],this.uLocations={},this.gl=e,e&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let e=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"),t=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=e=>this.gl.getUniformLocation(this.shaderProgram,e);return e&&t?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),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,c.error)("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(e,t){let i=this.gl.createShader("vertex"===t?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+t+" 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(e,t,i,r=1){let s=e.options,o=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&e.is("bubble")){let a=e.getPxExtremes();o=s.zMin??(0,c.clamp)(t,!1===s.displayNegative?s.zThreshold:-Number.MAX_VALUE,o),n=s.zMax??Math.max(n,i),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==e.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,e.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*r),this.setUniform("bubbleMaxSize",a.maxPxSize*r),this.setUniform("bubbleZMin",o),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",e.options.zThreshold)}}setColor(e){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,e[0]/255,e[1]/255,e[2]/255,e[3])}setDrawAsCircle(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,+!!e)}setInverted(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,e)}setPMatrix(e){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,e)}setPointSize(e){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,e)}setSkipTranslation(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,+(!0===e))}setTexture(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,e)}setUniform(e,t){if(this.gl&&this.shaderProgram){let i=this.uLocations[e]=this.uLocations[e]||this.gl.getUniformLocation(this.shaderProgram,e);this.gl.uniform1f(i,t)}}},M=class{constructor(e,t,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=e,this.shader=t}allocate(e){this.iterator=-1,this.preAllocated=new Float32Array(4*e)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(e,t,i){let r;return(this.data=e||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(r=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||r,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),t),this.gl.enableVertexAttribArray(this.vertAttribute),r=!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(e,t,i,r){this.preAllocated&&(this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=r)}render(e,t,i){let r=this.preAllocated?this.preAllocated.length:this.data?.length||0;return!!this.buffer&&!!r&&((!e||e>r||e<0)&&(e=0),(!t||t>r)&&(t=r),!(e>=t)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],e/this.components,(t-e)/this.components),!0))}},{getBoostClipRect:w}=P,{parse:S}=C(),{doc:U,win:R}=b(),N={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},_={scatter:!0,bubble:!0},L=["webgl","experimental-webgl","moz-webgl","webkit-3d"],z={},D=(e,t)=>{if(z[t])return z[t];let i=0===t.indexOf("var(")&&e[t.slice(4,-1).trim()];if(i)return z[t]=i,i;if(0===t.indexOf("color-mix(")){let i=/^color-mix\(in srgb,([a-z0-9\(\)\-\#]+),([a-z0-9\(\)\-\#]+) ([0-9\.%]+)/.exec(t);if(i){let r=parseFloat(i[3])/100,s=D(e,i[1]),o=D(e,i[2]),n=new(C())(s).tweenTo(new(C())(o),r);return z[t]=n,n}}return t};class O{static orthoMatrix(e,t){return[2/e,0,0,0,0,-(2/t),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(e){let t,i,r;return e.boosted?(t=!!e.options.stacking,i=(e.getColumn("x").length?e.getColumn("x"):void 0)||e.options.xData||e.getColumn("x",!0),r=(t?e.data:i||e.options.data).length,"treemap"===e.type?r*=12:"heatmap"===e.type?r*=6:N[e.type]&&(r*=2),r):0}constructor(e){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=e,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||R.devicePixelRatio||1}setOptions(e){"pixelRatio"in e||(e.pixelRatio=1),(0,c.merge)(!0,this.settings,e)}allocateBuffer(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.series.forEach(e=>{e.boosted&&(i+=O.seriesPointCount(e))}),t&&t.allocate(i))}allocateBufferForSingleSeries(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.boosted&&(i=O.seriesPointCount(e)),t&&t.allocate(i))}clear(){let e=this.gl;e&&e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}pushSeriesData(e,t){let i=this.data,r=this.settings,s=this.vbuffer,o=e.pointArrayMap&&"low,high"===e.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:h,yAxis:d}=e,f=!!a.stacking,u=a.data,g=e.xAxis.getExtremes(),m=g.min-(e.xAxis.minPointOffset||0),b=g.max+(e.xAxis.minPointOffset||0),p=e.yAxis.getExtremes(),x=p.min-(e.yAxis.minPointOffset||0),A=p.max+(e.yAxis.minPointOffset||0),y=(e.getColumn("x").length?e.getColumn("x"):void 0)||a.xData||e.getColumn("x",!0),v=(e.getColumn("y").length?e.getColumn("y"):void 0)||a.yData||e.getColumn("y",!0),P=(e.getColumn("z").length?e.getColumn("z"):void 0)||a.zData||e.getColumn("z",!0),T=!y||0===y.length,{colorByPoint:k,connectNulls:E,threshold:M,zoneAxis:w="y",zones:U}=a,R=e.points||!1,_=f?e.data:y||u,L={x:Number.MAX_VALUE,y:0},z={x:-Number.MAX_VALUE,y:0},O=void 0===n.index,I=N[e.type],G=this.getPixelRatio(),B=n.options.colors||[],V=e.chart.plotWidth,X=!1,F=!1,H,j,q=0,W=!1,Y,K,Z,Q,$=-1,J=!1,ee=!1,et,ei=!1,er=!1,es,eo=!1,en=!0,ea=!0,el=[],eh=!1,ed=!1,ef=0,eu=0;if(a.boostData&&a.boostData.length>0)return;if(a.gapSize&&(ed="value"!==a.gapUnit?a.gapSize*e.closestPointRange:a.gapSize),n.boost){let e=n.renderer.circle(0,0,1).attr({fill:"var(--highcharts-background-color)"}).add(),t=new(C())(getComputedStyle(e.element).getPropertyValue("fill")).get(),i=new(C())(n.palette?.cssVars.dark["--highcharts-background-color"]||"").get();e.destroy(),n.boost.cssVars=n.palette?.cssVars[t===i?"dark":"light"]}let eg=n.boost?.cssVars||{};if(U?.length&&(el=[],U.forEach((e,t)=>{if("string"==typeof e.color){let i=S(D(eg,e.color)).rgba;i[0]/=255,i[1]/=255,i[2]/=255,el[t]=i,eh||void 0!==e.value||(eh=i)}}),!eh)){let t=e.pointAttribs&&e.pointAttribs().fill||e.color;eh=S("string"==typeof t?D(eg,t):"").rgba,eh[0]/=255,eh[1]/=255,eh[2]/=255}n.inverted&&(V=e.chart.plotHeight),e.closestPointRangePx=Number.MAX_VALUE;let em=e=>{e&&(t.colorData.push(e[0]),t.colorData.push(e[1]),t.colorData.push(e[2]),t.colorData.push(e[3]))},ec=(e,o,n,a=1,l)=>{em(l),1!==G&&(!r.useGPUTranslations||t.skipTranslation)&&(e*=G,o*=G,a*=G),r.usePreallocated&&s?(s.push(e,o,+!!n,a),ef+=4):(i.push(e),i.push(o),i.push(n?G:0),i.push(a))},eb=()=>{t.segments.length&&(t.segments[t.segments.length-1].to=i.length||ef)},ep=()=>{t.segments.length&&t.segments[t.segments.length-1].from===(i.length||ef)||(eb(),t.segments.push({from:i.length||ef}))},ex=(e,t,i,r,s)=>{em(s),ec(e+i,t),em(s),ec(e,t),em(s),ec(e,t+r),em(s),ec(e,t+r),em(s),ec(e+i,t+r),em(s),ec(e+i,t)};if(ep(),R&&R.length>0){t.skipTranslation=!0,t.drawMode="TRIANGLES",R[0].node&&R[0].node.levelDynamic&&R.sort((e,t)=>{if(e.node){if(e.node.levelDynamic>t.node.levelDynamic)return 1;if(e.node.levelDynamic<t.node.levelDynamic)return -1}return 0}),R.forEach(t=>{let i,r,s=t.plotY;if(void 0!==s&&!isNaN(s)&&null!==t.y&&t.shapeArgs){let{x:s=0,y:o=0,width:a=0,height:l=0}=t.shapeArgs;i=(r=n.styledMode?t.series.colorAttribs(t):r=t.series.pointAttribs(t))["stroke-width"]||0,"string"==typeof r.fill&&(r.fill=D(eg,r.fill)),es=S(r.fill).rgba,es[0]/=255,es[1]/=255,es[2]/=255,e.is("treemap")&&(i=i||1,"string"==typeof r.stroke&&(r.stroke=D(eg,r.stroke)),j=S(r.stroke).rgba,j[0]/=255,j[1]/=255,j[2]/=255,ex(s,o,a,l,j),i/=2),e.is("heatmap")&&n.inverted&&(s=h.len-s,o=d.len-o,a=-a,l=-l),ex(s+i,o+i,a-2*i,l-2*i,es)}}),eb();return}for(;$<_.length-1;){if(void 0===(Z=_[++$]))continue;if(O)break;let i=u&&u[$];if(!T){let t;(0,c.isObject)(i,!0)&&i.color&&(t=S(i.color).rgba);let r=e.options.keys?.indexOf("color");Array.isArray(i)&&r&&"string"==typeof i[r]?t=S(i[r]).rgba:k&&(eu%=B.length,t=S(D(eg,B[eu])).rgba),t&&((es=t)[0]=t[0]/255,es[1]=t[1]/255,es[2]=t[2]/255,es[3]=t[3]),eu++}if(T?(Y=Z[0],K=Z[1],_[$+1]&&(ee=_[$+1][0]),_[$-1]&&(J=_[$-1][0]),Z.length>=3&&(Q=Z[2],Z[2]>t.zMax&&(t.zMax=Z[2]),Z[2]<t.zMin&&(t.zMin=Z[2]))):(Y=Z,K=v?.[$],_[$+1]&&(ee=_[$+1]),_[$-1]&&(J=_[$-1]),P&&P.length&&(Q=P[$],P[$]>t.zMax&&(t.zMax=P[$]),P[$]<t.zMin&&(t.zMin=P[$]))),!E&&(null===Y||null===K)){ep();continue}if(ee&&ee>=m&&ee<=b&&(ei=!0),J&&J>=m&&J<=b&&(er=!0),o?(T&&(K=Z.slice(1,3)),et=e.getColumn("low",!0)?.[$],K=e.getColumn("high",!0)?.[$]||0):f&&(Y=Z.x,et=(K=Z.stackY)-Z.y),null!=x&&null!=A&&(en=K>=x&&K<=A),!l&&!en||(Y>b&&z.x<b&&(z.x=Y,z.y=K),Y<m&&L.x>m&&(L.x=Y,L.y=K),null===K&&E))continue;if(null===K||!en&&_.length>1&&!ei&&!er){ep();continue}if((l&&(ee>=m||Y>=m)&&(J<=b||Y<=b)||!l&&Y>=m&&Y<=b)&&(eo=!0),eo||ei||er){if(ed&&Y-J>ed&&ep(),U?.length){let e,t,i="x"===w?Y:K;U.some((e,r)=>void 0!==e.value&&i<e.value&&(t=r,!0)),void 0!==t&&el[t]&&(e=el[t]),es=e||eh||es}if(r.useGPUTranslations||(t.skipTranslation=!0,Y=h.toPixels(Y,!0),K=d.toPixels(K,!0),!(Y>V)||"POINTS"!==t.drawMode)){if(t.hasMarkers&&eo&&!1!==X&&(e.closestPointRangePx=Math.min(e.closestPointRangePx,Math.abs(Y-X))),!r.useGPUTranslations&&!r.usePreallocated&&X&&1>Math.abs(Y-X)&&F&&1>Math.abs(K-F)){r.debug.showSkipSummary&&++q;continue}I&&(H=et||0,(!1===et||void 0===et)&&(H=K<0?K:0),(o||f)&&!d.logarithmic||(H=Math.max(M??x,x)),r.useGPUTranslations||(H=d.toPixels(H,!0)),ec(Y,H,!1,0,es)),a.step&&!ea&&ec(Y,F,!1,2,es),ec(Y,K,!1,"bubble"===e.type?Q||1:2,es),X=Y,F=K,W=!0,ea=!1}}}r.debug.showSkipSummary&&console.log("skipped points:",q);let eA=(e,i)=>{if(r.useGPUTranslations||(t.skipTranslation=!0,e.x=h.toPixels(e.x,!0),e.y=d.toPixels(e.y,!0)),i){this.data=[e.x,e.y,0,2].concat(this.data);return}ec(e.x,e.y,0,2)};!W&&!1!==E&&"line_strip"===e.drawMode&&(L.x<Number.MAX_VALUE&&eA(L,!0),z.x>-Number.MAX_VALUE&&eA(z)),eb()}pushSeries(e){let t=this.markerData,i=this.series,r=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=t.length),r.debug.timeSeriesProcessing&&console.time("building "+e.type+" series");let s={segments:[],markerFrom:t.length,colorData:[],series:e,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!e.options.marker&&!1!==e.options.marker.enabled,showMarkers:!0,drawMode:k[e.type]||"LINE_STRIP"};e.index>=i.length?i.push(s):i[e.index]=s,this.pushSeriesData(e,s),r.debug.timeSeriesProcessing&&console.timeEnd("building "+e.type+" series")}flush(){let e=this.vbuffer;this.data=[],this.markerData=[],this.series=[],e&&e.destroy()}setXAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("xAxisTrans",e.transA*i),t.setUniform("xAxisMin",e.min),t.setUniform("xAxisMax",e.max),t.setUniform("xAxisMinPad",e.minPixelPadding*i),t.setUniform("xAxisPointRange",e.pointRange),t.setUniform("xAxisLen",e.len*i),t.setUniform("xAxisPos",e.pos*i),t.setUniform("xAxisCVSCoord",!e.horiz),t.setUniform("xAxisIsLog",!!e.logarithmic),t.setUniform("xAxisReversed",!!e.reversed)}setYAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("yAxisTrans",e.transA*i),t.setUniform("yAxisMin",e.min),t.setUniform("yAxisMax",e.max),t.setUniform("yAxisMinPad",e.minPixelPadding*i),t.setUniform("yAxisPointRange",e.pointRange),t.setUniform("yAxisLen",e.len*i),t.setUniform("yAxisPos",e.pos*i),t.setUniform("yAxisCVSCoord",!e.horiz),t.setUniform("yAxisIsLog",!!e.logarithmic),t.setUniform("yAxisReversed",!!e.reversed)}setThreshold(e,t){let i=this.shader;i&&(i.setUniform("hasThreshold",e),i.setUniform("translatedThreshold",t))}renderChart(e){let t=this.gl,i=this.settings,r=this.shader,s=this.vbuffer;z={};let o=this.getPixelRatio();if(!e)return!1;this.width=e.chartWidth*o,this.height=e.chartHeight*o;let n=this.height,a=this.width,l=e.options.colors||[];if(!t||!r||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),t.canvas.width=a,t.canvas.height=n,r.bind(),t.viewport(0,0,a,n),r.setPMatrix(O.orthoMatrix(a,n)),i.lineWidth>1&&!b().isMS&&t.lineWidth(i.lineWidth),s&&(s.build(this.data,"aVertexPosition",4),s.bind()),r.setInverted(e.inverted),this.series.forEach((a,h)=>{let d=a.series.options,f=d.marker,u=void 0!==d.lineWidth?d.lineWidth:1,g=d.threshold,m=(0,c.isNumber)(g),b=a.series.yAxis.getThreshold(g),p=(d.marker?d.marker.enabled:null)??(!!a.series.xAxis.isRadial||null)??a.series.closestPointRangePx>2*((d.marker?d.marker.radius:10)||10),x=this.textureHandles[f&&f.symbol||a.series.symbol]||this.textureHandles.circle,A,y,v,P=[];if(0!==a.segments.length&&a.segments[0].from!==a.segments[0].to&&(x.isReady&&(t.bindTexture(t.TEXTURE_2D,x.handle),r.setTexture(x.handle)),e.styledMode?a.series.markerGroup===a.series.chart.boost?.markerGroup?(delete a.series.markerGroup,a.series.markerGroup=a.series.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"),v=a.series.markerGroup.getStyle("fill"),a.series.markerGroup.destroy(),a.series.markerGroup=a.series.chart.boost?.markerGroup):v=a.series.markerGroup?.getStyle("fill"):(v="POINTS"===a.drawMode&&a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,d.colorByPoint&&"string"==typeof l[h]&&(v=l[h])),a.series.fillOpacity&&d.fillOpacity&&v&&(v=new(C())(v).setOpacity(d.fillOpacity??1).get()),"string"==typeof v&&(v=D(e.boost?.cssVars||{},v)),P=S(v).rgba,i.useAlpha||(P[3]=1),"add"===d.boostBlending?(t.blendFunc(t.SRC_ALPHA,t.ONE),t.blendEquation(t.FUNC_ADD)):"mult"===d.boostBlending||"multiply"===d.boostBlending?t.blendFunc(t.DST_COLOR,t.ZERO):"darken"===d.boostBlending?(t.blendFunc(t.ONE,t.ONE),t.blendEquation(t.FUNC_MIN)):t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA),r.reset(),a.colorData.length>0?(r.setUniform("hasColor",1),(y=new M(t,r)).build(Array(a.segments[0].from).concat(a.colorData),"aColor",4),y.bind()):(r.setUniform("hasColor",0),t.disableVertexAttribArray(t.getAttribLocation(r.getProgram(),"aColor"))),r.setColor(P),this.setXAxis(a.series.xAxis),this.setYAxis(a.series.yAxis),this.setThreshold(m,b),"POINTS"===a.drawMode&&r.setPointSize(((d.marker&&d.marker.radius)??.5)*2*o),r.setSkipTranslation(a.skipTranslation),"bubble"===a.series.type&&r.setBubbleUniforms(a.series,a.zMin,a.zMax,o),r.setDrawAsCircle(_[a.series.type]||!1),s)){if(u>0||"LINE_STRIP"!==a.drawMode){let{x:i,y:r,width:l,height:h}=w(e,a.series);for(t.enable(t.SCISSOR_TEST),t.scissor(i*o,n-(r+h)*o,l*o,h*o),A=0;A<a.segments.length;A++)s.render(a.segments[A].from,a.segments[A].to,a.drawMode);t.disable(t.SCISSOR_TEST)}if(a.hasMarkers&&p)for(r.setPointSize(((d.marker&&d.marker.radius)??5)*2*o),r.setDrawAsCircle(!0),A=0;A<a.segments.length;A++)s.render(a.segments[A].from,a.segments[A].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(e){if(this.clear(),e.renderer.forExport)return this.renderChart(e);this.isInited?this.renderChart(e):setTimeout(()=>{this.render(e)},1)}setSize(e,t){let i=this.shader;i&&(this.width!==e||this.height!==t)&&(this.width=e,this.height=t,i.bind(),i.setPMatrix(O.orthoMatrix(e,t)))}init(e,t){let i=this.settings;if(this.isInited=!1,!e)return!1;i.debug.timeSetup&&console.time("gl setup");for(let t=0;t<L.length&&(this.gl=e.getContext(L[t],{}),!this.gl);++t);let r=this.gl;if(!r)return!1;t||this.flush(),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),r.depthFunc(r.LESS);let s=this.shader=new E(r);if(!s)return!1;this.vbuffer=new M(r,s);let o=(e,t)=>{let i={isReady:!1,texture:U.createElement("canvas"),handle:r.createTexture()},s=i.texture.getContext("2d");this.textureHandles[e]=i,i.texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",t(s);try{r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.handle),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.bindTexture(r.TEXTURE_2D,null),i.isReady=!0}catch{}};return o("circle",e=>{e.beginPath(),e.arc(256,256,256,0,2*Math.PI),e.stroke(),e.fill()}),o("square",e=>{e.fillRect(0,0,512,512)}),o("diamond",e=>{e.beginPath(),e.moveTo(256,0),e.lineTo(512,256),e.lineTo(256,512),e.lineTo(0,256),e.lineTo(256,0),e.fill()}),o("triangle",e=>{e.beginPath(),e.moveTo(0,512),e.lineTo(256,0),e.lineTo(512,512),e.lineTo(0,512),e.fill()}),o("triangle-down",e=>{e.beginPath(),e.moveTo(0,0),e.lineTo(256,512),e.lineTo(512,0),e.lineTo(0,0),e.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let e=this.gl,t=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),t&&t.destroy(),e&&((0,c.objectEach)(this.textureHandles,t=>{t.handle&&e.deleteTexture(t.handle)}),e.canvas.width=1,e.canvas.height=1)}}let{setLength:I,splice:G}={convertToNumber:function(e,t){switch(typeof e){case"boolean":return+!!e;case"number":return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??""}`))&&!t?null:e}},setLength:function(e,t,i){return Array.isArray(e)?(e.length=t,e):e[i?"subarray":"slice"](0,t)},splice:function(e,t,i,r,s=[]){if(Array.isArray(e))return Array.isArray(s)||(s=Array.from(s)),{removed:e.splice(t,i,...s),array:e};let o=Object.getPrototypeOf(e).constructor,n=e[r?"subarray":"slice"](t,t+i),a=new o(e.length-i+s.length);return a.set(e.subarray(0,t),0),a.set(s,t),a.set(e.subarray(t+i),t+s.length),{removed:n,array:a}}},B=class{constructor(e={}){this.isDataTable=!0,this.autoId=!e.id,this.columns={},this.id=e.id||(0,c.uniqueKey)(),this.rowCount=0,this.versionTag=(0,c.uniqueKey)();let t=0;(0,c.objectEach)(e.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,(0,c.objectEach)(this.columns,(t,i)=>{t.length!==e&&(this.columns[i]=I(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let i=0;(0,c.objectEach)(this.columns,(r,s)=>{this.columns[s]=G(r,e,t).array,i=r.length}),this.rowCount=i}(0,c.fireEvent)(this,"afterDeleteRows",{rowIndex:e,rowCount:t}),this.versionTag=(0,c.uniqueKey)()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRowObject(e,t){let i={},r=this.columns;for(let s of(t??(t=Object.keys(this.columns)),t))i[s]=r[s]?.[e];return i}setColumn(e,t=[],i=0,r){this.setColumns({[e]:t},i,r)}setColumns(e,t,i){let r=this.rowCount;(0,c.objectEach)(e,(e,t)=>{this.columns[t]=e.slice(),r=e.length}),this.applyRowCount(r),i?.silent||((0,c.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,c.uniqueKey)())}setRow(e,t=this.rowCount,i,r){var s;let{columns:o}=this,n=i?this.rowCount+1:t+1,a=Object.keys(e);if(r?.addColumns!==!1)for(let e=0,t=a.length;e<t;e++)o[s=a[e]]||(o[s]=Array(this.rowCount));(0,c.objectEach)(o,(r,s)=>{r&&(i?r=G(r,t,0,!0,[e[s]]).array:r[t]=s in e?e[s]:r[t],o[s]=r)}),this.applyRowCount(Math.max(n,this.rowCount)),r?.silent||((0,c.fireEvent)(this,"afterSetRows",{rowIndex:t}),this.versionTag=(0,c.uniqueKey)())}getModified(){return this.modified||this}},{getBoostClipRect:V,isChartSeriesBoosting:X}=P,{getOptions:F}=b(),{composed:H,doc:j,noop:q,win:W}=b();function Y(e,t){let i=t.boost;e&&i&&i.target&&i.canvas&&!X(t.chart)&&e.allocateBufferForSingleSeries(t)}function K(e){return(e&&e.options&&e.options.boost&&e.options.boost.enabled)??!0}function Z(e,t){let i=e.constructor,s=e.seriesGroup||t.group,o=e.chartWidth,n=e.chartHeight,a=e,l="u">typeof SVGForeignObjectElement,h=!1;X(e)?a=e:(a=t,h=!!(t.options.events?.click||t.options.point?.events?.click));let d=a.boost=a.boost||{};if(l=!1,r||(r=j.createElement("canvas")),!d.target&&(d.canvas=r,e.renderer.forExport||!l?(a.renderTarget=d.target=e.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(s),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=e.renderer.createElement("foreignObject").add(s),a.renderTarget=d.target=j.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=e.chartWidth,n=e.chartHeight,(d.targetFo||d.target).attr({x:0,y:0,width:o,height:n}).css({pointerEvents:h?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(h?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(e.plotLeft,e.plotTop)},d.clipRect=e.renderer.clipRect(),(d.targetFo||d.target).attr({zIndex:t.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(s).translate(t.xAxis.pos,t.yAxis.pos))),d.canvas.width=o,d.canvas.height=n,d.clipRect){let t=V(e,a);d.clipRect.attr(t),e.navigator||t.width!==e.clipBox.width||t.height!==e.clipBox.height?(d.targetFo||d.target).clip(d.clipRect):s?.clip(e.renderer.clipRect(t.x-4,t.y,t.width+4,t.height+4))}return d.resize(),d.clear(),!d.wgl&&(d.wgl=new O(e=>{e.settings.debug.timeBufferCopy&&console.time("buffer copy"),d.copy(),e.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),d.wgl.init(d.canvas)||(0,c.error)("[highcharts boost] - unable to init WebGL renderer"),d.wgl.setOptions(e.options.boost||{}),a instanceof i&&d.wgl.allocateBuffer(e)),d.wgl.setSize(o,n),d.wgl}function Q(e){let t=e.points;if(t){let e,i;for(i=0;i<t.length;i+=1)(e=t[i])&&e.destroyElements&&e.destroyElements()}for(let t of(["graph","area","tracker"].forEach(t=>{let i=e[t];i&&(e[t]=i.destroy())}),e.zones))(0,c.destroyObjectProperties)(t,void 0,!0)}function $(e,t,i,r,s,o){let n=(s=s||0)+(r=r||3e3),a=!0;for(;a&&s<n&&s<e.length;)a=t(e[s],s),++s;a&&(s<e.length?o?$(e,t,i,r,s,o):W.requestAnimationFrame?W.requestAnimationFrame(function(){$(e,t,i,r,s)}):setTimeout($,0,e,t,i,r,s):i&&i())}function J(e,t){let i=e.options.boostThreshold??Number.MAX_VALUE;if(0===i)return!1;let r=e.dataTable.getModified().rowCount,s=e.xAxis&&e.xAxis.options,o=e.yAxis&&e.yAxis.options,n=e.colorAxis&&e.colorAxis.options;return r>=i&&(0,c.isNumber)(o?.min)&&(0,c.isNumber)(o?.max)&&(!t||(0,c.isNumber)(s?.min)&&(0,c.isNumber)(s?.max))&&(!n||(0,c.isNumber)(n.min)&&(0,c.isNumber)(n.max))}let ee=(e,t)=>{let{options:i,forceCrop:r,chart:s}=e,o=i.boostThreshold??Number.MAX_VALUE;return!r&&0!==o&&(X(s)||(t?.length??0)>=o)};function et(){let e=this,t=e.chart;t.boost&&t.boost.markerGroup===e.markerGroup&&(e.markerGroup=void 0),t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(function(t){return t.series===e})),t.hoverPoint&&t.hoverPoint.series===e&&(t.hoverPoint=void 0)}function ei(){let e=this.boost,t=this.chart.boost,i=t?.markerGroup;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear()),i&&this.markerGroup===i&&this.chart.series.some(e=>e.visible&&e.markerGroup===i)&&i.show()}function er(e){let t=e.boost;t&&t.canvas&&t.target&&t.wgl&&!X(e.chart)&&t.wgl.render(e.chart)}function es(e,t){let i=e.options,r=e.xAxis,s=e.pointClass;if(t instanceof s)return t;let o=i.data,n=e.is("scatter"),a=(n&&e.getColumn("x",!0).length?e.getColumn("x",!0):void 0)||(e.getColumn("x").length?e.getColumn("x"):void 0)||i.xData||e.getColumn("x",!0)||!1,l=e.getColumn("y",!0)||i.yData||!1,h=t.i,d=o?.[h]?.color,f=new s(e,n&&a&&l?[a[h],l[h]]:((0,c.isArray)(o)?o:[])[h],a?a[h]:void 0);if(n&&i?.keys?.length){let e=i.keys;for(let t=e.length-1;t>-1;t--)f[e[t]]=o[h][t]}return f.category=r.categories?r.categories[f.x]:f.x??f.x,f.key=f.name??f.category,f.dist=t.dist,f.distX=t.distX,f.plotX=t.plotX,f.plotY=t.plotY,f.percentage=t.percentage,f.isInside=e.isPointInside(f),d&&(f.color=d),f}function eo(e){let{options:t,xAxis:i,yAxis:r}=this;if(!this.isDirty&&!i.isDirty&&!r.isDirty&&!e)return!1;this.yAxis.setTickInterval();let s=t.boostThreshold||0,o=t.cropThreshold,n=this.getColumn("x"),a=i.getExtremes(),l=a.max??Number.MAX_VALUE,h=a.min??-Number.MAX_VALUE,d=this.getColumn("y"),f=r.getExtremes(),u=f.max??Number.MAX_VALUE,g=f.min??-Number.MAX_VALUE,m=r.userMin??((0,c.isNumber)(r.options.min)?r.options.min:-Number.MAX_VALUE),b=r.userMax??((0,c.isNumber)(r.options.max)?r.options.max:Number.MAX_VALUE);if(!this.boosted&&i.old&&r.old&&h>=(i.old.min??-Number.MAX_VALUE)&&l<=(i.old.max??Number.MAX_VALUE)&&g>=(r.old.min??-Number.MAX_VALUE)&&u<=(r.old.max??Number.MAX_VALUE))return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let p=this.dataTable.rowCount;if(!s||p<s||o&&!this.forceCrop&&!this.getExtremesFromAll&&!t.getExtremesFromAll&&p<o)return this.dataTable.getModified().setColumns({x:n,y:d}),!0;let x=[],A=[],y=[],v=!((0,c.isNumber)(a.max)||(0,c.isNumber)(a.min)),P=!((0,c.isNumber)(f.max)||(0,c.isNumber)(f.min)),T=!1,C,k=n[0],E=n[0],M,w=d?.[0],S=d?.[0];for(let e=0,t=n.length;e<t;++e)C=n[e],M=d?.[e],C>=h&&C<=l&&M>=m&&M<=b?(x.push(C),A.push(M),y.push(e),v&&(k=Math.max(k,C),E=Math.min(E,C)),P&&(w=Math.max(w,M),S=Math.min(S,M))):T=!0;return v&&(i.dataMax=Math.max(k,i.dataMax||0),i.dataMin=Math.min(E,i.dataMin||0)),P&&(r.dataMax=Math.max(w,r.dataMax||0),r.dataMin=Math.min(S,r.dataMin||0)),this.cropped=T,this.cropStart=0,T&&!this.dataTable.modified&&(this.dataTable.modified=new B,this.hasProcessedDataTable=!0),this.dataTable.getModified().setColumns({x:x,y:A}),!0}function en(){let e=this.options||{},t=this.chart,r=t.boost,s=this.boost,o=this.xAxis,n=this.yAxis,a=e.xData||this.getColumn("x",!0),l=e.yData||this.getColumn("y",!0),h=this.getColumn("low",!0),d=this.getColumn("high",!0),f=e.data,u=o.getExtremes(),g=u.min-(o.minPointOffset||0),m=u.max+(o.minPointOffset||0),b=n.getExtremes(),p=b.min-(n.minPointOffset||0),x=b.max+(n.minPointOffset||0),A={},y=!!this.sampling,v=e.enableMouseTracking,P=e.threshold,T=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),C=!!e.stacking,k=this.cropStart||0,E=this.requireSorting,M=!a,w="x"===e.findNearestPointBy,S=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||this.getColumn("x",!0),U=e.lineWidth??1,R=e.nullInteraction&&p,N=t.tooltip,_=!1,L,z=n.getThreshold(P),D,O,I,G;if(!this.boosted||(this.points?.forEach(e=>{e?.destroyElements?.()}),this.points=[],N&&!N.isHidden?(t.hoverPoint?.series===this||t.hoverPoints?.some(e=>e.series===this))&&(t.hoverPoint=t.hoverPoints=void 0,N.hide(0)):t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(e=>e.series!==this)),o.isPanning||n.isPanning)||(_=Z(t,this),t.boosted=!0,!this.visible))return;(this.points||this.graph)&&Q(this),X(t)?(this.markerGroup&&this.markerGroup!==r?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=r?.markerGroup,s&&s.target&&(this.renderTarget=s.target=s.target.destroy())):(this.markerGroup===r?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"));let B=this.points=[],V=(e,r,s,a)=>{let l=!!S&&S[k+s],h=e=>{t.inverted&&(e=o.len-e,r=n.len-r),B.push({destroy:q,x:l,clientX:e,plotX:e,plotY:r,i:k+s,percentage:a})};e=Math.ceil(e),i=w?e:e+","+r,v&&(A[i]?l===S[S.length-1]&&(B.length--,h(e)):(A[i]=!0,h(e)))};this.buildKDTree=q,(0,c.fireEvent)(this,"renderCanvas"),r&&U>1&&this.is("line")&&(r.lineWidthFilter?.remove(),r.lineWidthFilter=t.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*U}}],attributes:{id:"linewidth"}}),(s?.target||r.target)?.attr({filter:"url(#linewidth)"})),_&&(Y(_,this),_.pushSeries(this),er(this));let F=_.settings,H=(0,c.isNumber)(F.chunkSize)&&F.chunkSize>0?F.chunkSize:3e3,j=()=>{(0,c.fireEvent)(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),F.debug.timeKDTree&&console.timeEnd("kd tree building")};t.renderer.forExport||(F.debug.timeKDTree&&console.time("kd tree building"),$(C?this.data.slice(k):a||f,function(e,i){let r=void 0===t.index,s,a,f,u,b,A=!1,v=!0;return!(0,c.defined)(e)||(!r&&(M?(s=e[0],a=e[1]):(s=e,a=l[i]??R??null),T?(M&&(a=e.slice(1,3)),A=h[i],a=d[i]):C&&(s=e.x,A=(a=e.stackY)-e.y,b=e.percentage),E||(v=(a||0)>=p&&a<=x),null!==a&&s>=g&&s<=m&&v&&(f=o.toPixels(s,!0),y?((void 0===I||f===L)&&(T||(A=a),(void 0===G||a>O)&&(O=a,G=i),(void 0===I||A<D)&&(D=A,I=i)),w&&f===L||(void 0!==I&&(u=n.toPixels(O,!0),z=n.toPixels(D,!0),V(f,u,G,b),z!==u&&V(f,z,I,b)),I=G=void 0,L=f)):V(f,u=Math.ceil(n.toPixels(a,!0)),i,b))),!r)},j,H))}function ea(e){let t=!0;if(this.chart.options&&this.chart.options.boost&&(t=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!t||!this.boosted)return e.call(this);this.chart.boosted=!0;let i=Z(this.chart,this);i&&(Y(i,this),i.pushSeries(this)),er(this)}function el(e){if(this.boosted){if(J(this,!0))return{};if(this.xAxis?.isPanning||this.yAxis?.isPanning)return this}return e.apply(this,[].slice.call(arguments,1))}function eh(e){let t=this.options.data;if(K(this.chart)&&x[this.type]){let r=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!ee(this,t)||r||this.is("treemap")||this.options.stacking||!J(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;r&&"treegrid"!==this.yAxis.type?eo.call(this,arguments[1]):e.apply(this,[].slice.call(arguments,1)),t=this.getColumn("x",!0)}if(this.boosted=ee(this,t),this.boosted){let e;this.options.data?.length&&(e=this.getFirstValidPoint(this.options.data),(0,c.isNumber)(e)||(0,c.isArray)(e)||this.is("treemap")||(0,c.error)(12,!1,this.chart));var i=this;i.boost=i.boost||{getPoint:e=>es(i,e)};let t=i.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(e=>{t.push({prop:e,val:i[e],own:Object.hasOwnProperty.call(i,e)})}),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 e of i.data)e?.destroy?.();i.data.length=0,i.points.length=0}}else!function(e){let t=e.boost,i=e.chart,r=i.boost;if(r?.markerGroup)for(let e of(r.markerGroup.destroy(),r.markerGroup=void 0,i.series))e.markerGroup=void 0,e.markerGroup=e.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");t&&((t.altered||[]).forEach(t=>{t.own?e[t.prop]=t.val:delete e[t.prop]}),t.clear&&t.clear()),(i.seriesGroup||e.group)?.clip()}(this)}else e.apply(this,[].slice.call(arguments,1))}function ed(e){let t=e.apply(this,[].slice.call(arguments,1));return this.boost&&t?this.boost.getPoint(t):t}let ef=function(e,t,i,r){if((0,c.pushUnique)(H,"Boost.Series")){let s=F().plotOptions,o=e.prototype;if((0,c.addEvent)(e,"destroy",et),(0,c.addEvent)(e,"hide",ei),r&&(o.renderCanvas=en),(0,c.wrap)(o,"getExtremes",el),(0,c.wrap)(o,"processData",eh),(0,c.wrap)(o,"searchPoint",ed),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(e=>(function(e,t,i){function r(e){let t=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!t&&K(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&x[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():e.call(this)}if((0,c.wrap)(e,i,r),"translate"===i)for(let e of["column","arearange","columnrange","heatmap","treemap"])t[e]&&(0,c.wrap)(t[e].prototype,i,r)})(o,t,e)),(0,c.wrap)(i.prototype,"firePointEvent",function(e,t,i){if("click"===t&&this.series.boosted){let e=i.point;if((e.dist||e.distX)>=(e.series.options.marker?.radius??10))return}return e.apply(this,[].slice.call(arguments,1))}),p.forEach(e=>{let i=s[e];i&&(i.boostThreshold=5e3,i.boostData=[],t[e].prototype.fillOpacity=!0)}),r){let{area:e,areaspline:i,bubble:r,column:s,heatmap:o,scatter:n,treemap:a}=t;if(e&&(0,c.extend)(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&(0,c.extend)(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),r){let e=r.prototype;delete e.buildKDTree,(0,c.wrap)(e,"markerAttribs",function(e){return!this.boosted&&e.apply(this,[].slice.call(arguments,1))})}s&&(0,c.extend)(s.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[o,a].forEach(e=>{e&&(0,c.wrap)(e.prototype,"drawPoints",ea)})}}return e},eu={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},{doc:eg,win:em}=b(),ec=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function eb(){let e;if(void 0!==em.WebGLRenderingContext){e=eg.createElement("canvas");for(let t=0;t<ec.length;++t)try{if(null!=e.getContext(ec[t]))return!0}catch{}}return!1}let ep=b();ep.hasWebGLSupport=eb,o=ep.Chart,n=ep.Axis,a=ep.Series,l=ep.seriesTypes,h=ep.Point,d=ep.Color,(s=eb())||(void 0!==b().initCanvasBoost?b().initCanvasBoost():(0,c.error)(26)),d&&!d.names.lightgoldenrodyellow&&(d.names={...d.names,...eu}),P.compose(o,s),ef(a,l,h,s),(0,c.addEvent)(n,"setExtremes",function(e){for(let t of[this.chart,...this.series].map(e=>e.renderTarget).filter(Boolean)){let{horiz:i,pos:r}=this,s=i?"scaleX":"scaleY",o=i?"translateX":"translateY",n=t?.[s]??1,a=1,l=0,h=1,d="none";this.isPanning&&(a=(e.scale??1)*n,l=(t?.[o]||0)-a*(e.move||0)+n*r-a*r,h=.7,d="blur(3px)"),t?.attr({[s]:a,[o]:l}).css({transition:"250ms filter, 250ms opacity",filter:d,opacity:h})}if(!this.isPanning)for(let e of this.series)e.boost&&e.is("scatter")&&!e.is("bubble")&&!e.is("treemap")&&!e.is("heatmap")&&(e.isDirty=!0)});let ex=b();return m.default})());