highcharts 6.1.1 → 6.2.0

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 (871) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +29 -0
  3. package/css/highcharts.scss +25 -1
  4. package/css/themes/dark-unica.css +29 -0
  5. package/css/themes/grid-light.css +29 -0
  6. package/css/themes/sand-signika.css +29 -0
  7. package/es-modules/indicators/accumulation-distribution.src.js +1 -1
  8. package/es-modules/indicators/atr.src.js +1 -1
  9. package/es-modules/indicators/bollinger-bands.src.js +2 -2
  10. package/es-modules/indicators/cci.src.js +1 -1
  11. package/es-modules/indicators/cmf.src.js +1 -1
  12. package/es-modules/indicators/ema.src.js +1 -1
  13. package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  14. package/es-modules/indicators/indicators.src.js +29 -14
  15. package/es-modules/indicators/macd.src.js +4 -4
  16. package/es-modules/indicators/mfi.src.js +1 -1
  17. package/es-modules/indicators/momentum.src.js +2 -2
  18. package/es-modules/indicators/pivot-points.src.js +7 -2
  19. package/es-modules/indicators/price-envelopes.src.js +2 -2
  20. package/es-modules/indicators/psar.src.js +1 -1
  21. package/es-modules/indicators/roc.src.js +1 -1
  22. package/es-modules/indicators/rsi.src.js +1 -1
  23. package/es-modules/indicators/stochastic.src.js +9 -7
  24. package/es-modules/indicators/volume-by-price.src.js +1 -1
  25. package/es-modules/indicators/vwap.src.js +1 -1
  26. package/es-modules/indicators/wma.src.js +1 -1
  27. package/es-modules/indicators/zigzag.src.js +1 -1
  28. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  29. package/es-modules/masters/modules/annotations.src.js +1 -1
  30. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  31. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  32. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  33. package/es-modules/masters/modules/data.src.js +1 -1
  34. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  35. package/es-modules/masters/modules/export-data.src.js +1 -1
  36. package/es-modules/masters/modules/exporting.src.js +1 -1
  37. package/es-modules/masters/modules/funnel.src.js +1 -1
  38. package/es-modules/masters/modules/gantt.src.js +2 -1
  39. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  40. package/es-modules/masters/modules/heatmap.src.js +1 -1
  41. package/es-modules/masters/modules/item-series.src.js +1 -1
  42. package/es-modules/masters/modules/map.src.js +1 -1
  43. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  44. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  45. package/es-modules/masters/modules/sankey.src.js +1 -1
  46. package/es-modules/masters/modules/series-label.src.js +1 -1
  47. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  48. package/es-modules/masters/modules/stock.src.js +1 -1
  49. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  50. package/es-modules/masters/modules/treegrid.src.js +12 -0
  51. package/es-modules/masters/modules/variwide.src.js +1 -1
  52. package/es-modules/masters/modules/vector.src.js +1 -1
  53. package/es-modules/masters/modules/windbarb.src.js +1 -1
  54. package/es-modules/masters/modules/xrange.src.js +1 -1
  55. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  56. package/es-modules/masters/themes/dark-green.src.js +1 -1
  57. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  58. package/es-modules/masters/themes/gray.src.js +1 -1
  59. package/es-modules/masters/themes/grid-light.src.js +1 -1
  60. package/es-modules/masters/themes/grid.src.js +1 -1
  61. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  62. package/es-modules/masters/themes/skies.src.js +1 -1
  63. package/es-modules/mixins/centered-series.js +36 -5
  64. package/es-modules/mixins/on-series.js +1 -1
  65. package/es-modules/mixins/polygon.js +4 -4
  66. package/es-modules/modules/annotations.src.js +2 -2
  67. package/es-modules/modules/boost-canvas.src.js +19 -8
  68. package/es-modules/modules/boost.src.js +300 -137
  69. package/es-modules/modules/broken-axis.src.js +169 -134
  70. package/es-modules/modules/bullet.src.js +2 -2
  71. package/es-modules/modules/data.src.js +8 -6
  72. package/es-modules/modules/draggable-points.src.js +2257 -0
  73. package/es-modules/modules/drilldown.src.js +4 -2
  74. package/es-modules/modules/export-data.src.js +11 -1
  75. package/es-modules/modules/exporting.src.js +62 -36
  76. package/es-modules/modules/funnel.src.js +5 -5
  77. package/es-modules/modules/histogram.src.js +30 -28
  78. package/es-modules/modules/item-series.src.js +36 -11
  79. package/es-modules/modules/keyboard-navigation.src.js +81 -44
  80. package/es-modules/modules/no-data-to-display.src.js +5 -5
  81. package/es-modules/modules/oldie.src.js +14 -9
  82. package/es-modules/modules/overlapping-datalabels.src.js +45 -21
  83. package/es-modules/modules/parallel-coordinates.src.js +4 -3
  84. package/es-modules/modules/pareto.src.js +1 -1
  85. package/es-modules/modules/sankey.src.js +28 -10
  86. package/es-modules/modules/series-label.src.js +6 -6
  87. package/es-modules/modules/solid-gauge.src.js +10 -7
  88. package/es-modules/modules/static-scale.src.js +67 -28
  89. package/es-modules/modules/streamgraph.src.js +4 -4
  90. package/es-modules/modules/sunburst.src.js +4 -4
  91. package/es-modules/modules/tilemap.src.js +231 -134
  92. package/es-modules/modules/treemap.src.js +30 -27
  93. package/es-modules/modules/variable-pie.src.js +3 -3
  94. package/es-modules/modules/variwide.src.js +36 -24
  95. package/es-modules/modules/vector.src.js +98 -28
  96. package/es-modules/modules/windbarb.src.js +4 -4
  97. package/es-modules/modules/wordcloud.src.js +133 -48
  98. package/es-modules/modules/xrange.src.js +258 -78
  99. package/es-modules/parts/AreaSeries.js +83 -50
  100. package/es-modules/parts/AreaSplineSeries.js +66 -29
  101. package/es-modules/parts/Axis.js +2184 -745
  102. package/es-modules/parts/BarSeries.js +70 -53
  103. package/es-modules/parts/CandlestickSeries.js +20 -10
  104. package/es-modules/parts/Chart.js +349 -157
  105. package/es-modules/parts/Color.js +74 -25
  106. package/es-modules/parts/ColumnSeries.js +274 -147
  107. package/es-modules/parts/DataGrouping.js +36 -3
  108. package/es-modules/parts/DataLabels.js +318 -144
  109. package/es-modules/parts/DateTimeAxis.js +27 -5
  110. package/es-modules/parts/Dynamics.js +236 -144
  111. package/es-modules/parts/FlagsSeries.js +49 -7
  112. package/es-modules/parts/Globals.js +4 -3
  113. package/es-modules/parts/Html.js +82 -16
  114. package/es-modules/parts/Interaction.js +198 -65
  115. package/es-modules/parts/Legend.js +181 -31
  116. package/es-modules/parts/LogarithmicAxis.js +36 -3
  117. package/es-modules/parts/MSPointer.js +31 -4
  118. package/es-modules/parts/Navigator.js +479 -187
  119. package/es-modules/parts/OHLCSeries.js +11 -5
  120. package/es-modules/parts/Options.js +1052 -686
  121. package/es-modules/parts/OrdinalAxis.js +20 -6
  122. package/es-modules/parts/PieSeries.js +258 -142
  123. package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  124. package/es-modules/parts/PlotLineOrBand.js +671 -35
  125. package/es-modules/parts/Point.js +189 -73
  126. package/es-modules/parts/Pointer.js +263 -62
  127. package/es-modules/parts/RangeSelector.js +601 -91
  128. package/es-modules/parts/Responsive.js +82 -36
  129. package/es-modules/parts/ScatterSeries.js +59 -27
  130. package/es-modules/parts/ScrollablePlotArea.js +30 -9
  131. package/es-modules/parts/Scrollbar.js +284 -113
  132. package/es-modules/parts/Series.js +1105 -836
  133. package/es-modules/parts/SplineSeries.js +53 -31
  134. package/es-modules/parts/Stacking.js +108 -7
  135. package/es-modules/parts/StockChart.js +26 -8
  136. package/es-modules/parts/SvgRenderer.js +1251 -613
  137. package/es-modules/parts/Tick.js +164 -30
  138. package/es-modules/parts/Time.js +171 -71
  139. package/es-modules/parts/Tooltip.js +271 -49
  140. package/es-modules/parts/TouchPointer.js +70 -3
  141. package/es-modules/parts/Utilities.js +1024 -429
  142. package/es-modules/parts-3d/Axis.js +4 -3
  143. package/es-modules/parts-3d/Chart.js +8 -9
  144. package/es-modules/parts-3d/Column.js +1 -1
  145. package/es-modules/parts-3d/Math.js +1 -1
  146. package/es-modules/parts-3d/Pie.js +1 -1
  147. package/es-modules/parts-3d/SVGRenderer.js +13 -10
  148. package/es-modules/parts-3d/Scatter.js +4 -4
  149. package/es-modules/parts-3d/Series.js +1 -1
  150. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  151. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  152. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  153. package/es-modules/parts-gantt/GanttChart.js +111 -0
  154. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  155. package/es-modules/parts-gantt/GridAxis.js +965 -0
  156. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  157. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  158. package/es-modules/parts-gantt/Tree.js +146 -0
  159. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  160. package/es-modules/parts-map/ColorAxis.js +4 -5
  161. package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  162. package/es-modules/parts-map/GeoJSON.js +1 -1
  163. package/es-modules/parts-map/HeatmapSeries.js +126 -55
  164. package/es-modules/parts-map/Map.js +144 -51
  165. package/es-modules/parts-map/MapAxis.js +1 -1
  166. package/es-modules/parts-map/MapBubbleSeries.js +6 -5
  167. package/es-modules/parts-map/MapLineSeries.js +4 -4
  168. package/es-modules/parts-map/MapNavigation.js +50 -12
  169. package/es-modules/parts-map/MapPointSeries.js +3 -3
  170. package/es-modules/parts-map/MapPointer.js +1 -1
  171. package/es-modules/parts-map/MapSeries.js +7 -7
  172. package/es-modules/parts-more/AreaRangeSeries.js +82 -40
  173. package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  174. package/es-modules/parts-more/BoxPlotSeries.js +3 -3
  175. package/es-modules/parts-more/BubbleSeries.js +9 -4
  176. package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  177. package/es-modules/parts-more/ErrorBarSeries.js +6 -4
  178. package/es-modules/parts-more/GaugeSeries.js +3 -3
  179. package/es-modules/parts-more/Pane.js +3 -2
  180. package/es-modules/parts-more/Polar.js +1 -1
  181. package/es-modules/parts-more/PolygonSeries.js +3 -3
  182. package/es-modules/parts-more/RadialAxis.js +5 -4
  183. package/es-modules/parts-more/WaterfallSeries.js +9 -4
  184. package/es-modules/supplemental.docs.js +0 -1955
  185. package/es-modules/themes/dark-blue.js +1 -1
  186. package/es-modules/themes/dark-green.js +1 -1
  187. package/es-modules/themes/dark-unica.js +1 -1
  188. package/es-modules/themes/gray.js +1 -1
  189. package/es-modules/themes/grid-light.js +1 -1
  190. package/es-modules/themes/grid.js +1 -1
  191. package/es-modules/themes/sand-signika.js +1 -1
  192. package/es-modules/themes/skies.js +1 -1
  193. package/highcharts-3d.js +77 -75
  194. package/highcharts-3d.js.map +1 -8
  195. package/highcharts-3d.src.js +39 -32
  196. package/highcharts-gantt.js +503 -0
  197. package/highcharts-gantt.js.map +1 -0
  198. package/highcharts-gantt.src.js +49289 -0
  199. package/highcharts-more.js +66 -64
  200. package/highcharts-more.js.map +1 -8
  201. package/highcharts-more.src.js +135 -75
  202. package/highcharts.js +413 -403
  203. package/highcharts.js.map +1 -8
  204. package/highcharts.src.js +11114 -4781
  205. package/highmaps.js +442 -433
  206. package/highmaps.js.map +1 -8
  207. package/highmaps.src.js +10740 -4598
  208. package/highstock.js +553 -540
  209. package/highstock.js.map +1 -8
  210. package/highstock.src.js +12807 -5343
  211. package/indicators/accumulation-distribution.js +4 -3
  212. package/indicators/accumulation-distribution.js.map +1 -8
  213. package/indicators/accumulation-distribution.src.js +6 -2
  214. package/indicators/atr.js +4 -3
  215. package/indicators/atr.js.map +1 -8
  216. package/indicators/atr.src.js +6 -2
  217. package/indicators/bollinger-bands.js +7 -6
  218. package/indicators/bollinger-bands.js.map +1 -8
  219. package/indicators/bollinger-bands.src.js +7 -3
  220. package/indicators/cci.js +4 -3
  221. package/indicators/cci.js.map +1 -8
  222. package/indicators/cci.src.js +6 -2
  223. package/indicators/cmf.js +5 -4
  224. package/indicators/cmf.js.map +1 -8
  225. package/indicators/cmf.src.js +6 -2
  226. package/indicators/ema.js +4 -3
  227. package/indicators/ema.js.map +1 -8
  228. package/indicators/ema.src.js +6 -2
  229. package/indicators/ichimoku-kinko-hyo.js +10 -9
  230. package/indicators/ichimoku-kinko-hyo.js.map +1 -8
  231. package/indicators/ichimoku-kinko-hyo.src.js +6 -2
  232. package/indicators/indicators.js +6 -5
  233. package/indicators/indicators.js.map +1 -8
  234. package/indicators/indicators.src.js +34 -15
  235. package/indicators/macd.js +11 -10
  236. package/indicators/macd.js.map +1 -8
  237. package/indicators/macd.src.js +10 -6
  238. package/indicators/mfi.js +5 -3
  239. package/indicators/mfi.js.map +1 -8
  240. package/indicators/mfi.src.js +6 -2
  241. package/indicators/momentum.js +4 -3
  242. package/indicators/momentum.js.map +1 -8
  243. package/indicators/momentum.src.js +7 -3
  244. package/indicators/pivot-points.js +8 -7
  245. package/indicators/pivot-points.js.map +1 -8
  246. package/indicators/pivot-points.src.js +12 -3
  247. package/indicators/price-envelopes.js +7 -6
  248. package/indicators/price-envelopes.js.map +1 -8
  249. package/indicators/price-envelopes.src.js +7 -3
  250. package/indicators/psar.js +5 -4
  251. package/indicators/psar.js.map +1 -8
  252. package/indicators/psar.src.js +6 -2
  253. package/indicators/roc.js +4 -3
  254. package/indicators/roc.js.map +1 -8
  255. package/indicators/roc.src.js +6 -2
  256. package/indicators/rsi.js +4 -3
  257. package/indicators/rsi.js.map +1 -8
  258. package/indicators/rsi.src.js +6 -2
  259. package/indicators/stochastic.js +7 -5
  260. package/indicators/stochastic.js.map +1 -8
  261. package/indicators/stochastic.src.js +14 -8
  262. package/indicators/volume-by-price.js +13 -12
  263. package/indicators/volume-by-price.js.map +1 -8
  264. package/indicators/volume-by-price.src.js +6 -2
  265. package/indicators/vwap.js +4 -3
  266. package/indicators/vwap.js.map +1 -8
  267. package/indicators/vwap.src.js +6 -2
  268. package/indicators/wma.js +4 -3
  269. package/indicators/wma.js.map +1 -8
  270. package/indicators/wma.src.js +6 -2
  271. package/indicators/zigzag.js +5 -3
  272. package/indicators/zigzag.js.map +1 -8
  273. package/indicators/zigzag.src.js +6 -2
  274. package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
  275. package/js/es-modules/indicators/atr.src.js +1 -1
  276. package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
  277. package/js/es-modules/indicators/cci.src.js +1 -1
  278. package/js/es-modules/indicators/cmf.src.js +1 -1
  279. package/js/es-modules/indicators/ema.src.js +1 -1
  280. package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  281. package/js/es-modules/indicators/indicators.src.js +29 -14
  282. package/js/es-modules/indicators/macd.src.js +4 -4
  283. package/js/es-modules/indicators/mfi.src.js +1 -1
  284. package/js/es-modules/indicators/momentum.src.js +2 -2
  285. package/js/es-modules/indicators/pivot-points.src.js +7 -2
  286. package/js/es-modules/indicators/price-envelopes.src.js +2 -2
  287. package/js/es-modules/indicators/psar.src.js +1 -1
  288. package/js/es-modules/indicators/roc.src.js +1 -1
  289. package/js/es-modules/indicators/rsi.src.js +1 -1
  290. package/js/es-modules/indicators/stochastic.src.js +9 -7
  291. package/js/es-modules/indicators/volume-by-price.src.js +1 -1
  292. package/js/es-modules/indicators/vwap.src.js +1 -1
  293. package/js/es-modules/indicators/wma.src.js +1 -1
  294. package/js/es-modules/indicators/zigzag.src.js +1 -1
  295. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  296. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  297. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  298. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  299. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  300. package/js/es-modules/masters/modules/data.src.js +1 -1
  301. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  302. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  305. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  306. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  307. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  308. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  309. package/js/es-modules/masters/modules/map.src.js +1 -1
  310. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  311. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  312. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  313. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  314. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  315. package/js/es-modules/masters/modules/stock.src.js +1 -1
  316. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  317. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  318. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  319. package/js/es-modules/masters/modules/vector.src.js +1 -1
  320. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  321. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  322. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  323. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  324. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  325. package/js/es-modules/masters/themes/gray.src.js +1 -1
  326. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  327. package/js/es-modules/masters/themes/grid.src.js +1 -1
  328. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  329. package/js/es-modules/masters/themes/skies.src.js +1 -1
  330. package/js/es-modules/mixins/centered-series.js +36 -5
  331. package/js/es-modules/mixins/on-series.js +1 -1
  332. package/js/es-modules/mixins/polygon.js +4 -4
  333. package/js/es-modules/modules/annotations.src.js +2 -2
  334. package/js/es-modules/modules/boost-canvas.src.js +19 -8
  335. package/js/es-modules/modules/boost.src.js +300 -137
  336. package/js/es-modules/modules/broken-axis.src.js +169 -134
  337. package/js/es-modules/modules/bullet.src.js +2 -2
  338. package/js/es-modules/modules/data.src.js +8 -6
  339. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  340. package/js/es-modules/modules/drilldown.src.js +4 -2
  341. package/js/es-modules/modules/export-data.src.js +11 -1
  342. package/js/es-modules/modules/exporting.src.js +62 -36
  343. package/js/es-modules/modules/funnel.src.js +5 -5
  344. package/js/es-modules/modules/histogram.src.js +30 -28
  345. package/js/es-modules/modules/item-series.src.js +36 -11
  346. package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
  347. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  348. package/js/es-modules/modules/oldie.src.js +14 -9
  349. package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
  350. package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
  351. package/js/es-modules/modules/pareto.src.js +1 -1
  352. package/js/es-modules/modules/sankey.src.js +23 -7
  353. package/js/es-modules/modules/series-label.src.js +6 -6
  354. package/js/es-modules/modules/solid-gauge.src.js +8 -5
  355. package/js/es-modules/modules/static-scale.src.js +67 -28
  356. package/js/es-modules/modules/streamgraph.src.js +4 -4
  357. package/js/es-modules/modules/sunburst.src.js +4 -4
  358. package/js/es-modules/modules/tilemap.src.js +231 -134
  359. package/js/es-modules/modules/treemap.src.js +29 -26
  360. package/js/es-modules/modules/variable-pie.src.js +3 -3
  361. package/js/es-modules/modules/variwide.src.js +36 -24
  362. package/js/es-modules/modules/vector.src.js +98 -28
  363. package/js/es-modules/modules/windbarb.src.js +4 -4
  364. package/js/es-modules/modules/wordcloud.src.js +133 -48
  365. package/js/es-modules/modules/xrange.src.js +256 -69
  366. package/js/es-modules/parts/AreaSeries.js +83 -50
  367. package/js/es-modules/parts/AreaSplineSeries.js +66 -29
  368. package/js/es-modules/parts/Axis.js +2089 -694
  369. package/js/es-modules/parts/BarSeries.js +70 -53
  370. package/js/es-modules/parts/CandlestickSeries.js +20 -10
  371. package/js/es-modules/parts/Chart.js +349 -157
  372. package/js/es-modules/parts/Color.js +74 -25
  373. package/js/es-modules/parts/ColumnSeries.js +241 -128
  374. package/js/es-modules/parts/DataGrouping.js +36 -3
  375. package/js/es-modules/parts/DataLabels.js +287 -116
  376. package/js/es-modules/parts/DateTimeAxis.js +27 -5
  377. package/js/es-modules/parts/Dynamics.js +236 -144
  378. package/js/es-modules/parts/FlagsSeries.js +49 -7
  379. package/js/es-modules/parts/Globals.js +4 -3
  380. package/js/es-modules/parts/Html.js +82 -16
  381. package/js/es-modules/parts/Interaction.js +187 -67
  382. package/js/es-modules/parts/Legend.js +181 -31
  383. package/js/es-modules/parts/LogarithmicAxis.js +36 -3
  384. package/js/es-modules/parts/MSPointer.js +31 -4
  385. package/js/es-modules/parts/Navigator.js +432 -162
  386. package/js/es-modules/parts/OHLCSeries.js +5 -5
  387. package/js/es-modules/parts/Options.js +855 -592
  388. package/js/es-modules/parts/OrdinalAxis.js +20 -6
  389. package/js/es-modules/parts/PieSeries.js +247 -134
  390. package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  391. package/js/es-modules/parts/PlotLineOrBand.js +671 -35
  392. package/js/es-modules/parts/Point.js +182 -70
  393. package/js/es-modules/parts/Pointer.js +263 -62
  394. package/js/es-modules/parts/RangeSelector.js +579 -91
  395. package/js/es-modules/parts/Responsive.js +82 -36
  396. package/js/es-modules/parts/ScatterSeries.js +58 -27
  397. package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
  398. package/js/es-modules/parts/Scrollbar.js +201 -71
  399. package/js/es-modules/parts/Series.js +995 -745
  400. package/js/es-modules/parts/SplineSeries.js +53 -31
  401. package/js/es-modules/parts/Stacking.js +108 -7
  402. package/js/es-modules/parts/StockChart.js +26 -8
  403. package/js/es-modules/parts/SvgRenderer.js +1208 -598
  404. package/js/es-modules/parts/Tick.js +164 -30
  405. package/js/es-modules/parts/Time.js +171 -71
  406. package/js/es-modules/parts/Tooltip.js +276 -49
  407. package/js/es-modules/parts/TouchPointer.js +70 -3
  408. package/js/es-modules/parts/Utilities.js +1024 -429
  409. package/js/es-modules/parts-3d/Axis.js +4 -3
  410. package/js/es-modules/parts-3d/Chart.js +8 -9
  411. package/js/es-modules/parts-3d/Column.js +1 -1
  412. package/js/es-modules/parts-3d/Math.js +1 -1
  413. package/js/es-modules/parts-3d/Pie.js +1 -1
  414. package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
  415. package/js/es-modules/parts-3d/Scatter.js +4 -4
  416. package/js/es-modules/parts-3d/Series.js +1 -1
  417. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  418. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  419. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  420. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  421. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  422. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  423. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  424. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  425. package/js/es-modules/parts-gantt/Tree.js +146 -0
  426. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  427. package/js/es-modules/parts-map/ColorAxis.js +4 -5
  428. package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  429. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  430. package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
  431. package/js/es-modules/parts-map/Map.js +136 -47
  432. package/js/es-modules/parts-map/MapAxis.js +1 -1
  433. package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
  434. package/js/es-modules/parts-map/MapLineSeries.js +4 -4
  435. package/js/es-modules/parts-map/MapNavigation.js +50 -12
  436. package/js/es-modules/parts-map/MapPointSeries.js +3 -3
  437. package/js/es-modules/parts-map/MapPointer.js +1 -1
  438. package/js/es-modules/parts-map/MapSeries.js +5 -5
  439. package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
  440. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  441. package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
  442. package/js/es-modules/parts-more/BubbleSeries.js +9 -4
  443. package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  444. package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
  445. package/js/es-modules/parts-more/GaugeSeries.js +3 -3
  446. package/js/es-modules/parts-more/Pane.js +3 -2
  447. package/js/es-modules/parts-more/Polar.js +1 -1
  448. package/js/es-modules/parts-more/PolygonSeries.js +3 -3
  449. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  450. package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
  451. package/js/es-modules/supplemental.docs.js +0 -1955
  452. package/js/es-modules/themes/dark-blue.js +1 -1
  453. package/js/es-modules/themes/dark-green.js +1 -1
  454. package/js/es-modules/themes/dark-unica.js +1 -1
  455. package/js/es-modules/themes/gray.js +1 -1
  456. package/js/es-modules/themes/grid-light.js +1 -1
  457. package/js/es-modules/themes/grid.js +1 -1
  458. package/js/es-modules/themes/sand-signika.js +1 -1
  459. package/js/es-modules/themes/skies.js +1 -1
  460. package/js/highcharts-3d.js +75 -74
  461. package/js/highcharts-3d.js.map +1 -8
  462. package/js/highcharts-3d.src.js +39 -32
  463. package/js/highcharts-gantt.js +480 -0
  464. package/js/highcharts-gantt.js.map +1 -0
  465. package/js/highcharts-gantt.src.js +47011 -0
  466. package/js/highcharts-more.js +63 -61
  467. package/js/highcharts-more.js.map +1 -8
  468. package/js/highcharts-more.src.js +135 -75
  469. package/js/highcharts.js +396 -387
  470. package/js/highcharts.js.map +1 -8
  471. package/js/highcharts.src.js +10765 -4659
  472. package/js/highmaps.js +419 -411
  473. package/js/highmaps.js.map +1 -8
  474. package/js/highmaps.src.js +10198 -4285
  475. package/js/highstock.js +529 -516
  476. package/js/highstock.js.map +1 -8
  477. package/js/highstock.src.js +12108 -4962
  478. package/js/indicators/accumulation-distribution.js +4 -3
  479. package/js/indicators/accumulation-distribution.js.map +1 -8
  480. package/js/indicators/accumulation-distribution.src.js +6 -2
  481. package/js/indicators/atr.js +4 -3
  482. package/js/indicators/atr.js.map +1 -8
  483. package/js/indicators/atr.src.js +6 -2
  484. package/js/indicators/bollinger-bands.js +7 -6
  485. package/js/indicators/bollinger-bands.js.map +1 -8
  486. package/js/indicators/bollinger-bands.src.js +7 -3
  487. package/js/indicators/cci.js +4 -3
  488. package/js/indicators/cci.js.map +1 -8
  489. package/js/indicators/cci.src.js +6 -2
  490. package/js/indicators/cmf.js +5 -4
  491. package/js/indicators/cmf.js.map +1 -8
  492. package/js/indicators/cmf.src.js +6 -2
  493. package/js/indicators/ema.js +4 -3
  494. package/js/indicators/ema.js.map +1 -8
  495. package/js/indicators/ema.src.js +6 -2
  496. package/js/indicators/ichimoku-kinko-hyo.js +10 -9
  497. package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
  498. package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
  499. package/js/indicators/indicators.js +6 -5
  500. package/js/indicators/indicators.js.map +1 -8
  501. package/js/indicators/indicators.src.js +34 -15
  502. package/js/indicators/macd.js +11 -10
  503. package/js/indicators/macd.js.map +1 -8
  504. package/js/indicators/macd.src.js +10 -6
  505. package/js/indicators/mfi.js +5 -3
  506. package/js/indicators/mfi.js.map +1 -8
  507. package/js/indicators/mfi.src.js +6 -2
  508. package/js/indicators/momentum.js +4 -3
  509. package/js/indicators/momentum.js.map +1 -8
  510. package/js/indicators/momentum.src.js +7 -3
  511. package/js/indicators/pivot-points.js +8 -7
  512. package/js/indicators/pivot-points.js.map +1 -8
  513. package/js/indicators/pivot-points.src.js +12 -3
  514. package/js/indicators/price-envelopes.js +7 -6
  515. package/js/indicators/price-envelopes.js.map +1 -8
  516. package/js/indicators/price-envelopes.src.js +7 -3
  517. package/js/indicators/psar.js +5 -4
  518. package/js/indicators/psar.js.map +1 -8
  519. package/js/indicators/psar.src.js +6 -2
  520. package/js/indicators/roc.js +4 -3
  521. package/js/indicators/roc.js.map +1 -8
  522. package/js/indicators/roc.src.js +6 -2
  523. package/js/indicators/rsi.js +4 -3
  524. package/js/indicators/rsi.js.map +1 -8
  525. package/js/indicators/rsi.src.js +6 -2
  526. package/js/indicators/stochastic.js +7 -5
  527. package/js/indicators/stochastic.js.map +1 -8
  528. package/js/indicators/stochastic.src.js +14 -8
  529. package/js/indicators/volume-by-price.js +13 -12
  530. package/js/indicators/volume-by-price.js.map +1 -8
  531. package/js/indicators/volume-by-price.src.js +6 -2
  532. package/js/indicators/vwap.js +4 -3
  533. package/js/indicators/vwap.js.map +1 -8
  534. package/js/indicators/vwap.src.js +6 -2
  535. package/js/indicators/wma.js +4 -3
  536. package/js/indicators/wma.js.map +1 -8
  537. package/js/indicators/wma.src.js +6 -2
  538. package/js/indicators/zigzag.js +5 -3
  539. package/js/indicators/zigzag.js.map +1 -8
  540. package/js/indicators/zigzag.src.js +6 -2
  541. package/js/modules/accessibility.js +52 -51
  542. package/js/modules/accessibility.js.map +1 -8
  543. package/js/modules/accessibility.src.js +86 -45
  544. package/js/modules/annotations.js +22 -21
  545. package/js/modules/annotations.js.map +1 -8
  546. package/js/modules/annotations.src.js +8 -4
  547. package/js/modules/arrow-symbols.js +13 -0
  548. package/js/modules/arrow-symbols.js.map +1 -0
  549. package/js/modules/arrow-symbols.src.js +138 -0
  550. package/js/modules/boost-canvas.js +15 -13
  551. package/js/modules/boost-canvas.js.map +1 -8
  552. package/js/modules/boost-canvas.src.js +24 -9
  553. package/js/modules/boost.js +57 -52
  554. package/js/modules/boost.js.map +1 -8
  555. package/js/modules/boost.src.js +305 -138
  556. package/js/modules/broken-axis.js +12 -10
  557. package/js/modules/broken-axis.js.map +1 -8
  558. package/js/modules/broken-axis.src.js +175 -136
  559. package/js/modules/bullet.js +3 -2
  560. package/js/modules/bullet.js.map +1 -8
  561. package/js/modules/bullet.src.js +7 -3
  562. package/js/modules/current-date-indicator.js +13 -0
  563. package/js/modules/current-date-indicator.js.map +1 -0
  564. package/js/modules/current-date-indicator.src.js +120 -0
  565. package/js/modules/data.js +25 -24
  566. package/js/modules/data.js.map +1 -8
  567. package/js/modules/data.src.js +14 -8
  568. package/js/modules/drag-panes.js +9 -8
  569. package/js/modules/drag-panes.js.map +1 -8
  570. package/js/modules/drag-panes.src.js +5 -1
  571. package/js/modules/draggable-points.js +38 -0
  572. package/js/modules/draggable-points.js.map +1 -0
  573. package/js/modules/draggable-points.src.js +2281 -0
  574. package/js/modules/drilldown.js +20 -19
  575. package/js/modules/drilldown.js.map +1 -8
  576. package/js/modules/drilldown.src.js +9 -3
  577. package/js/modules/export-data.js +20 -19
  578. package/js/modules/export-data.js.map +1 -8
  579. package/js/modules/export-data.src.js +17 -3
  580. package/js/modules/exporting.js +24 -23
  581. package/js/modules/exporting.js.map +1 -8
  582. package/js/modules/exporting.src.js +68 -38
  583. package/js/modules/funnel.js +8 -6
  584. package/js/modules/funnel.js.map +1 -8
  585. package/js/modules/funnel.src.js +11 -7
  586. package/js/modules/gantt.js +81 -18
  587. package/js/modules/gantt.js.map +1 -8
  588. package/js/modules/gantt.src.js +5494 -372
  589. package/js/modules/grid-axis.js +16 -10
  590. package/js/modules/grid-axis.js.map +1 -8
  591. package/js/modules/grid-axis.src.js +735 -293
  592. package/js/modules/heatmap.js +22 -21
  593. package/js/modules/heatmap.js.map +1 -8
  594. package/js/modules/heatmap.src.js +137 -62
  595. package/js/modules/histogram-bellcurve.js +9 -8
  596. package/js/modules/histogram-bellcurve.js.map +1 -8
  597. package/js/modules/histogram-bellcurve.src.js +35 -29
  598. package/js/modules/item-series.js +6 -4
  599. package/js/modules/item-series.js.map +1 -8
  600. package/js/modules/item-series.src.js +42 -13
  601. package/js/modules/map.js +63 -62
  602. package/js/modules/map.js.map +1 -8
  603. package/js/modules/map.src.js +353 -145
  604. package/js/modules/no-data-to-display.js +5 -4
  605. package/js/modules/no-data-to-display.js.map +1 -8
  606. package/js/modules/no-data-to-display.src.js +10 -6
  607. package/js/modules/offline-exporting.js +14 -13
  608. package/js/modules/offline-exporting.js.map +1 -8
  609. package/js/modules/offline-exporting.src.js +6 -2
  610. package/js/modules/oldie.js +29 -27
  611. package/js/modules/oldie.js.map +1 -8
  612. package/js/modules/oldie.src.js +20 -11
  613. package/js/modules/overlapping-datalabels.js +4 -3
  614. package/js/modules/overlapping-datalabels.js.map +1 -8
  615. package/js/modules/overlapping-datalabels.src.js +6 -2
  616. package/js/modules/parallel-coordinates.js +10 -9
  617. package/js/modules/parallel-coordinates.js.map +1 -8
  618. package/js/modules/parallel-coordinates.src.js +9 -4
  619. package/js/modules/pareto.js +5 -4
  620. package/js/modules/pareto.js.map +1 -8
  621. package/js/modules/pareto.src.js +6 -2
  622. package/js/modules/pathfinder.js +34 -0
  623. package/js/modules/pathfinder.js.map +1 -0
  624. package/js/modules/pathfinder.src.js +2106 -0
  625. package/js/modules/pattern-fill.js +13 -12
  626. package/js/modules/pattern-fill.js.map +1 -8
  627. package/js/modules/pattern-fill.src.js +5 -1
  628. package/js/modules/sankey.js +13 -12
  629. package/js/modules/sankey.js.map +1 -8
  630. package/js/modules/sankey.src.js +29 -9
  631. package/js/modules/series-label.js +17 -15
  632. package/js/modules/series-label.js.map +1 -8
  633. package/js/modules/series-label.src.js +12 -8
  634. package/js/modules/solid-gauge.js +9 -8
  635. package/js/modules/solid-gauge.js.map +1 -8
  636. package/js/modules/solid-gauge.src.js +14 -7
  637. package/js/modules/static-scale.js +4 -3
  638. package/js/modules/static-scale.js.map +1 -8
  639. package/js/modules/static-scale.src.js +69 -26
  640. package/js/modules/stock.js +136 -132
  641. package/js/modules/stock.js.map +1 -8
  642. package/js/modules/stock.src.js +1543 -499
  643. package/js/modules/streamgraph.js +4 -3
  644. package/js/modules/streamgraph.js.map +1 -8
  645. package/js/modules/streamgraph.src.js +10 -6
  646. package/js/modules/sunburst.js +40 -39
  647. package/js/modules/sunburst.js.map +1 -8
  648. package/js/modules/sunburst.src.js +38 -31
  649. package/js/modules/tilemap.js +19 -18
  650. package/js/modules/tilemap.js.map +1 -8
  651. package/js/modules/tilemap.src.js +363 -190
  652. package/js/modules/treegrid.js +51 -0
  653. package/js/modules/treegrid.js.map +1 -0
  654. package/js/modules/treegrid.src.js +2759 -0
  655. package/js/modules/treemap.js +27 -26
  656. package/js/modules/treemap.js.map +1 -8
  657. package/js/modules/treemap.src.js +34 -27
  658. package/js/modules/variable-pie.js +8 -7
  659. package/js/modules/variable-pie.js.map +1 -8
  660. package/js/modules/variable-pie.src.js +8 -4
  661. package/js/modules/variwide.js +8 -7
  662. package/js/modules/variwide.js.map +1 -8
  663. package/js/modules/variwide.src.js +42 -26
  664. package/js/modules/vector.js +7 -6
  665. package/js/modules/vector.js.map +1 -8
  666. package/js/modules/vector.src.js +104 -30
  667. package/js/modules/windbarb.js +11 -10
  668. package/js/modules/windbarb.js.map +1 -8
  669. package/js/modules/windbarb.src.js +11 -7
  670. package/js/modules/wordcloud.js +18 -15
  671. package/js/modules/wordcloud.js.map +1 -8
  672. package/js/modules/wordcloud.src.js +142 -53
  673. package/js/modules/xrange.js +12 -10
  674. package/js/modules/xrange.js.map +1 -8
  675. package/js/modules/xrange.src.js +262 -71
  676. package/js/themes/avocado.js +3 -2
  677. package/js/themes/avocado.js.map +1 -8
  678. package/js/themes/avocado.src.js +5 -1
  679. package/js/themes/dark-blue.js +9 -8
  680. package/js/themes/dark-blue.js.map +1 -8
  681. package/js/themes/dark-blue.src.js +7 -3
  682. package/js/themes/dark-green.js +9 -8
  683. package/js/themes/dark-green.js.map +1 -8
  684. package/js/themes/dark-green.src.js +7 -3
  685. package/js/themes/dark-unica.js +9 -7
  686. package/js/themes/dark-unica.js.map +1 -8
  687. package/js/themes/dark-unica.src.js +7 -3
  688. package/js/themes/gray.js +10 -8
  689. package/js/themes/gray.js.map +1 -8
  690. package/js/themes/gray.src.js +7 -3
  691. package/js/themes/grid-light.js +5 -4
  692. package/js/themes/grid-light.js.map +1 -8
  693. package/js/themes/grid-light.src.js +7 -3
  694. package/js/themes/grid.js +6 -5
  695. package/js/themes/grid.js.map +1 -8
  696. package/js/themes/grid.src.js +7 -3
  697. package/js/themes/sand-signika.js +6 -5
  698. package/js/themes/sand-signika.js.map +1 -8
  699. package/js/themes/sand-signika.src.js +7 -3
  700. package/js/themes/skies.js +6 -5
  701. package/js/themes/skies.js.map +1 -8
  702. package/js/themes/skies.src.js +7 -3
  703. package/js/themes/sunset.js +3 -2
  704. package/js/themes/sunset.js.map +1 -8
  705. package/js/themes/sunset.src.js +5 -1
  706. package/modules/accessibility.js +53 -51
  707. package/modules/accessibility.js.map +1 -8
  708. package/modules/accessibility.src.js +86 -45
  709. package/modules/annotations.js +24 -22
  710. package/modules/annotations.js.map +1 -8
  711. package/modules/annotations.src.js +8 -4
  712. package/modules/arrow-symbols.js +13 -0
  713. package/modules/arrow-symbols.js.map +1 -0
  714. package/modules/arrow-symbols.src.js +138 -0
  715. package/modules/boost-canvas.js +15 -13
  716. package/modules/boost-canvas.js.map +1 -8
  717. package/modules/boost-canvas.src.js +24 -9
  718. package/modules/boost.js +57 -52
  719. package/modules/boost.js.map +1 -8
  720. package/modules/boost.src.js +305 -138
  721. package/modules/broken-axis.js +12 -10
  722. package/modules/broken-axis.js.map +1 -8
  723. package/modules/broken-axis.src.js +175 -136
  724. package/modules/bullet.js +6 -5
  725. package/modules/bullet.js.map +1 -8
  726. package/modules/bullet.src.js +7 -3
  727. package/modules/current-date-indicator.js +13 -0
  728. package/modules/current-date-indicator.js.map +1 -0
  729. package/modules/current-date-indicator.src.js +120 -0
  730. package/modules/data.js +25 -24
  731. package/modules/data.js.map +1 -8
  732. package/modules/data.src.js +14 -8
  733. package/modules/drag-panes.js +9 -8
  734. package/modules/drag-panes.js.map +1 -8
  735. package/modules/drag-panes.src.js +5 -1
  736. package/modules/draggable-points.js +38 -0
  737. package/modules/draggable-points.js.map +1 -0
  738. package/modules/draggable-points.src.js +2281 -0
  739. package/modules/drilldown.js +16 -15
  740. package/modules/drilldown.js.map +1 -8
  741. package/modules/drilldown.src.js +9 -3
  742. package/modules/export-data.js +20 -19
  743. package/modules/export-data.js.map +1 -8
  744. package/modules/export-data.src.js +17 -3
  745. package/modules/exporting.js +23 -21
  746. package/modules/exporting.js.map +1 -8
  747. package/modules/exporting.src.js +68 -38
  748. package/modules/funnel.js +8 -7
  749. package/modules/funnel.js.map +1 -8
  750. package/modules/funnel.src.js +11 -7
  751. package/modules/gantt.js +84 -19
  752. package/modules/gantt.js.map +1 -8
  753. package/modules/gantt.src.js +5557 -379
  754. package/modules/grid-axis.js +17 -10
  755. package/modules/grid-axis.js.map +1 -8
  756. package/modules/grid-axis.src.js +736 -293
  757. package/modules/heatmap.js +22 -21
  758. package/modules/heatmap.js.map +1 -8
  759. package/modules/heatmap.src.js +139 -63
  760. package/modules/histogram-bellcurve.js +9 -8
  761. package/modules/histogram-bellcurve.js.map +1 -8
  762. package/modules/histogram-bellcurve.src.js +35 -29
  763. package/modules/item-series.js +6 -4
  764. package/modules/item-series.js.map +1 -8
  765. package/modules/item-series.src.js +42 -13
  766. package/modules/map.js +65 -64
  767. package/modules/map.js.map +1 -8
  768. package/modules/map.src.js +365 -152
  769. package/modules/no-data-to-display.js +5 -4
  770. package/modules/no-data-to-display.js.map +1 -8
  771. package/modules/no-data-to-display.src.js +10 -6
  772. package/modules/offline-exporting.js +14 -12
  773. package/modules/offline-exporting.js.map +1 -8
  774. package/modules/offline-exporting.src.js +6 -2
  775. package/modules/oldie.js +29 -27
  776. package/modules/oldie.js.map +1 -8
  777. package/modules/oldie.src.js +20 -11
  778. package/modules/overlapping-datalabels.js +4 -3
  779. package/modules/overlapping-datalabels.js.map +1 -8
  780. package/modules/overlapping-datalabels.src.js +6 -2
  781. package/modules/parallel-coordinates.js +10 -9
  782. package/modules/parallel-coordinates.js.map +1 -8
  783. package/modules/parallel-coordinates.src.js +9 -4
  784. package/modules/pareto.js +5 -4
  785. package/modules/pareto.js.map +1 -8
  786. package/modules/pareto.src.js +6 -2
  787. package/modules/pathfinder.js +35 -0
  788. package/modules/pathfinder.js.map +1 -0
  789. package/modules/pathfinder.src.js +2128 -0
  790. package/modules/pattern-fill.js +13 -12
  791. package/modules/pattern-fill.js.map +1 -8
  792. package/modules/pattern-fill.src.js +5 -1
  793. package/modules/sankey.js +13 -12
  794. package/modules/sankey.js.map +1 -8
  795. package/modules/sankey.src.js +34 -12
  796. package/modules/series-label.js +17 -15
  797. package/modules/series-label.js.map +1 -8
  798. package/modules/series-label.src.js +12 -8
  799. package/modules/solid-gauge.js +9 -8
  800. package/modules/solid-gauge.js.map +1 -8
  801. package/modules/solid-gauge.src.js +16 -9
  802. package/modules/static-scale.js +4 -3
  803. package/modules/static-scale.js.map +1 -8
  804. package/modules/static-scale.src.js +69 -26
  805. package/modules/stock.js +143 -139
  806. package/modules/stock.js.map +1 -8
  807. package/modules/stock.src.js +1701 -566
  808. package/modules/streamgraph.js +4 -3
  809. package/modules/streamgraph.js.map +1 -8
  810. package/modules/streamgraph.src.js +10 -6
  811. package/modules/sunburst.js +42 -41
  812. package/modules/sunburst.js.map +1 -8
  813. package/modules/sunburst.src.js +39 -32
  814. package/modules/tilemap.js +18 -17
  815. package/modules/tilemap.js.map +1 -8
  816. package/modules/tilemap.src.js +365 -191
  817. package/modules/treegrid.js +52 -0
  818. package/modules/treegrid.js.map +1 -0
  819. package/modules/treegrid.src.js +2797 -0
  820. package/modules/treemap.js +29 -28
  821. package/modules/treemap.js.map +1 -8
  822. package/modules/treemap.src.js +35 -28
  823. package/modules/variable-pie.js +8 -7
  824. package/modules/variable-pie.js.map +1 -8
  825. package/modules/variable-pie.src.js +8 -4
  826. package/modules/variwide.js +8 -7
  827. package/modules/variwide.js.map +1 -8
  828. package/modules/variwide.src.js +42 -26
  829. package/modules/vector.js +7 -6
  830. package/modules/vector.js.map +1 -8
  831. package/modules/vector.src.js +104 -30
  832. package/modules/windbarb.js +11 -10
  833. package/modules/windbarb.js.map +1 -8
  834. package/modules/windbarb.src.js +11 -7
  835. package/modules/wordcloud.js +18 -15
  836. package/modules/wordcloud.js.map +1 -8
  837. package/modules/wordcloud.src.js +142 -53
  838. package/modules/xrange.js +13 -11
  839. package/modules/xrange.js.map +1 -8
  840. package/modules/xrange.src.js +264 -80
  841. package/package.json +1 -1
  842. package/themes/avocado.js +3 -2
  843. package/themes/avocado.js.map +1 -8
  844. package/themes/avocado.src.js +5 -1
  845. package/themes/dark-blue.js +9 -8
  846. package/themes/dark-blue.js.map +1 -8
  847. package/themes/dark-blue.src.js +7 -3
  848. package/themes/dark-green.js +9 -8
  849. package/themes/dark-green.js.map +1 -8
  850. package/themes/dark-green.src.js +7 -3
  851. package/themes/dark-unica.js +9 -7
  852. package/themes/dark-unica.js.map +1 -8
  853. package/themes/dark-unica.src.js +7 -3
  854. package/themes/gray.js +10 -8
  855. package/themes/gray.js.map +1 -8
  856. package/themes/gray.src.js +7 -3
  857. package/themes/grid-light.js +5 -4
  858. package/themes/grid-light.js.map +1 -8
  859. package/themes/grid-light.src.js +7 -3
  860. package/themes/grid.js +6 -5
  861. package/themes/grid.js.map +1 -8
  862. package/themes/grid.src.js +7 -3
  863. package/themes/sand-signika.js +6 -5
  864. package/themes/sand-signika.js.map +1 -8
  865. package/themes/sand-signika.src.js +7 -3
  866. package/themes/skies.js +6 -5
  867. package/themes/skies.js.map +1 -8
  868. package/themes/skies.src.js +7 -3
  869. package/themes/sunset.js +3 -2
  870. package/themes/sunset.js.map +1 -8
  871. package/themes/sunset.src.js +5 -1
@@ -1,138 +1,142 @@
1
1
  /*
2
- Highcharts JS v6.1.1 (2018-06-27)
2
+ Highcharts JS v6.2.0 (2018-10-17)
3
3
  Highstock as a plugin for Highcharts
4
4
 
5
- (c) 2017 Torstein Honsi
5
+ (c) 2018 Torstein Honsi
6
6
 
7
7
  License: www.highcharts.com/license
8
8
  */
9
- (function(J){"object"===typeof module&&module.exports?module.exports=J:J(Highcharts)})(function(J){(function(a){var D=a.addEvent,k=a.Axis,F=a.Chart,z=a.css,H=a.defined,G=a.each,A=a.extend,v=a.noop,w=a.pick,u=a.timeUnits,y=a.wrap;y(a.Series.prototype,"init",function(g){var a;g.apply(this,Array.prototype.slice.call(arguments,1));(a=this.xAxis)&&a.options.ordinal&&D(this,"updatedData",function(){delete a.ordinalIndex})});y(k.prototype,"getTimeTicks",function(g,a,d,t,r,l,p,c){var b=0,f,q,n={},E,h,B,m=
10
- [],x=-Number.MAX_VALUE,C=this.options.tickPixelInterval,K=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!l||3>l.length||void 0===d)return g.call(this,a,d,t,r);h=l.length;for(f=0;f<h;f++){B=f&&l[f-1]>t;l[f]<d&&(b=f);if(f===h-1||l[f+1]-l[f]>5*p||B){if(l[f]>x){for(q=g.call(this,a,l[b],l[f],r);q.length&&q[0]<=x;)q.shift();q.length&&(x=q[q.length-1]);m=m.concat(q)}b=f+1}if(B)break}g=q.info;if(c&&g.unitRange<=u.hour){f=m.length-1;for(b=1;b<f;b++)K.dateFormat("%d",m[b])!==K.dateFormat("%d",
11
- m[b-1])&&(n[m[b]]="day",E=!0);E&&(n[m[0]]="day");g.higherRanks=n}m.info=g;if(c&&H(C)){c=K=m.length;f=[];var I;for(E=[];c--;)b=this.translate(m[c]),I&&(E[c]=I-b),f[c]=I=b;E.sort();E=E[Math.floor(E.length/2)];E<.6*C&&(E=null);c=m[K-1]>t?K-1:K;for(I=void 0;c--;)b=f[c],t=Math.abs(I-b),I&&t<.8*C&&(null===E||t<.8*E)?(n[m[c]]&&!n[m[c+1]]?(t=c+1,I=b):t=c,m.splice(t,1)):I=b}return m});A(k.prototype,{beforeSetTickPositions:function(){var a,e=[],d,t=!1,r,l=this.getExtremes(),p=l.min,c=l.max,b,f=this.isXAxis&&
12
- !!this.options.breaks,l=this.options.ordinal,q=Number.MAX_VALUE,n=this.chart.options.chart.ignoreHiddenSeries;r="highcharts-navigator-xaxis"===this.options.className;!this.options.overscroll||this.max!==this.dataMax||this.chart.mouseIsDown&&!r||this.eventArgs&&(!this.eventArgs||"navigator"===this.eventArgs.trigger)||(this.max+=this.options.overscroll,!r&&H(this.userMin)&&(this.min+=this.options.overscroll));if(l||f){G(this.series,function(b,h){d=[];if(!(n&&!1===b.visible||!1===b.takeOrdinalPosition&&
13
- !f)&&(e=e.concat(b.processedXData),a=e.length,e.sort(function(b,m){return b-m}),q=Math.min(q,w(b.closestPointRange,q)),a)){for(h=0;h<a-1;)e[h]!==e[h+1]&&d.push(e[h+1]),h++;d[0]!==e[0]&&d.unshift(e[0]);e=d}});a=e.length;if(2<a){r=e[1]-e[0];for(b=a-1;b--&&!t;)e[b+1]-e[b]!==r&&(t=!0);!this.options.keepOrdinalPadding&&(e[0]-p>r||c-e[e.length-1]>r)&&(t=!0)}else this.options.overscroll&&(2===a?q=e[1]-e[0]:1===a?(q=this.options.overscroll,e=[e[0],e[0]+q]):q=this.overscrollPointsRange);t?(this.options.overscroll&&
14
- (this.overscrollPointsRange=q,e=e.concat(this.getOverscrollPositions())),this.ordinalPositions=e,r=this.ordinal2lin(Math.max(p,e[0]),!0),b=Math.max(this.ordinal2lin(Math.min(c,e[e.length-1]),!0),1),this.ordinalSlope=c=(c-p)/(b-r),this.ordinalOffset=p-r*c):(this.overscrollPointsRange=w(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=l&&t;this.groupIntervalFactor=null},val2lin:function(a,e){var d=this.ordinalPositions;
15
- if(d){var g=d.length,r,l;for(r=g;r--;)if(d[r]===a){l=r;break}for(r=g-1;r--;)if(a>d[r]||0===r){a=(a-d[r])/(d[r+1]-d[r]);l=r+a;break}e=e?l:this.ordinalSlope*(l||0)+this.ordinalOffset}else e=a;return e},lin2val:function(a,e){var d=this.ordinalPositions;if(d){var g=this.ordinalSlope,r=this.ordinalOffset,l=d.length-1,p;if(e)0>a?a=d[0]:a>l?a=d[l]:(l=Math.floor(a),p=a-l);else for(;l--;)if(e=g*l+r,a>=e){g=g*(l+1)+r;p=(a-e)/(g-e);break}return void 0!==p&&void 0!==d[l]?d[l]+(p?p*(d[l+1]-d[l]):0):a}return a},
16
- getExtendedPositions:function(){var a=this,e=a.chart,d=a.series[0].currentDataGrouping,t=a.ordinalIndex,r=d?d.count+d.unitName:"raw",l=a.options.overscroll,p=a.getExtremes(),c,b;t||(t=a.ordinalIndex={});t[r]||(c={series:[],chart:e,getExtremes:function(){return{min:p.dataMin,max:p.dataMax+l}},options:{ordinal:!0},val2lin:k.prototype.val2lin,ordinal2lin:k.prototype.ordinal2lin},G(a.series,function(p){b={xAxis:c,xData:p.xData.slice(),chart:e,destroyGroupedData:v};b.xData=b.xData.concat(a.getOverscrollPositions());
17
- b.options={dataGrouping:d?{enabled:!0,forced:!0,approximation:"open",units:[[d.unitName,[d.count]]]}:{enabled:!1}};p.processData.apply(b);c.series.push(b)}),a.beforeSetTickPositions.apply(c),t[r]=c.ordinalPositions);return t[r]},getOverscrollPositions:function(){var g=this.options.overscroll,e=this.overscrollPointsRange,d=[],t=this.dataMax;if(a.defined(e))for(d.push(t);t<=this.dataMax+g;)t+=e,d.push(t);return d},getGroupIntervalFactor:function(a,e,d){var g;d=d.processedXData;var r=d.length,l=[];g=
18
- this.groupIntervalFactor;if(!g){for(g=0;g<r-1;g++)l[g]=d[g+1]-d[g];l.sort(function(a,c){return a-c});l=l[Math.floor(r/2)];a=Math.max(a,d[0]);e=Math.min(e,d[r-1]);this.groupIntervalFactor=g=r*l/(e-a)}return g},postProcessTickInterval:function(a){var g=this.ordinalSlope;return g?this.options.breaks?this.closestPointRange||a:a/(g/this.closestPointRange):a}});k.prototype.ordinal2lin=k.prototype.val2lin;y(F.prototype,"pan",function(a,e){var d=this.xAxis[0],g=d.options.overscroll,r=e.chartX,l=!1;if(d.options.ordinal&&
19
- d.series.length){var p=this.mouseDownX,c=d.getExtremes(),b=c.dataMax,f=c.min,q=c.max,n=this.hoverPoints,E=d.closestPointRange||d.overscrollPointsRange,p=(p-r)/(d.translationSlope*(d.ordinalSlope||E)),h={ordinalPositions:d.getExtendedPositions()},E=d.lin2val,B=d.val2lin,m;h.ordinalPositions?1<Math.abs(p)&&(n&&G(n,function(m){m.setState()}),0>p?(n=h,m=d.ordinalPositions?d:h):(n=d.ordinalPositions?d:h,m=h),h=m.ordinalPositions,b>h[h.length-1]&&h.push(b),this.fixedRange=q-f,p=d.toFixedRange(null,null,
20
- E.apply(n,[B.apply(n,[f,!0])+p,!0]),E.apply(m,[B.apply(m,[q,!0])+p,!0])),p.min>=Math.min(c.dataMin,f)&&p.max<=Math.max(b,q)+g&&d.setExtremes(p.min,p.max,!0,!1,{trigger:"pan"}),this.mouseDownX=r,z(this.container,{cursor:"move"})):l=!0}else l=!0;l&&(g&&(d.max=d.dataMax+g),a.apply(this,Array.prototype.slice.call(arguments,1)))})})(J);(function(a){function D(){return Array.prototype.slice.call(arguments,1)}function k(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,z(this.pointArrayMap,
21
- ["y"]))}var F=a.addEvent,z=a.pick,H=a.wrap,G=a.each,A=a.extend,v=a.isArray,w=a.fireEvent,u=a.Axis,y=a.Series;A(u.prototype,{isInBreak:function(a,e){var d=a.repeat||Infinity,g=a.from,r=a.to-a.from;e=e>=g?(e-g)%d:d-(g-e)%d;return a.inclusive?e<=r:e<r&&0!==e},isInAnyBreak:function(a,e){var d=this.options.breaks,g=d&&d.length,r,l,p;if(g){for(;g--;)this.isInBreak(d[g],a)&&(r=!0,l||(l=z(d[g].showPoints,this.isXAxis?!1:!0)));p=r&&e?r&&!l:r}return p}});F(u,"afterSetTickPositions",function(){if(this.options.breaks){var a=
22
- this.tickPositions,e=this.tickPositions.info,d=[],t;for(t=0;t<a.length;t++)this.isInAnyBreak(a[t])||d.push(a[t]);this.tickPositions=d;this.tickPositions.info=e}});F(u,"afterSetOptions",function(){this.options.breaks&&this.options.breaks.length&&(this.options.ordinal=!1)});F(u,"afterInit",function(){var a=this,e;e=this.options.breaks;a.isBroken=v(e)&&!!e.length;a.isBroken&&(a.val2lin=function(d){var e=d,g,l;for(l=0;l<a.breakArray.length;l++)if(g=a.breakArray[l],g.to<=d)e-=g.len;else if(g.from>=d)break;
23
- else if(a.isInBreak(g,d)){e-=d-g.from;break}return e},a.lin2val=function(d){var e,g;for(g=0;g<a.breakArray.length&&!(e=a.breakArray[g],e.from>=d);g++)e.to<d?d+=e.len:a.isInBreak(e,d)&&(d+=e.len);return d},a.setExtremes=function(a,e,g,l,p){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(e);)e-=this.closestPointRange;u.prototype.setExtremes.call(this,a,e,g,l,p)},a.setAxisTranslation=function(d){u.prototype.setAxisTranslation.call(this,d);d=a.options.breaks;var e=[],g=[],
24
- l=0,p,c,b=a.userMin||a.min,f=a.userMax||a.max,q=z(a.pointRangePadding,0),n,E;G(d,function(h){c=h.repeat||Infinity;a.isInBreak(h,b)&&(b+=h.to%c-b%c);a.isInBreak(h,f)&&(f-=f%c-h.from%c)});G(d,function(a){n=a.from;for(c=a.repeat||Infinity;n-c>b;)n-=c;for(;n<b;)n+=c;for(E=n;E<f;E+=c)e.push({value:E,move:"in"}),e.push({value:E+(a.to-a.from),move:"out",size:a.breakSize})});e.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});p=0;n=b;G(e,function(a){p+=
25
- "in"===a.move?1:-1;1===p&&"in"===a.move&&(n=a.value);0===p&&(g.push({from:n,to:a.value,len:a.value-n-(a.size||0)}),l+=a.value-n-(a.size||0))});a.breakArray=g;a.unitLength=f-b-l+q;w(a,"afterBreaks");a.options.staticScale?a.transA=a.options.staticScale:a.unitLength&&(a.transA*=(f-a.min+q)/a.unitLength);q&&(a.minPixelPadding=a.transA*a.minPointOffset);a.min=b;a.max=f})});H(y.prototype,"generatePoints",function(a){a.apply(this,D(arguments));var e=this.xAxis,d=this.yAxis,g=this.points,r,l=g.length,p=this.options.connectNulls,
26
- c;if(e&&d&&(e.options.breaks||d.options.breaks))for(;l--;)r=g[l],c=null===r.y&&!1===p,c||!e.isInAnyBreak(r.x,!0)&&!d.isInAnyBreak(r.y,!0)||(g.splice(l,1),this.data[l]&&this.data[l].destroyElements())});a.Series.prototype.drawBreaks=function(a,e){var d=this,g=d.points,r,l,p,c;a&&G(e,function(b){r=a.breakArray||[];l=a.isXAxis?a.min:z(d.options.threshold,a.min);G(g,function(f){c=z(f["stack"+b.toUpperCase()],f[b]);G(r,function(b){p=!1;if(l<b.from&&c>b.to||l>b.from&&c<b.from)p="pointBreak";else if(l<b.from&&
27
- c>b.from&&c<b.to||l>b.from&&c>b.to&&c<b.from)p="pointInBreak";p&&w(a,p,{point:f,brk:b})})})})};a.Series.prototype.gappedPath=function(){var g=this.currentDataGrouping,e=g&&g.totalRange,g=this.options.gapSize,d=this.points.slice(),t=d.length-1,r=this.yAxis;if(g&&0<t)for("value"!==this.options.gapUnit&&(g*=this.closestPointRange),e&&e>g&&(g=e);t--;)d[t+1].x-d[t].x>g&&(e=(d[t].x+d[t+1].x)/2,d.splice(t+1,0,{isNull:!0,x:e}),this.options.stacking&&(e=r.stacks[this.stackKey][e]=new a.StackItem(r,r.options.stackLabels,
28
- !1,e,this.stack),e.total=0));return this.getGraphPath(d)};H(a.seriesTypes.column.prototype,"drawPoints",k);H(a.Series.prototype,"drawPoints",k)})(J);(function(a){var D=a.addEvent,k=a.arrayMax,F=a.arrayMin,z=a.Axis,H=a.defaultPlotOptions,G=a.defined,A=a.each,v=a.extend,w=a.format,u=a.isNumber,y=a.merge,g=a.pick,e=a.Point,d=a.Series,t=a.Tooltip,r=a.wrap,l=d.prototype,p=l.processData,c=l.generatePoints,b={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L",
29
- "%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},f={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},
30
- areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},q=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],n=a.approximations={sum:function(a){var b=a.length,c;if(!b&&a.hasNulls)c=null;else if(b)for(c=
31
- 0;b--;)c+=a[b];return c},average:function(a){var b=a.length;a=n.sum(a);u(a)&&b&&(a/=b);return a},averages:function(){var a=[];A(arguments,function(b){a.push(n.average(b))});return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?k(a):a.hasNulls?null:void 0},low:function(a){return a.length?F(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,b,c,m){a=n.open(a);b=n.high(b);
32
- c=n.low(c);m=n.close(m);if(u(a)||u(b)||u(c)||u(m))return[a,b,c,m]},range:function(a,b){a=n.low(a);b=n.high(b);if(u(a)||u(b))return[a,b];if(null===a&&null===b)return null}};l.groupData=function(a,c,p,m){var x=this.data,C=this.options.data,h=[],I=[],q=[],e=a.length,d,E,B=!!c,g=[];m="function"===typeof m?m:n[m]||f[this.type]&&n[f[this.type].approximation]||n[b.approximation];var l=this.pointArrayMap,r=l&&l.length,t=0;E=0;var w,y;r?A(l,function(){g.push([])}):g.push([]);w=r||1;for(y=0;y<=e&&!(a[y]>=p[0]);y++);
33
- for(y;y<=e;y++){for(;void 0!==p[t+1]&&a[y]>=p[t+1]||y===e;){d=p[t];this.dataGroupInfo={start:E,length:g[0].length};E=m.apply(this,g);void 0!==E&&(h.push(d),I.push(E),q.push(this.dataGroupInfo));E=y;for(d=0;d<w;d++)g[d].length=0,g[d].hasNulls=!1;t+=1;if(y===e)break}if(y===e)break;if(l){d=this.cropStart+y;var v=x&&x[d]||this.pointClass.prototype.applyOptions.apply({series:this},[C[d]]),k;for(d=0;d<r;d++)k=v[l[d]],u(k)?g[d].push(k):null===k&&(g[d].hasNulls=!0)}else d=B?c[y]:null,u(d)?g[0].push(d):null===
34
- d&&(g[0].hasNulls=!0)}return[h,I,q]};l.processData=function(){var a=this.chart,b=this.options.dataGrouping,c=!1!==this.allowDG&&b&&g(b.enabled,a.options.isStock),m=this.visible||!a.options.chart.ignoreHiddenSeries,x,C=this.currentDataGrouping,f;this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==p.apply(this,arguments)&&c){this.destroyGroupedData();var I,d=b.groupAll?this.xData:this.processedXData,n=b.groupAll?this.yData:this.processedYData,e=a.plotSizeX,a=this.xAxis,r=a.options.ordinal,
35
- t=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(t){this.isDirty=x=!0;this.points=null;c=a.getExtremes();f=c.min;c=c.max;r=r&&a.getGroupIntervalFactor(f,c,this)||1;t=t*(c-f)/e*r;e=a.getTimeTicks(a.normalizeTimeTickInterval(t,b.units||q),Math.min(f,d[0]),Math.max(c,d[d.length-1]),a.options.startOfWeek,d,this.closestPointRange);n=l.groupData.apply(this,[d,n,e,b.approximation]);d=n[0];r=n[1];if(b.smoothed&&d.length){I=d.length-1;for(d[I]=Math.min(d[I],c);I--&&0<I;)d[I]+=t/2;d[0]=
36
- Math.max(d[0],f)}f=e.info;this.closestPointRange=e.info.totalRange;this.groupMap=n[2];G(d[0])&&d[0]<a.dataMin&&m&&(a.min<=a.dataMin&&(a.min=d[0]),a.dataMin=d[0]);b.groupAll&&(b=this.cropData(d,r,a.min,a.max,1),d=b.xData,r=b.yData);this.processedXData=d;this.processedYData=r}else this.groupMap=null;this.hasGroupedData=x;this.currentDataGrouping=f;this.preventGraphAnimation=(C&&C.totalRange)!==(f&&f.totalRange)}};l.destroyGroupedData=function(){var a=this.groupedData;A(a||[],function(b,c){b&&(a[c]=
37
- b.destroy?b.destroy():null)});this.groupedData=null};l.generatePoints=function(){c.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};D(e,"update",function(){if(this.dataGroup)return a.error(24),!1});r(t.prototype,"tooltipFooterHeaderFormatter",function(a,b,c){var m=this.chart.time,x=b.series,C=x.tooltipOptions,p=x.options.dataGrouping,f=C.xDateFormat,d,q=x.xAxis;return q&&"datetime"===q.options.type&&p&&u(b.key)?(a=x.currentDataGrouping,p=p.dateTimeLabelFormats,
38
- a?(q=p[a.unitName],1===a.count?f=q[0]:(f=q[1],d=q[2])):!f&&p&&(f=this.getXDateFormat(b,C,q)),f=m.dateFormat(f,b.key),d&&(f+=m.dateFormat(d,b.key+a.totalRange-1)),w(C[(c?"footer":"header")+"Format"],{point:v(b.point,{key:f}),series:x},m)):a.call(this,b,c)});D(d,"destroy",l.destroyGroupedData);D(d,"afterSetOptions",function(a){a=a.options;var c=this.type,p=this.chart.options.plotOptions,m=H[c].dataGrouping,x=this.useCommonDataGrouping&&b;if(f[c]||x)m||(m=y(b,f[c])),a.dataGrouping=y(x,m,p.series&&p.series.dataGrouping,
39
- p[c].dataGrouping,this.userOptions.dataGrouping);this.chart.options.isStock&&(this.requireSorting=!0)});D(z,"afterSetScale",function(){A(this.series,function(a){a.hasProcessed=!1})});z.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,c,m=0,x=!1,p;for(c=b;c--;)(p=a[c].options.dataGrouping)&&(m=Math.max(m,p.groupPixelWidth));for(c=b;c--;)(p=a[c].options.dataGrouping)&&a[c].hasProcessed&&(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/m||b&&
40
- p.forced)&&(x=!0);return x?m:0};z.prototype.setDataGrouping=function(a,b){var c;b=g(b,!0);a||(a={forced:!1,units:null});if(this instanceof z)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else A(this.chart.options.series,function(b){b.dataGrouping=a},!1);this.ordinalSlope=null;b&&this.chart.redraw()}})(J);(function(a){var D=a.each,k=a.Point,F=a.seriesType,z=a.seriesTypes;F("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},
41
- threshold:null,stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",translate:function(){var a=this,k=a.yAxis,A=!!a.modifyValue,v=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];z.column.prototype.translate.apply(a);D(a.points,function(w){D([w.open,w.high,w.low,w.close,w.low],function(u,y){null!==u&&(A&&(u=a.modifyValue(u)),w[v[y]]=k.toPixels(u,!0))});w.tooltipPos[1]=w.plotHigh+k.pos-a.chart.plotTop})},
42
- drawPoints:function(){var a=this,k=a.chart;D(a.points,function(A){var v,w,u,y,g=A.graphic,e,d=!g;void 0!==A.plotY&&(g||(A.graphic=g=k.renderer.path().add(a.group)),w=g.strokeWidth()%2/2,e=Math.round(A.plotX)-w,u=Math.round(A.shapeArgs.width/2),y=["M",e,Math.round(A.yBottom),"L",e,Math.round(A.plotHigh)],null!==A.open&&(v=Math.round(A.plotOpen)+w,y.push("M",e,v,"L",e-u,v)),null!==A.close&&(v=Math.round(A.plotClose)+w,y.push("M",e,v,"L",e+u,v)),g[d?"attr":"animate"]({d:y}).addClass(A.getClassName(),
43
- !0))})},animate:null},{getClassName:function(){return k.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(J);(function(a){var D=a.defaultPlotOptions,k=a.each,F=a.merge;a=a.seriesType;a("candlestick","ohlc",F(D.column,{states:{hover:{lineWidth:2}},tooltip:D.ohlc.tooltip,threshold:null,stickyTracking:!0}),{drawPoints:function(){var a=this,H=a.chart;k(a.points,function(k){var A=k.graphic,v,w,u,y,g,e,d,t=!A;void 0!==k.plotY&&(A||(k.graphic=A=
44
- H.renderer.path().add(a.group)),g=A.strokeWidth()%2/2,e=Math.round(k.plotX)-g,v=k.plotOpen,w=k.plotClose,u=Math.min(v,w),v=Math.max(v,w),d=Math.round(k.shapeArgs.width/2),w=Math.round(u)!==Math.round(k.plotHigh),y=v!==k.yBottom,u=Math.round(u)+g,v=Math.round(v)+g,g=[],g.push("M",e-d,v,"L",e-d,u,"L",e+d,u,"L",e+d,v,"Z","M",e,u,"L",e,w?Math.round(k.plotHigh):u,"M",e,v,"L",e,y?Math.round(k.yBottom):v),A[t?"attr":"animate"]({d:g}).addClass(k.getClassName(),!0))})}})})(J);var V=function(a){var D=a.each,
45
- k=a.defined,F=a.seriesTypes,z=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){F.column.prototype.translate.apply(this);var a=this.options,G=this.chart,A=this.points,v=A.length-1,w,u,y=a.onSeries,y=y&&G.get(y),a=a.onKey||"y",g=y&&y.options.step,e=y&&y.points,d=e&&e.length,t=G.inverted,r=this.xAxis,l=this.yAxis,p=0,c,b,f,q;if(y&&y.visible&&d)for(p=(y.pointXOffset||0)+(y.barW||
46
- 0)/2,w=y.currentDataGrouping,b=e[d-1].x+(w?w.totalRange:0),z(A,function(a,b){return a.x-b.x}),a="plot"+a[0].toUpperCase()+a.substr(1);d--&&A[v]&&!(c=e[d],w=A[v],w.y=c.y,c.x<=w.x&&void 0!==c[a]&&(w.x<=b&&(w.plotY=c[a],c.x<w.x&&!g&&(f=e[d+1])&&void 0!==f[a]&&(q=(w.x-c.x)/(f.x-c.x),w.plotY+=q*(f[a]-c[a]),w.y+=q*(f.y-c.y))),v--,d++,0>v)););D(A,function(a,b){var c;a.plotX+=p;if(void 0===a.plotY||t)0<=a.plotX&&a.plotX<=r.len?t?(a.plotY=r.translate(a.x,0,1,0,1),a.plotX=k(a.y)?l.translate(a.y,0,0,0,1):0):
47
- a.plotY=G.chartHeight-r.bottom-(r.opposite?r.height:0)+r.offset-l.top:a.shapeArgs={};(u=A[b-1])&&u.plotX===a.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),c=u.stackIndex+1);a.stackIndex=c});this.onSeries=y}}}(J);(function(a,D){function k(a){v[a+"pin"]=function(u,k,g,e,d){var t=d&&d.anchorX;d=d&&d.anchorY;"circle"===a&&e>g&&(u-=Math.round((e-g)/2),g=e);u=v[a](u,k,g,e);t&&d&&(u.push("M","circle"===a?u[1]-u[4]:u[1]+u[4]/2,k>d?k:k+e,"L",t,d),u=u.concat(v.circle(t-1,d-1,2,2)));return u}}var F=a.addEvent,
48
- z=a.each,H=a.noop,G=a.seriesType,A=a.TrackerMixin,v=a.SVGRenderer.prototype.symbols;G("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,translate:D.translate,getPlotBox:D.getPlotBox,drawPoints:function(){var k=this.points,u=this.chart,y=u.renderer,
49
- g,e,d=u.inverted,t=this.options,r=t.y,l,p,c,b,f,q,n=this.yAxis,E={},h=[];for(p=k.length;p--;)c=k[p],q=(d?c.plotY:c.plotX)>this.xAxis.len,g=c.plotX,b=c.stackIndex,l=c.options.shape||t.shape,e=c.plotY,void 0!==e&&(e=c.plotY+r-(void 0!==b&&b*t.stackDistance)),c.anchorX=b?void 0:c.plotX,f=b?void 0:c.plotY,b=c.graphic,void 0!==e&&0<=g&&!q?(b||(b=c.graphic=y.label("",null,null,l,null,null,t.useHTML).attr({align:"flag"===l?"left":"center",width:t.width,height:t.height,"text-align":t.textAlign}).addClass("highcharts-point").add(this.markerGroup),
50
- c.graphic.div&&(c.graphic.div.point=c),b.isNew=!0),0<g&&(g-=b.strokeWidth()%2),l={y:e,anchorY:f},t.allowOverlapX&&(l.x=g,l.anchorX=c.anchorX),b.attr({text:c.options.title||t.title||"A"})[b.isNew?"attr":"animate"](l),t.allowOverlapX||(E[c.plotX]?E[c.plotX].size=Math.max(E[c.plotX].size,b.width):E[c.plotX]={align:0,size:b.width,target:g,anchorX:g}),c.tooltipPos=[g,e+n.pos-u.plotTop]):b&&(c.graphic=b.destroy());t.allowOverlapX||(a.objectEach(E,function(a){a.plotX=a.anchorX;h.push(a)}),a.distribute(h,
51
- d?n.len:this.xAxis.len,100),z(k,function(a){var b=a.graphic&&E[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos,anchorX:a.anchorX}),a.graphic.isNew=!1)}));t.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;A.drawTrackerPoint.apply(this);z(a,function(k){var u=k.graphic;u&&F(u.element,"mouseover",function(){0<k.stackIndex&&!k.raised&&
52
- (k._y=u.y,u.attr({y:k._y-8}),k.raised=!0);z(a,function(a){a!==k&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:H,buildKDTree:H,setClip:H,invertGroups:H});v.flag=function(a,k,y,g,e){var d=e&&e.anchorX||a;e=e&&e.anchorY||k;return v.circle(d-1,e-1,2,2).concat(["M",d,e,"L",a,k+g,a,k,a+y,k,a+y,k+g,a,k+g,"Z"])};k("circle");k("square")})(J,V);(function(a){function D(a,c,b){this.init(a,c,b)}var k=a.addEvent,F=a.Axis,z=a.correctFloat,H=a.defaultOptions,G=a.defined,A=a.destroyObjectProperties,
53
- v=a.each,w=a.fireEvent,u=a.hasTouch,y=a.isTouchDevice,g=a.merge,e=a.pick,d=a.removeEvent,t=a.wrap,r,l={height:y?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!y,margin:10,minWidth:6,step:.2,zIndex:3};H.scrollbar=g(!0,l,H.scrollbar);a.swapXY=r=function(a,c){var b=a.length,f;if(c)for(c=0;c<b;c+=3)f=a[c+1],a[c+1]=a[c+2],a[c+2]=f;return a};D.prototype={init:function(a,c,b){this.scrollbarButtons=[];this.renderer=a;this.userOptions=c;this.options=g(l,c);this.chart=b;this.size=e(this.options.size,
54
- this.options.height);c.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,c=this.options,b=this.size,f;this.group=f=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:c.trackBorderRadius||0,height:b,width:b}).add(f);this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(f);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:b,
55
- width:b,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(r(["M",-3,b/4,"L",-3,2*b/3,"M",0,b/4,"L",0,2*b/3,"M",3,b/4,"L",3,2*b/3],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,c,b,f){var d=this.options.vertical,p=0,e=
56
- this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=b;this.xOffset=this.height=f;this.yOffset=p;d?(this.width=this.yOffset=b=p=this.size,this.xOffset=c=0,this.barWidth=f-2*b,this.x=a+=this.options.margin):(this.height=this.xOffset=f=c=this.size,this.barWidth=b-2*f,this.y+=this.options.margin);this.group[e]({translateX:a,translateY:this.y});this.track[e]({width:b,height:f});this.scrollbarButtons[1][e]({translateX:d?0:b-c,translateY:d?f-p:0})},drawScrollbarButton:function(a){var c=
57
- this.renderer,b=this.scrollbarButtons,f=this.options,d=this.size,p;p=c.g().add(this.group);b.push(p);p=c.rect().addClass("highcharts-scrollbar-button").add(p);p.attr(p.crisp({x:-.5,y:-.5,width:d+1,height:d+1,r:f.buttonBorderRadius},p.strokeWidth()));c.path(r(["M",d/2+(a?-1:1),d/2-3,"L",d/2+(a?-1:1),d/2+3,"L",d/2+(a?2:-2),d/2],f.vertical)).addClass("highcharts-scrollbar-arrow").add(b[a])},setRange:function(a,c){var b=this.options,d=b.vertical,p=b.minWidth,e=this.barWidth,g,h,B=this.rendered&&!this.hasDragged?
58
- "animate":"attr";G(e)&&(a=Math.max(a,0),g=Math.ceil(e*a),this.calculatedWidth=h=z(e*Math.min(c,1)-g),h<p&&(g=(e-p+h)*a,h=p),p=Math.floor(g+this.xOffset+this.yOffset),e=h/2-.5,this.from=a,this.to=c,d?(this.scrollbarGroup[B]({translateY:p}),this.scrollbar[B]({height:h}),this.scrollbarRifles[B]({translateY:e}),this.scrollbarTop=p,this.scrollbarLeft=0):(this.scrollbarGroup[B]({translateX:p}),this.scrollbar[B]({width:h}),this.scrollbarRifles[B]({translateX:e}),this.scrollbarLeft=p,this.scrollbarTop=0),
59
- 12>=h?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(c){var b=a.chart.pointer.normalize(c),d=a.options.vertical?"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||c.touches&&0===c.touches[0][d]||(b=a.cursorToScrollbarPosition(b)[d],d=a[d],d=b-d,a.hasDragged=!0,a.updatePosition(e[0]+d,e[1]+d),a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,
60
- trigger:"scrollbar",DOMType:c.type,DOMEvent:c}))};a.mouseUpHandler=function(c){a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:c.type,DOMEvent:c});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(c){c=a.chart.pointer.normalize(c);c=a.cursorToScrollbarPosition(c);a.chartX=c.chartX;a.chartY=c.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(c){var b=z(a.to-a.from)*a.options.step;a.updatePosition(z(a.from-
61
- b),z(a.to-b));w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})};a.buttonToMaxClick=function(c){var b=(a.to-a.from)*a.options.step;a.updatePosition(a.from+b,a.to+b);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})};a.trackClick=function(c){var b=a.chart.pointer.normalize(c),d=a.to-a.from,e=a.y+a.scrollbarTop,n=a.x+a.scrollbarLeft;a.options.vertical&&b.chartY>e||!a.options.vertical&&b.chartX>n?a.updatePosition(a.from+d,a.to+d):a.updatePosition(a.from-d,a.to-d);
62
- w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:c})}},cursorToScrollbarPosition:function(a){var c=this.options,c=c.minWidth>this.calculatedWidth?c.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-c),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-c)}},updatePosition:function(a,c){1<c&&(a=z(1-z(c-a)),c=1);0>a&&(c=z(c-a),a=0);this.from=a;this.to=c},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=
63
- this.options.inverted?[1,0]:[0,1],c=this.scrollbarButtons,b=this.scrollbarGroup.element,d=this.mouseDownHandler,e=this.mouseMoveHandler,n=this.mouseUpHandler,a=[[c[a[0]].element,"click",this.buttonToMinClick],[c[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[b,"mousedown",d],[b.ownerDocument,"mousemove",e],[b.ownerDocument,"mouseup",n]];u&&a.push([b,"touchstart",d],[b.ownerDocument,"touchmove",e],[b.ownerDocument,"touchend",n]);v(a,function(a){k.apply(null,
64
- a)});this._events=a},removeEvents:function(){v(this._events,function(a){d.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();v(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,A(a.scrollbarButtons))}};t(F.prototype,"init",function(a){var c=this;a.apply(c,Array.prototype.slice.call(arguments,1));c.options.scrollbar&&c.options.scrollbar.enabled&&
65
- (c.options.scrollbar.vertical=!c.horiz,c.options.startOnTick=c.options.endOnTick=!1,c.scrollbar=new D(c.chart.renderer,c.options.scrollbar,c.chart),k(c.scrollbar,"changed",function(a){var b=Math.min(e(c.options.min,c.min),c.min,c.dataMin),d=Math.max(e(c.options.max,c.max),c.max,c.dataMax)-b,n;c.horiz&&!c.reversed||!c.horiz&&c.reversed?(n=b+d*this.to,b+=d*this.from):(n=b+d*(1-this.from),b+=d*(1-this.to));c.setExtremes(b,n,!0,!1,a)}))});t(F.prototype,"render",function(a){var c=Math.min(e(this.options.min,
66
- this.min),this.min,e(this.dataMin,this.min)),b=Math.max(e(this.options.max,this.max),this.max,e(this.dataMax,this.max)),d=this.scrollbar,q=this.titleOffset||0;a.apply(this,Array.prototype.slice.call(arguments,1));if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:q+this.axisTitleMargin+this.offset),this.width,this.height),q=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?q+this.axisTitleMargin+this.offset:
67
- 0),this.top,this.width,this.height),q=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[q]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(c)||isNaN(b)||!G(this.min)||!G(this.max)?d.setRange(0,0):(q=(this.min-c)/(b-c),c=(this.max-c)/(b-c),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(q,c):d.setRange(1-c,1-q))}});t(F.prototype,"getOffset",function(a){var c=this.horiz?2:1,b=this.scrollbar;a.apply(this,Array.prototype.slice.call(arguments,
68
- 1));b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[c]+=b.size+b.options.margin)});t(F.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,Array.prototype.slice.call(arguments,1))});a.Scrollbar=D})(J);(function(a){function D(a){this.init(a)}var k=a.addEvent,F=a.Axis,z=a.Chart,H=a.defaultOptions,G=a.defined,A=a.destroyObjectProperties,v=a.each,w=a.erase,u=a.error,y=a.extend,g=a.grep,e=a.hasTouch,d=a.isArray,t=a.isNumber,r=a.isObject,l=
69
- a.isTouchDevice,p=a.merge,c=a.pick,b=a.removeEvent,f=a.Scrollbar,q=a.Series,n=a.seriesTypes,E=a.wrap,h=[].concat(a.defaultDataGroupingUnits),B=function(a){var b=g(arguments,t);if(b.length)return Math[a].apply(0,b)};h[4]=["day",[1,2,3,4]];h[5]=["week",[1,2,3]];y(H,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0},series:{type:void 0===n.areaspline?"line":"areaspline",compare:null,dataGrouping:{approximation:"average",
70
- enabled:!0,groupPixelWidth:2,smoothed:!0,units:h},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,tickPixelInterval:200,labels:{align:"left",x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},
71
- tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,e){a=e.width/2;b=Math.round(a/3)+.5;e=e.height;return["M",-a-1,.5,"L",a,.5,"L",a,e+.5,"L",-a-1,e+.5,"L",-a-1,.5,"M",-b,4,"L",-b,e-3,"M",b-1,4,"L",b-1,e-3]};D.prototype={drawHandle:function(a,b,c,d){var m=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-m)}:{translateX:Math.round(this.left+parseInt(a,
72
- 10)),translateY:Math.round(this.top+this.height/2-m/2-1)})},drawOutline:function(a,b,c,d){var m=this.navigatorOptions.maskInside,x=this.outline.strokeWidth(),e=x/2,x=x%2/2,C=this.outlineHeight,f=this.scrollbarHeight,q=this.size,n=this.left-f,h=this.top;c?(n-=e,c=h+b+x,b=h+a+x,a=["M",n+C,h-f-x,"L",n+C,c,"L",n,c,"L",n,b,"L",n+C,b,"L",n+C,h+q+f].concat(m?["M",n+C,c-e,"L",n+C,b+e]:[])):(a+=n+f-x,b+=n+f-x,h+=e,a=["M",n,h,"L",a,h,"L",a,h+C,"L",b,h+C,"L",b,h,"L",n+q+2*f,h].concat(m?["M",a-e,h,"L",b+e,h]:
73
- []));this.outline[d]({d:a})},drawMasks:function(a,b,c,d){var m=this.left,x=this.top,e=this.height,C,f,q,n;c?(q=[m,m,m],n=[x,x+a,x+b],f=[e,e,e],C=[a,b-a,this.size-b]):(q=[m,m+a,m+b],n=[x,x,x],f=[a,b-a,this.size-b],C=[e,e,e]);v(this.shades,function(a,b){a[d]({x:q[b],y:n[b],width:f[b],height:C[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,e=d.renderer,f;a.navigatorGroup=f=e.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();v([!c,c,!c],function(b,m){a.shades[m]=
74
- e.rect().addClass("highcharts-navigator-mask"+(1===m?"-inside":"-outside")).add(f)});a.outline=e.path().addClass("highcharts-navigator-outline").add(f);b.handles.enabled&&v([0,1],function(m){b.handles.inverted=d.inverted;a.handles[m]=e.symbol(b.handles.symbols[m],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[m].attr({zIndex:7-m}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][m]).add(f)})},update:function(a){v(this.series||[],function(a){a.baseSeries&&
75
- delete a.baseSeries.navigatorSeries});this.destroy();p(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,d,e,f){var m=this.chart,x,C,q=this.scrollbarHeight,n,h=this.xAxis;x=h.fake?m.xAxis[0]:h;var g=this.navigatorEnabled,K,B=this.rendered;C=m.inverted;var l,p=m.xAxis[0].minRange,k=m.xAxis[0].options.maxRange;if(!this.hasDragged||G(e)){if(!t(b)||!t(d))if(B)e=0,f=c(h.width,x.width);else return;this.left=c(h.left,m.plotLeft+q+(C?m.plotWidth:0));this.size=K=n=c(h.len,
76
- (C?m.plotHeight:m.plotWidth)-2*q);m=C?q:n+2*q;e=c(e,h.toPixels(b,!0));f=c(f,h.toPixels(d,!0));t(e)&&Infinity!==Math.abs(e)||(e=0,f=m);b=h.toValue(e,!0);d=h.toValue(f,!0);l=Math.abs(a.correctFloat(d-b));l<p?this.grabbedLeft?e=h.toPixels(d-p,!0):this.grabbedRight&&(f=h.toPixels(b+p,!0)):G(k)&&l>k&&(this.grabbedLeft?e=h.toPixels(d-k,!0):this.grabbedRight&&(f=h.toPixels(b+k,!0)));this.zoomedMax=Math.min(Math.max(e,f,0),K);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:
77
- Math.min(e,f),0),K);this.range=this.zoomedMax-this.zoomedMin;K=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);g&&(this.navigatorGroup.attr({visibility:"visible"}),B=B&&!this.hasDragged?"animate":"attr",this.drawMasks(e,K,C,B),this.drawOutline(e,K,C,B),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,C,B),this.drawHandle(K,1,C,B)));this.scrollbar&&(C?(C=this.top-q,x=this.left-q+(g||!x.opposite?0:(x.titleOffset||0)+x.axisTitleMargin),q=n+2*q):(C=this.top+(g?this.height:-q),x=this.left-
78
- q),this.scrollbar.position(x,C,m,q),this.scrollbar.setRange(this.zoomedMin/n,this.zoomedMax/n));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,d=[],f,q;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=q=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(k(c,"mousemove",f),k(c.ownerDocument,"mouseup",q));e&&(d.push(k(c,"touchmove",f),k(c.ownerDocument,"touchend",q)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&
79
- a.series[0]&&d.push(k(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,m=[];v(["shades","handles"],function(c){v(b[c],function(d,e){m.push(k(d.element,a,function(a){b[c+"Mousedown"](a,e)}))})});return m},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var m=this.chart,c=this.xAxis,d=this.zoomedMin,e=this.left,f=this.size,x=this.range,q=a.chartX,h,n;m.inverted&&(q=a.chartY,e=this.top);1===b?(this.grabbedCenter=
80
- q,this.fixedWidth=x,this.dragOffset=q-d):(a=q-e-x/2,0===b?a=Math.max(0,a):2===b&&a+x>=f&&(a=f-x,c.reversed?(a-=x,n=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),a!==d&&(this.fixedWidth=x,b=c.toFixedRange(a,a+x,n,h),G(b.min)&&m.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],m=a.inverted&&!c.reversed||!a.inverted&&c.reversed;0===b?(this.grabbedLeft=
81
- !0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=m?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=m?c.max:c.min);a.fixedRange=null},onMouseMove:function(a){var b=this,c=b.chart,m=b.left,d=b.navigatorSize,e=b.range,f=b.dragOffset,q=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,q&&(m=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-m,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,
82
- c-m)):b.grabbedCenter&&(b.hasDragged=!0,c<f?c=f:c>d+f-e&&(c=d+f-e),b.render(0,0,c-f,c-f+e)),b.hasDragged&&b.scrollbar&&b.scrollbar.options.liveRedraw&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,d=c&&c.reversed,m=this.scrollbar,e,f,q=a.DOMEvent||a;(!this.hasDragged||m&&m.hasDragged)&&"scrollbar"!==a.trigger||(m=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&
83
- (f=this.fixedExtreme),this.zoomedMax===this.size&&(f=d?m.dataMin:m.dataMax),0===this.zoomedMin&&(e=d?m.dataMax:m.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,e,f),G(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:q}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=
84
- null)},removeEvents:function(){this.eventsToUnbind&&(v(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&v(a,function(a){b(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&b(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,d=b.navigator,m=d.enabled,e=b.scrollbar,q=
85
- e.enabled,b=m?d.height:0,h=q?e.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=h;this.scrollbarEnabled=q;this.navigatorEnabled=m;this.navigatorOptions=d;this.scrollbarOptions=e;this.outlineHeight=b+h;this.opposite=c(d.opposite,!m&&a.inverted);var n=this,e=n.baseSeries,q=a.xAxis.length,g=a.yAxis.length,l=e&&e[0]&&e[0].xAxis||a.xAxis[0]||{options:{}};k(a,"getMargins",function(){var b=n.opposite?"plotTop":"marginBottom";a.inverted&&(b=n.opposite?
86
- "marginRight":"plotLeft");a[b]=(a[b]||0)+(m||!a.inverted?n.outlineHeight:0)+d.margin});a.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new F(a,p({breaks:l.options.breaks,ordinal:l.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:q,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[h,0,-h,0],width:b}:{offsets:[0,-h,0,h],height:b})),n.yAxis=new F(a,p(d.yAxis,{id:"navigator-y-axis",
87
- alignTicks:!1,offset:0,index:g,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),e||d.series.data?n.updateNavigatorSeries(!1):0===a.series.length&&(n.unbindRedraw=k(a,"beforeRedraw",function(){0<a.series.length&&!n.series&&(n.setBaseSeries(),n.unbindRedraw())})),n.renderElements(),n.addMouseEvents()):n.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),m=d.len-2*h,f=B("min",d.options.min,e.dataMin),d=B("max",d.options.max,e.dataMax)-f;return c?b*d/m+f:m*(b-f)/d},toPixels:function(a){return this.translate(a)},
88
- toValue:function(a){return this.translate(a,!0)},toFixedRange:F.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=n.scrollbar=new f(a.renderer,p(a.options.scrollbar,{margin:n.navigatorEnabled?0:10,vertical:a.inverted}),a),k(n.scrollbar,"changed",function(b){var c=n.size,d=c*this.to,c=c*this.from;n.hasDragged=n.scrollbar.hasDragged;n.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){n.onMouseUp(b)})}));
89
- n.addBaseSeriesEvents();n.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],d=this.xAxis,e=d.options,m=b.options,f;a&&null===b.dataMin||(f={dataMin:c(e&&e.min,B("min",m.min,b.dataMin,d.dataMin,d.min)),dataMax:c(e&&e.max,B("max",m.max,b.dataMax,d.dataMax,d.max))});return f},setBaseSeries:function(a,b){var c=this.chart,d=this.baseSeries=[];a=a||c.options&&c.options.navigator.baseSeries||0;v(c.series||[],function(b,c){b.options.isInternal||!b.options.showInNavigator&&(c!==a&&b.options.id!==
90
- a||!1===b.options.showInNavigator)||d.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,b)},updateNavigatorSeries:function(c,e){var m=this,f=m.chart,n=m.baseSeries,q,h,x=m.navigatorOptions.series,g,B={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0},l=m.series=a.grep(m.series||[],function(c){var d=c.baseSeries;return 0>a.inArray(d,n)?(d&&(b(d,"updatedData",m.updatedDataHandler),
91
- delete d.navigatorSeries),c.destroy(),!1):!0});n&&n.length&&v(n,function(a){var b=a.navigatorSeries,c=y({color:a.color,visible:a.visible},d(x)?H.navigator.series:x);b&&!1===m.navigatorOptions.adaptToUpdatedData||(B.name="Navigator "+n.length,q=a.options||{},g=q.navigatorOptions||{},h=p(q,B,c,g),c=g.data||c.data,m.hasNavigatorData=m.hasNavigatorData||!!c,h.data=c||q.data&&q.data.slice(0),b&&b.options?b.update(h,e):(a.navigatorSeries=f.initSeries(h),a.navigatorSeries.baseSeries=a,l.push(a.navigatorSeries)))});
92
- if(x.data&&(!n||!n.length)||d(x))m.hasNavigatorData=!1,x=a.splat(x),v(x,function(a,b){B.name="Navigator "+(l.length+1);h=p(H.navigator.series,{color:f.series[b]&&!f.series[b].options.isInternal&&f.series[b].color||f.options.colors[b]||f.options.colors[0]},B,a);h.data=a.data;h.data&&(m.hasNavigatorData=!0,l.push(f.initSeries(h)))});c&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&k(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);
93
- v(b,function(b){k(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});k(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&k(b,"updatedData",this.updatedDataHandler);k(b,"remove",function(){this.navigatorSeries&&(w(a.series,this.navigatorSeries),G(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=
94
- this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),d=b.dataMin,e=b.dataMax,b=b.max-b.min,f=a.stickToMin,n=a.stickToMax,q=c(this.options.overscroll,0),h,g,B=a.series&&a.series[0],l=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(g=d,h=g+b),n&&(h=e+q,f||(g=Math.max(h-b,B&&B.xData?B.xData[0]:-Number.MAX_VALUE))),
95
- l&&(f||n)&&t(g)&&(this.min=this.userMin=g,this.max=this.userMax=h));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries;a.stickToMax=a.xAxis.reversed?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=t(this.xAxis.min)&&this.xAxis.min<=this.xData[0]&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){k(this.chart,
96
- "redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)})},destroy:function(){this.removeEvents();this.xAxis&&(w(this.chart.xAxis,this.xAxis),w(this.chart.axes,this.xAxis));this.yAxis&&(w(this.chart.yAxis,this.yAxis),w(this.chart.axes,this.yAxis));v(this.series||[],function(a){a.destroy&&a.destroy()});v("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),
97
- function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);v([this.handles],function(a){A(a)},this)}};a.Navigator=D;E(F.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,m=e.chart.pinchType,n=e.navigator,e=e.rangeSelector,q;this.isXAxis&&(n&&n.enabled||e&&e.enabled)&&(!l&&"x"===f||l&&"x"===m?d.resetZoomButton="blocked":"y"===f?q=!1:(!l&&"xy"===f||l&&"xy"===m)&&this.options.range&&(d=this.previousZoom,G(b)?this.previousZoom=[this.min,this.max]:d&&(b=
98
- d[0],c=d[1],delete this.previousZoom)));return void 0!==q?q:a.call(this,b,c)});k(z,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});k(z,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,d,e,f,n;b&&(e=a&&a.options,f=b.xAxis,n=b.yAxis,d=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-d-b.height:this.spacing[3]+d,b.top=this.plotTop+d):(b.left=this.plotLeft+d,b.top=b.navigatorOptions.top||
99
- this.chartHeight-b.height-d-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+c(e.margin,10):0)),f&&n&&(this.inverted?f.options.left=n.options.left=b.left:f.options.top=n.options.top=b.top,f.setAxisSize(),n.setAxisSize()))});k(z,"update",function(a){var b=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(p(!0,this.options.navigator,
100
- b),p(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)});k(z,"afterUpdate",function(){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new D(this))});E(q.prototype,"addPoint",function(a,b,c,d,e){var f=this.options.turboThreshold;f&&this.xData.length>f&&r(b,!0)&&this.chart.navigator&&u(20,!0);a.call(this,b,c,d,e)});k(z,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,
101
- !1)});k(q,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});z.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(J);(function(a){function D(a){this.init(a)}var k=a.addEvent,F=a.Axis,z=a.Chart,H=a.css,G=a.createElement,A=a.defaultOptions,v=a.defined,w=a.destroyObjectProperties,u=a.discardElement,y=a.each,g=a.extend,e=a.fireEvent,d=a.isNumber,t=a.merge,r=a.pick,
102
- l=a.pInt,p=a.splat,c=a.wrap;g(A,{rangeSelector:{verticalAlign:"top",buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0}}});A.lang=t(A.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,c){var b=this,e=b.chart,f=b.buttonOptions[a],h=e.xAxis[0],g=e.scroller&&e.scroller.getUnionExtremes()||h||{},m=g.dataMin,l=g.dataMax,
103
- C,t=h&&Math.round(Math.min(h.max,r(l,h.max))),I=f.type,u,g=f._range,v,w,A,z=f.dataGrouping;if(null!==m&&null!==l){e.fixedRange=g;z&&(this.forcedDataGrouping=!0,F.prototype.setDataGrouping.call(h||{chart:this.chart},z,!1));if("month"===I||"year"===I)h?(I={range:f,max:t,chart:e,dataMin:m,dataMax:l},C=h.minFromRange.call(I),d(I.newMax)&&(t=I.newMax)):g=f;else if(g)C=Math.max(t-g,m),t=Math.min(C+g,l);else if("ytd"===I)if(h)void 0===l&&(m=Number.MAX_VALUE,l=Number.MIN_VALUE,y(e.series,function(a){a=a.xData;
104
- m=Math.min(a[0],m);l=Math.max(a[a.length-1],l)}),c=!1),t=b.getYTDExtremes(l,m,e.time.useUTC),C=v=t.min,t=t.max;else{k(e,"beforeRender",function(){b.clickButton(a)});return}else"all"===I&&h&&(C=m,t=l);C+=f._offsetMin;t+=f._offsetMax;b.setSelected(a);h?h.setExtremes(C,t,r(c,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(u=p(e.options.xAxis)[0],A=u.range,u.range=g,w=u.min,u.min=v,k(e,"load",function(){u.range=A;u.min=w}))}},setSelected:function(a){this.selected=this.options.selected=
105
- a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),g=c.selected,h=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&e(a,"blur");c&&c.blur&&e(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=k(a.container,
106
- "mousedown",h);this.unResize=k(a,"resize",h);y(d,b.computeButtonRange);void 0!==g&&d[g]&&this.clickButton(g,!1);k(a,"load",function(){a.xAxis&&a.xAxis[0]&&k(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,c=a.xAxis[0],e=Math.round(c.max-c.min),n=!c.hasVisibleSeries,g=a.scroller&&a.scroller.getUnionExtremes()||c,h=
107
- g.dataMin,l=g.dataMax,a=this.getYTDExtremes(l,h,a.time.useUTC),m=a.min,p=a.max,t=this.selected,k=d(t),r=this.options.allButtonsEnabled,u=this.buttons;y(this.buttonOptions,function(a,b){var d=a._range,f=a.type,q=a.count||1,g=u[b],B=0;a=a._offsetMax-a._offsetMin;b=b===t;var C=d>l-h,x=d<c.minRange,E=!1,I=!1,d=d===e;("month"===f||"year"===f)&&e+36E5>=864E5*{month:28,year:365}[f]*q-a&&e-36E5<=864E5*{month:31,year:366}[f]*q+a?d=!0:"ytd"===f?(d=p-m+a===e,E=!b):"all"===f&&(d=c.max-c.min>=l-h,I=!b&&k&&d);
108
- f=!r&&(C||x||I||n);q=b&&d||d&&!k&&!E;f?B=3:q&&(k=!0,B=2);g.state!==B&&g.setState(B)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=r(a.offsetMin,0);a._offsetMax=r(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,c){var b=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+
109
- "Input"];v(c)&&(e.previousValue=e.HCTime,e.HCTime=c);e.value=d.dateFormat(b.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(b.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];H(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){H(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},
110
- drawInput:function(a){function b(){var a=k.value,b=(h.inputDateParser||Date.parse)(a),f=e.xAxis[0],n=e.scroller&&e.scroller.xAxis?e.scroller.xAxis:f,q=n.dataMin,n=n.dataMax;b!==k.previousValue&&(k.previousValue=b,d(b)||(b=a.split("-"),b=Date.UTC(l(b[0]),l(b[1])-1,l(b[2]))),d(b)&&(e.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),m?b>c.maxInput.HCTime?b=void 0:b<q&&(b=q):b<c.minInput.HCTime?b=void 0:b>n&&(b=n),void 0!==b&&f.setExtremes(m?b:f.min,m?f.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}
111
- var c=this,e=c.chart,g=e.renderer,h=e.options.rangeSelector,p=c.div,m="min"===a,k,t,r=this.inputGroup;this[a+"Label"]=t=g.label(A.lang[m?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(r);r.offset+=t.width+5;this[a+"DateBox"]=g=g.label("",r.offset).addClass("highcharts-range-input").attr({padding:2,width:h.inputBoxWidth||90,height:h.inputBoxHeight||17,stroke:h.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",
112
- function(){c.showInput(a);c[a+"Input"].focus()}).add(r);r.offset+=g.width+(m?10:0);this[a+"Input"]=k=G("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:e.plotTop+"px"},p);k.onfocus=function(){c.showInput(a)};k.onblur=function(){c.hideInput(a)};k.onchange=b;k.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,c=a.options.rangeSelector,a="top"===c.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+c.buttonPosition.y,inputTop:a+c.inputPosition.y-
113
- 10}},getYTDExtremes:function(a,c,d){var b=this.chart.time,e=new b.Date(a),f=b.get("FullYear",e);d=d?b.Date.UTC(f,0,1):+new b.Date(f,0,1);c=Math.max(c||0,d);e=e.getTime();return{max:Math.min(a||e,e),min:c}},render:function(a,c){var b=this,d=b.chart,e=d.renderer,f=d.container,g=d.options,m=g.exporting&&!1!==g.exporting.enabled&&g.navigation&&g.navigation.buttonOptions,l=A.lang,k=b.div,p=g.rangeSelector,g=p.floating,t=b.buttons,k=b.inputGroup,u=p.buttonTheme,v=p.buttonPosition,w=p.inputPosition,z=p.inputEnabled,
114
- D=u&&u.states,F=d.plotLeft,H,L=b.buttonGroup,J;J=b.rendered;var P=b.options.verticalAlign,R=d.legend,S=R&&R.options,T=v.y,Q=w.y,U=J||!1,O=0,M=0,N;if(!1!==p.enabled){J||(b.group=J=e.g("range-selector-group").attr({zIndex:7}).add(),b.buttonGroup=L=e.g("range-selector-buttons").add(J),b.zoomText=e.text(l.rangeSelectorZoom,r(F+v.x,F),15).css(p.labelStyle).add(L),H=r(F+v.x,F)+b.zoomText.getBBox().width+5,y(b.buttonOptions,function(a,c){t[c]=e.button(a.text,H,0,function(){var d=a.events&&a.events.click,
115
- e;d&&(e=d.call(a));!1!==e&&b.clickButton(c);b.isActive=!0},u,D&&D.hover,D&&D.select,D&&D.disabled).attr({"text-align":"center"}).add(L);H+=t[c].width+r(p.buttonSpacing,5)}),!1!==z&&(b.div=k=G("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(k,f),b.inputGroup=k=e.g("input-group").add(J),k.offset=0,b.drawInput("min"),b.drawInput("max")));F=d.plotLeft-d.spacing[3];b.updateButtonStates();m&&this.titleCollision(d)&&"top"===P&&"right"===v.align&&v.y+L.getBBox().height-12<(m.y||
116
- 0)+m.height&&(O=-40);"left"===v.align?N=v.x-d.spacing[3]:"right"===v.align&&(N=v.x+O-d.spacing[1]);L.align({y:v.y,width:L.getBBox().width,align:v.align,x:N},!0,d.spacingBox);b.group.placed=U;b.buttonGroup.placed=U;!1!==z&&(O=m&&this.titleCollision(d)&&"top"===P&&"right"===w.align&&w.y-k.getBBox().height-12<(m.y||0)+m.height+d.spacing[0]?-40:0,"left"===w.align?N=F:"right"===w.align&&(N=-Math.max(d.axisOffset[1],-O)),k.align({y:w.y,width:k.getBBox().width,align:w.align,x:w.x+N-2},!0,d.spacingBox),f=
117
- k.alignAttr.translateX+k.alignOptions.x-O+k.getBBox().x+2,m=k.alignOptions.width,l=L.alignAttr.translateX+L.getBBox().x,N=L.getBBox().width+20,(w.align===v.align||l+N>f&&f+m>l&&T<Q+k.getBBox().height)&&k.attr({translateX:k.alignAttr.translateX+(d.axisOffset[1]>=-O?0:-O),translateY:k.alignAttr.translateY+L.getBBox().height+10}),b.setInputValue("min",a),b.setInputValue("max",c),b.inputGroup.placed=U);b.group.align({verticalAlign:P},!0,d.spacingBox);a=b.group.getBBox().height+20;c=b.group.alignAttr.translateY;
118
- "bottom"===P&&(R=S&&"bottom"===S.verticalAlign&&S.enabled&&!S.floating?R.legendHeight+r(S.margin,10):0,a=a+R-20,M=c-a-(g?0:p.y)-10);if("top"===P)g&&(M=0),d.titleOffset&&(M=d.titleOffset+d.options.title.margin),M+=d.margin[0]-d.spacing[0]||0;else if("middle"===P)if(Q===T)M=0>Q?c+void 0:c;else if(Q||T)M=0>Q||0>T?M-Math.min(Q,T):c-a+NaN;b.group.translate(p.x,p.y+Math.floor(M));!1!==z&&(b.minInput.style.marginTop=b.group.translateY+"px",b.maxInput.style.marginTop=b.group.translateY+"px");b.rendered=!0}},
119
- getHeight:function(){var a=this.options,c=this.group,d=a.y,e=a.buttonPosition.y,a=a.inputPosition.y,c=c?c.getBBox(!0).height+13+d:0,d=Math.min(a,e);if(0>a&&0>e||0<a&&0<e)c+=Math.abs(d);return c},titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;t(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();w(b.buttons);c&&
120
- (c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&u(this[c]));a!==D.prototype[c]&&(b[c]=null)},this)}};F.prototype.toFixedRange=function(a,c,e,g){var b=this.chart&&this.chart.fixedRange;a=r(e,this.translate(a,!0,!this.horiz));c=r(g,this.translate(c,!0,!this.horiz));e=b&&(c-a)/b;.7<e&&1.3>e&&(g?a=c-b:c=a+b);d(a)&&d(c)||(a=c=void 0);return{min:a,max:c}};F.prototype.minFromRange=function(){var a=
121
- this.range,c={month:"Month",year:"FullYear"}[a.type],e,g=this.max,l,h,k=function(a,b){var d=new Date(a),e=d["get"+c]();d["set"+c](e+b);e===d["get"+c]()&&d.setDate(0);return d.getTime()-a};d(a)?(e=g-a,h=a):(e=g+k(g,-a.count),this.chart&&(this.chart.fixedRange=g-e));l=r(this.dataMin,Number.MIN_VALUE);d(e)||(e=l);e<=l&&(e=l,void 0===h&&(h=k(e,a.count)),this.newMax=Math.min(e+h,this.dataMax));d(g)||(e=void 0);return e};k(z,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=
122
- new D(this))});c(z.prototype,"render",function(a,c,d){var b=this.axes,e=this.rangeSelector;e&&(y(b,function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),e.render(),b=e.options.verticalAlign,e.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)));a.call(this,c,d)});k(z,"update",function(a){var b=a.options;a=this.rangeSelector;this.extraTopMargin=this.extraBottomMargin=!1;this.isDirtyBox=!0;a&&(a.render(),b=b.rangeSelector&&b.rangeSelector.verticalAlign||
123
- a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)))});c(z.prototype,"redraw",function(a,c,d){var b=this.rangeSelector;b&&!b.options.floating&&(b.render(),b=b.options.verticalAlign,"bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0));a.call(this,c,d)});k(z,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=
124
- a))});z.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();d(c.min)&&e.render(c.min,c.max)}var c,e=a.rangeSelector,g,h;e&&(h=k(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),g=k(a,"redraw",b),b());k(a,"destroy",function(){e&&(g(),h())})});a.RangeSelector=D})(J);(function(a){var D=a.addEvent,k=a.arrayMax,F=a.arrayMin,z=a.Axis,H=a.Chart,G=a.defined,A=a.each,v=a.format,w=a.grep,u=a.inArray,y=a.isNumber,g=a.isString,e=a.map,d=a.merge,t=a.pick,r=a.Point,l=a.Series,
125
- p=a.splat,c=a.SVGRenderer,b=a.wrap,f=l.prototype,q=f.init,n=f.processData,E=r.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,c,m){var f=g(b)||b.nodeName,h=arguments[f?1:0],l=h.series,k=a.getOptions(),n,q=t(h.navigator&&h.navigator.enabled,k.navigator.enabled,!0),r=q?{startOnTick:!1,endOnTick:!1}:null,B={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};h.xAxis=e(p(h.xAxis||{}),function(a,b){return d({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},
126
- showLastLabel:!0},k.xAxis,k.xAxis&&k.xAxis[b],a,{type:"datetime",categories:null},r)});h.yAxis=e(p(h.yAxis||{}),function(a,b){n=t(a.opposite,!0);return d({labels:{y:-2},opposite:n,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},k.yAxis,k.yAxis&&k.yAxis[b],a)});h.series=null;h=d({chart:{panning:!0,pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:t(k.scrollbar.enabled,!0)},rangeSelector:{enabled:t(k.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:t(k.tooltip.split,
127
- !0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:B,spline:B,area:B,areaspline:B,arearange:B,areasplinerange:B,column:u,columnrange:u,candlestick:u,ohlc:u}},h,{isStock:!0});h.series=l;return f?new H(b,h,m):new H(h,c)};b(z.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),
128
- b[c]=this,"right"):a.apply(this,[].slice.call(arguments,1))});D(z,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});b(z.prototype,"getPlotLinePath",function(b,c,d,f,k,l){var h=this,m=this.isLinked&&!this.series?this.linkedParent.series:this.series,n=h.chart,p=n.renderer,q=h.left,r=h.top,B,x,v,w,C=[],z=[],D,E;if("xAxis"!==h.coll&&"yAxis"!==h.coll)return b.apply(this,[].slice.call(arguments,
129
- 1));z=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=h.options[b];return y(a)?[n[b][a]]:g(a)?[n.get(a)]:e(m,function(a){return a[b]})}(h.coll);A(h.isXAxis?n.yAxis:n.xAxis,function(a){if(G(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=G(a.options[b])?n[b][a.options[b]]:n[b][0];h===b&&z.push(a)}});D=z.length?[]:[h.isXAxis?n.yAxis[0]:n.xAxis[0]];A(z,function(b){-1!==u(b,D)||a.find(D,function(a){return a.pos===b.pos&&a.len&&b.len})||D.push(b)});E=t(l,h.translate(c,
130
- null,null,f));y(E)&&(h.horiz?A(D,function(a){var b;x=a.pos;w=x+a.len;B=v=Math.round(E+h.transB);if(B<q||B>q+h.width)k?B=v=Math.min(Math.max(q,B),q+h.width):b=!0;b||C.push("M",B,x,"L",v,w)}):A(D,function(a){var b;B=a.pos;v=B+a.len;x=w=Math.round(r+h.height-E);if(x<r||x>r+h.height)k?x=w=Math.min(Math.max(r,x),h.top+h.height):b=!0;b||C.push("M",B,x,"L",v,w)}));return 0<C.length?p.crispPolyLine(C,d||1):null});c.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+
131
- 1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};b(z.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});D(z,"afterDrawCrosshair",function(a){var b,c;if(G(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,f=this.horiz;b=this.opposite;c=this.left;var g=this.top,h=this.crossLabel,k=e.format,l="",n="inside"===this.options.tickPosition,
132
- p=!1!==this.crosshair.snap,q=0,r=a.e||this.cross&&this.cross.e,u=a.point;a=f?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";h||(h=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:t(e.padding,8),r:t(e.borderRadius,3),zIndex:2}).add(this.labelGroup));f?(a=p?u.plotX+c:r.chartX,g+=b?0:this.height):(a=b?this.width+
133
- c:0,g=p?u.plotY+g:r.chartY);k||e.formatter||(this.isDatetimeAxis&&(l="%b %d, %Y"),k="{value"+(l?":"+l:"")+"}");l=p?u[this.isXAxis?"x":"y"]:this.toValue(f?r.chartX:r.chartY);h.attr({text:k?v(k,{value:l},d.time):e.formatter.call(this,l),x:a,y:g,visibility:l<this.min||l>this.max?"hidden":"visible"});e=h.getBBox();if(f){if(n&&!b||!n&&b)g=h.y-e.height}else g=h.y-e.height/2;f?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);h.translateX<
134
- b&&(q=b-h.translateX);h.translateX+e.width>=c&&(q=-(h.translateX+e.width-c));h.attr({x:a+q,y:g,anchorX:f?a:this.opposite?0:d.chartWidth,anchorY:f?this.opposite?d.chartHeight:0:g+e.height/2})}});f.init=function(){q.apply(this,arguments);this.setCompare(this.options.compare)};f.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;
135
- this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};f.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart?0:1,f,g;n.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,f=d.length,this.pointArrayMap&&(b=u("close",this.pointArrayMap),-1===b&&(b=u(this.pointValKey||"y",this.pointArrayMap))),a=0;a<f-e;a++)if(g=d[a]&&-1<b?d[a][b]:d[a],y(g)&&c[a+e]>=this.xAxis.min&&0!==g){this.compareValue=g;break}};b(f,"getExtremes",
136
- function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=F(b),this.dataMax=k(b))});z.prototype.setCompare=function(a,b){this.isXAxis||(A(this.series,function(b){b.setCompare(a)}),t(b,!0)&&this.chart.redraw())};r.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,t(this.series.tooltipOptions.changeDecimals,2)));return E.apply(this,[b])};
137
- b(l.prototype,"render",function(a){var b;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(b=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=d(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=b):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:b}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=
138
- b));a.call(this)});b(H.prototype,"getSelectedPoints",function(a){var b=a.call(this);A(this.series,function(a){a.hasGroupedData&&(b=b.concat(w(a.points||[],function(a){return a.selected})))});return b});D(H,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(d(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})})(J)});
9
+ (function(J){"object"===typeof module&&module.exports?module.exports=J:"function"===typeof define&&define.amd?define(function(){return J}):J(Highcharts)})(function(J){(function(a){var x=a.addEvent,l=a.Axis,H=a.Chart,v=a.css,F=a.defined,G=a.each,C=a.extend,D=a.noop,r=a.pick,y=a.timeUnits,t=a.wrap;t(a.Series.prototype,"init",function(a){var d;a.apply(this,Array.prototype.slice.call(arguments,1));(d=this.xAxis)&&d.options.ordinal&&x(this,"updatedData",function(){delete d.ordinalIndex})});t(l.prototype,
10
+ "getTimeTicks",function(a,d,e,g,b,k,u,n){var c=0,f,q,m={},A,w,B,h=[],p=-Number.MAX_VALUE,z=this.options.tickPixelInterval,K=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!k||3>k.length||void 0===e)return a.call(this,d,e,g,b);w=k.length;for(f=0;f<w;f++){B=f&&k[f-1]>g;k[f]<e&&(c=f);if(f===w-1||k[f+1]-k[f]>5*u||B){if(k[f]>p){for(q=a.call(this,d,k[c],k[f],b);q.length&&q[0]<=p;)q.shift();q.length&&(p=q[q.length-1]);h=h.concat(q)}c=f+1}if(B)break}a=q.info;if(n&&a.unitRange<=y.hour){f=
11
+ h.length-1;for(c=1;c<f;c++)K.dateFormat("%d",h[c])!==K.dateFormat("%d",h[c-1])&&(m[h[c]]="day",A=!0);A&&(m[h[0]]="day");a.higherRanks=m}h.info=a;if(n&&F(z)){n=K=h.length;f=[];var I;for(A=[];n--;)c=this.translate(h[n]),I&&(A[n]=I-c),f[n]=I=c;A.sort();A=A[Math.floor(A.length/2)];A<.6*z&&(A=null);n=h[K-1]>g?K-1:K;for(I=void 0;n--;)c=f[n],g=Math.abs(I-c),I&&g<.8*z&&(null===A||g<.8*A)?(m[h[n]]&&!m[h[n+1]]?(g=n+1,I=c):g=n,h.splice(g,1)):I=c}return h});C(l.prototype,{beforeSetTickPositions:function(){var a,
12
+ d=[],e,g=!1,b,k=this.getExtremes(),u=k.min,n=k.max,c,f=this.isXAxis&&!!this.options.breaks,k=this.options.ordinal,q=Number.MAX_VALUE,m=this.chart.options.chart.ignoreHiddenSeries;b="highcharts-navigator-xaxis"===this.options.className;var A;!this.options.overscroll||this.max!==this.dataMax||this.chart.mouseIsDown&&!b||this.eventArgs&&(!this.eventArgs||"navigator"===this.eventArgs.trigger)||(this.max+=this.options.overscroll,!b&&F(this.userMin)&&(this.min+=this.options.overscroll));if(k||f){G(this.series,
13
+ function(b,c){e=[];if(!(m&&!1===b.visible||!1===b.takeOrdinalPosition&&!f)&&(d=d.concat(b.processedXData),a=d.length,d.sort(function(h,b){return h-b}),q=Math.min(q,r(b.closestPointRange,q)),a)){for(c=0;c<a-1;)d[c]!==d[c+1]&&e.push(d[c+1]),c++;e[0]!==d[0]&&e.unshift(d[0]);d=e}b.isSeriesBoosting&&(A=!0)});A&&(d.length=0);a=d.length;if(2<a){b=d[1]-d[0];for(c=a-1;c--&&!g;)d[c+1]-d[c]!==b&&(g=!0);!this.options.keepOrdinalPadding&&(d[0]-u>b||n-d[d.length-1]>b)&&(g=!0)}else this.options.overscroll&&(2===
14
+ a?q=d[1]-d[0]:1===a?(q=this.options.overscroll,d=[d[0],d[0]+q]):q=this.overscrollPointsRange);g?(this.options.overscroll&&(this.overscrollPointsRange=q,d=d.concat(this.getOverscrollPositions())),this.ordinalPositions=d,b=this.ordinal2lin(Math.max(u,d[0]),!0),c=Math.max(this.ordinal2lin(Math.min(n,d[d.length-1]),!0),1),this.ordinalSlope=n=(n-u)/(c-b),this.ordinalOffset=u-b*n):(this.overscrollPointsRange=r(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=
15
+ void 0)}this.isOrdinal=k&&g;this.groupIntervalFactor=null},val2lin:function(a,d){var e=this.ordinalPositions;if(e){var g=e.length,b,k;for(b=g;b--;)if(e[b]===a){k=b;break}for(b=g-1;b--;)if(a>e[b]||0===b){a=(a-e[b])/(e[b+1]-e[b]);k=b+a;break}d=d?k:this.ordinalSlope*(k||0)+this.ordinalOffset}else d=a;return d},lin2val:function(a,d){var e=this.ordinalPositions;if(e){var g=this.ordinalSlope,b=this.ordinalOffset,k=e.length-1,u;if(d)0>a?a=e[0]:a>k?a=e[k]:(k=Math.floor(a),u=a-k);else for(;k--;)if(d=g*k+b,
16
+ a>=d){g=g*(k+1)+b;u=(a-d)/(g-d);break}return void 0!==u&&void 0!==e[k]?e[k]+(u?u*(e[k+1]-e[k]):0):a}return a},getExtendedPositions:function(){var a=this,d=a.chart,e=a.series[0].currentDataGrouping,g=a.ordinalIndex,b=e?e.count+e.unitName:"raw",k=a.options.overscroll,u=a.getExtremes(),n,c;g||(g=a.ordinalIndex={});g[b]||(n={series:[],chart:d,getExtremes:function(){return{min:u.dataMin,max:u.dataMax+k}},options:{ordinal:!0},val2lin:l.prototype.val2lin,ordinal2lin:l.prototype.ordinal2lin},G(a.series,function(b){c=
17
+ {xAxis:n,xData:b.xData.slice(),chart:d,destroyGroupedData:D};c.xData=c.xData.concat(a.getOverscrollPositions());c.options={dataGrouping:e?{enabled:!0,forced:!0,approximation:"open",units:[[e.unitName,[e.count]]]}:{enabled:!1}};b.processData.apply(c);n.series.push(c)}),a.beforeSetTickPositions.apply(n),g[b]=n.ordinalPositions);return g[b]},getOverscrollPositions:function(){var E=this.options.overscroll,d=this.overscrollPointsRange,e=[],g=this.dataMax;if(a.defined(d))for(e.push(g);g<=this.dataMax+E;)g+=
18
+ d,e.push(g);return e},getGroupIntervalFactor:function(a,d,e){var g;e=e.processedXData;var b=e.length,k=[];g=this.groupIntervalFactor;if(!g){for(g=0;g<b-1;g++)k[g]=e[g+1]-e[g];k.sort(function(b,a){return b-a});k=k[Math.floor(b/2)];a=Math.max(a,e[0]);d=Math.min(d,e[b-1]);this.groupIntervalFactor=g=b*k/(d-a)}return g},postProcessTickInterval:function(a){var d=this.ordinalSlope;return d?this.options.breaks?this.closestPointRange||a:a/(d/this.closestPointRange):a}});l.prototype.ordinal2lin=l.prototype.val2lin;
19
+ t(H.prototype,"pan",function(a,d){var e=this.xAxis[0],g=e.options.overscroll,b=d.chartX,k=!1;if(e.options.ordinal&&e.series.length){var u=this.mouseDownX,n=e.getExtremes(),c=n.dataMax,f=n.min,q=n.max,m=this.hoverPoints,A=e.closestPointRange||e.overscrollPointsRange,u=(u-b)/(e.translationSlope*(e.ordinalSlope||A)),w={ordinalPositions:e.getExtendedPositions()},A=e.lin2val,B=e.val2lin,h;w.ordinalPositions?1<Math.abs(u)&&(m&&G(m,function(h){h.setState()}),0>u?(m=w,h=e.ordinalPositions?e:w):(m=e.ordinalPositions?
20
+ e:w,h=w),w=h.ordinalPositions,c>w[w.length-1]&&w.push(c),this.fixedRange=q-f,u=e.toFixedRange(null,null,A.apply(m,[B.apply(m,[f,!0])+u,!0]),A.apply(h,[B.apply(h,[q,!0])+u,!0])),u.min>=Math.min(n.dataMin,f)&&u.max<=Math.max(c,q)+g&&e.setExtremes(u.min,u.max,!0,!1,{trigger:"pan"}),this.mouseDownX=b,v(this.container,{cursor:"move"})):k=!0}else k=!0;k&&(g&&(e.max=e.dataMax+g),a.apply(this,Array.prototype.slice.call(arguments,1)))})})(J);(function(a){function x(){return Array.prototype.slice.call(arguments,
21
+ 1)}function l(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,v(this.pointArrayMap,["y"]))}var H=a.addEvent,v=a.pick,F=a.wrap,G=a.each,C=a.extend,D=a.isArray,r=a.fireEvent,y=a.Axis,t=a.Series;C(y.prototype,{isInBreak:function(a,d){var e=a.repeat||Infinity,g=a.from,b=a.to-a.from;d=d>=g?(d-g)%e:e-(g-d)%e;return a.inclusive?d<=b:d<b&&0!==d},isInAnyBreak:function(a,d){var e=this.options.breaks,g=e&&e.length,b,k,u;if(g){for(;g--;)this.isInBreak(e[g],a)&&(b=!0,k||(k=v(e[g].showPoints,
22
+ this.isXAxis?!1:!0)));u=b&&d?b&&!k:b}return u}});H(y,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});H(y,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,d=this.tickPositions.info,e=[],g;for(g=0;g<a.length;g++)this.isInAnyBreak(a[g])||e.push(a[g]);this.tickPositions=e;this.tickPositions.info=d}});H(y,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});y.prototype.setBreaks=function(a,d){function e(a){var k=
23
+ a,c,f;for(f=0;f<b.breakArray.length;f++)if(c=b.breakArray[f],c.to<=a)k-=c.len;else if(c.from>=a)break;else if(b.isInBreak(c,a)){k-=a-c.from;break}return k}function g(a){var k,c;for(c=0;c<b.breakArray.length&&!(k=b.breakArray[c],k.from>=a);c++)k.to<a?a+=k.len:b.isInBreak(k,a)&&(a+=k.len);return a}var b=this,k=D(a)&&!!a.length;b.isDirty=b.isBroken!==k;b.isBroken=k;b.options.breaks=b.userOptions.breaks=a;b.forceRedraw=!0;k||b.val2lin!==e||(delete b.val2lin,delete b.lin2val);k&&(b.userOptions.ordinal=
24
+ !1,b.val2lin=e,b.lin2val=g,b.setExtremes=function(b,a,c,f,k){if(this.isBroken){for(;this.isInAnyBreak(b);)b-=this.closestPointRange;for(;this.isInAnyBreak(a);)a-=this.closestPointRange}y.prototype.setExtremes.call(this,b,a,c,f,k)},b.setAxisTranslation=function(a){y.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=b.options.breaks;var k=[],c=[],f=0,q,m,A=b.userMin||b.min,w=b.userMax||b.max,B=v(b.pointRangePadding,0),h,p;G(a,function(h){m=h.repeat||Infinity;b.isInBreak(h,
25
+ A)&&(A+=h.to%m-A%m);b.isInBreak(h,w)&&(w-=w%m-h.from%m)});G(a,function(b){h=b.from;for(m=b.repeat||Infinity;h-m>A;)h-=m;for(;h<A;)h+=m;for(p=h;p<w;p+=m)k.push({value:p,move:"in"}),k.push({value:p+(b.to-b.from),move:"out",size:b.breakSize})});k.sort(function(h,b){return h.value===b.value?("in"===h.move?0:1)-("in"===b.move?0:1):h.value-b.value});q=0;h=A;G(k,function(b){q+="in"===b.move?1:-1;1===q&&"in"===b.move&&(h=b.value);0===q&&(c.push({from:h,to:b.value,len:b.value-h-(b.size||0)}),f+=b.value-h-
26
+ (b.size||0))});b.breakArray=c;b.unitLength=w-A-f+B;r(b,"afterBreaks");b.staticScale?b.transA=b.staticScale:b.unitLength&&(b.transA*=(w-b.min+B)/b.unitLength);B&&(b.minPixelPadding=b.transA*b.minPointOffset);b.min=A;b.max=w}});v(d,!0)&&this.chart.redraw()};F(t.prototype,"generatePoints",function(a){a.apply(this,x(arguments));var d=this.xAxis,e=this.yAxis,g=this.points,b,k=g.length,u=this.options.connectNulls,n;if(d&&e&&(d.options.breaks||e.options.breaks))for(;k--;)b=g[k],n=null===b.y&&!1===u,n||!d.isInAnyBreak(b.x,
27
+ !0)&&!e.isInAnyBreak(b.y,!0)||(g.splice(k,1),this.data[k]&&this.data[k].destroyElements())});a.Series.prototype.drawBreaks=function(a,d){var e=this,g=e.points,b,k,u,n;a&&G(d,function(c){b=a.breakArray||[];k=a.isXAxis?a.min:v(e.options.threshold,a.min);G(g,function(f){n=v(f["stack"+c.toUpperCase()],f[c]);G(b,function(b){u=!1;if(k<b.from&&n>b.to||k>b.from&&n<b.from)u="pointBreak";else if(k<b.from&&n>b.from&&n<b.to||k>b.from&&n>b.to&&n<b.from)u="pointInBreak";u&&r(a,u,{point:f,brk:b})})})})};a.Series.prototype.gappedPath=
28
+ function(){var t=this.currentDataGrouping,d=t&&t.totalRange,t=this.options.gapSize,e=this.points.slice(),g=e.length-1,b=this.yAxis;if(t&&0<g)for("value"!==this.options.gapUnit&&(t*=this.closestPointRange),d&&d>t&&(t=d);g--;)e[g+1].x-e[g].x>t&&(d=(e[g].x+e[g+1].x)/2,e.splice(g+1,0,{isNull:!0,x:d}),this.options.stacking&&(d=b.stacks[this.stackKey][d]=new a.StackItem(b,b.options.stackLabels,!1,d,this.stack),d.total=0));return this.getGraphPath(e)};F(a.seriesTypes.column.prototype,"drawPoints",l);F(a.Series.prototype,
29
+ "drawPoints",l)})(J);(function(a){var x=a.addEvent,l=a.arrayMax,H=a.arrayMin,v=a.Axis,F=a.defaultPlotOptions,G=a.defined,C=a.each,D=a.extend,r=a.format,y=a.isNumber,t=a.merge,E=a.pick,d=a.Point,e=a.Series,g=a.Tooltip,b=a.wrap,k=e.prototype,u=k.processData,n=k.generatePoints,c={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M",
30
+ "%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},f={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",
31
+ groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},q=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],m=a.approximations={sum:function(b){var a=b.length,c;if(!a&&b.hasNulls)c=null;else if(a)for(c=0;a--;)c+=b[a];return c},average:function(b){var a=b.length;b=m.sum(b);y(b)&&a&&(b/=a);return b},averages:function(){var b=
32
+ [];C(arguments,function(a){b.push(m.average(a))});return void 0===b[0]?void 0:b},open:function(b){return b.length?b[0]:b.hasNulls?null:void 0},high:function(b){return b.length?l(b):b.hasNulls?null:void 0},low:function(b){return b.length?H(b):b.hasNulls?null:void 0},close:function(b){return b.length?b[b.length-1]:b.hasNulls?null:void 0},ohlc:function(b,a,c,h){b=m.open(b);a=m.high(a);c=m.low(c);h=m.close(h);if(y(b)||y(a)||y(c)||y(h))return[b,a,c,h]},range:function(b,a){b=m.low(b);a=m.high(a);if(y(b)||
33
+ y(a))return[b,a];if(null===b&&null===a)return null}};k.groupData=function(b,a,k,h){var p=this,z=p.data,w=p.options.data,I=[],q=[],e=[],A=b.length,d,B,g=!!a,u=[];h="function"===typeof h?h:m[h]||f[p.type]&&m[f[p.type].approximation]||m[c.approximation];var n=p.pointArrayMap,r=n&&n.length,l=["x"].concat(n||["y"]),F=0,v=0,D,E;r?C(n,function(){u.push([])}):u.push([]);D=r||1;for(E=0;E<=A&&!(b[E]>=k[0]);E++);for(E;E<=A;E++){for(;void 0!==k[F+1]&&b[E]>=k[F+1]||E===A;){d=k[F];p.dataGroupInfo={start:v,length:u[0].length};
34
+ B=h.apply(p,u);G(p.dataGroupInfo.options)||(p.dataGroupInfo.options=t(p.pointClass.prototype.optionsToObject.call({series:p},p.options.data[v])),C(l,function(b){delete p.dataGroupInfo.options[b]}));void 0!==B&&(I.push(d),q.push(B),e.push(p.dataGroupInfo));v=E;for(d=0;d<D;d++)u[d].length=0,u[d].hasNulls=!1;F+=1;if(E===A)break}if(E===A)break;if(n){d=p.cropStart+E;B=z&&z[d]||p.pointClass.prototype.applyOptions.apply({series:p},[w[d]]);var x;for(d=0;d<r;d++)x=B[n[d]],y(x)?u[d].push(x):null===x&&(u[d].hasNulls=
35
+ !0)}else d=g?a[E]:null,y(d)?u[0].push(d):null===d&&(u[0].hasNulls=!0)}return[I,q,e]};k.processData=function(){var b=this.chart,a=this.options.dataGrouping,c=!1!==this.allowDG&&a&&E(a.enabled,b.options.isStock),h=this.visible||!b.options.chart.ignoreHiddenSeries,p,z=this.currentDataGrouping,f;this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==u.apply(this,arguments)&&c){this.destroyGroupedData();var I,d=a.groupAll?this.xData:this.processedXData,m=a.groupAll?this.yData:this.processedYData,
36
+ e=b.plotSizeX,b=this.xAxis,n=b.options.ordinal,g=this.groupPixelWidth=b.getGroupPixelWidth&&b.getGroupPixelWidth();if(g){this.isDirty=p=!0;this.points=null;c=b.getExtremes();f=c.min;c=c.max;n=n&&b.getGroupIntervalFactor(f,c,this)||1;g=g*(c-f)/e*n;e=b.getTimeTicks(b.normalizeTimeTickInterval(g,a.units||q),Math.min(f,d[0]),Math.max(c,d[d.length-1]),b.options.startOfWeek,d,this.closestPointRange);m=k.groupData.apply(this,[d,m,e,a.approximation]);d=m[0];n=m[1];if(a.smoothed&&d.length){I=d.length-1;for(d[I]=
37
+ Math.min(d[I],c);I--&&0<I;)d[I]+=g/2;d[0]=Math.max(d[0],f)}f=e.info;this.closestPointRange=e.info.totalRange;this.groupMap=m[2];if(G(d[0])&&d[0]<b.dataMin&&h){if(!G(b.options.min)&&b.min<=b.dataMin||b.min===b.dataMin)b.min=d[0];b.dataMin=d[0]}a.groupAll&&(a=this.cropData(d,n,b.min,b.max,1),d=a.xData,n=a.yData);this.processedXData=d;this.processedYData=n}else this.groupMap=null;this.hasGroupedData=p;this.currentDataGrouping=f;this.preventGraphAnimation=(z&&z.totalRange)!==(f&&f.totalRange)}};k.destroyGroupedData=
38
+ function(){var b=this.groupedData;C(b||[],function(a,c){a&&(b[c]=a.destroy?a.destroy():null)});this.groupedData=null};k.generatePoints=function(){n.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};x(d,"update",function(){if(this.dataGroup)return a.error(24),!1});b(g.prototype,"tooltipFooterHeaderFormatter",function(b,a,c){var h=this.chart.time,p=a.series,z=p.tooltipOptions,f=p.options.dataGrouping,k=z.xDateFormat,d,m=p.xAxis;return m&&"datetime"===m.options.type&&
39
+ f&&y(a.key)?(b=p.currentDataGrouping,f=f.dateTimeLabelFormats,b?(m=f[b.unitName],1===b.count?k=m[0]:(k=m[1],d=m[2])):!k&&f&&(k=this.getXDateFormat(a,z,m)),k=h.dateFormat(k,a.key),d&&(k+=h.dateFormat(d,a.key+b.totalRange-1)),r(z[(c?"footer":"header")+"Format"],{point:D(a.point,{key:k}),series:p},h)):b.call(this,a,c)});x(e,"destroy",k.destroyGroupedData);x(e,"afterSetOptions",function(b){b=b.options;var a=this.type,k=this.chart.options.plotOptions,h=F[a].dataGrouping,p=this.useCommonDataGrouping&&c;
40
+ if(f[a]||p)h||(h=t(c,f[a])),b.dataGrouping=t(p,h,k.series&&k.series.dataGrouping,k[a].dataGrouping,this.userOptions.dataGrouping);this.chart.options.isStock&&(this.requireSorting=!0)});x(v,"afterSetScale",function(){C(this.series,function(b){b.hasProcessed=!1})});v.prototype.getGroupPixelWidth=function(){var b=this.series,a=b.length,c,h=0,p=!1,z;for(c=a;c--;)(z=b[c].options.dataGrouping)&&(h=Math.max(h,z.groupPixelWidth));for(c=a;c--;)(z=b[c].options.dataGrouping)&&b[c].hasProcessed&&(a=(b[c].processedXData||
41
+ b[c].data).length,b[c].groupPixelWidth||a>this.chart.plotSizeX/h||a&&z.forced)&&(p=!0);return p?h:0};v.prototype.setDataGrouping=function(b,a){var c;a=E(a,!0);b||(b={forced:!1,units:null});if(this instanceof v)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:b},!1);else C(this.chart.options.series,function(h){h.dataGrouping=b},!1);this.ordinalSlope=null;a&&this.chart.redraw()}})(J);(function(a){var x=a.each,l=a.Point,H=a.seriesType,v=a.seriesTypes;H("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},
42
+ threshold:null,stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",translate:function(){var a=this,l=a.yAxis,C=!!a.modifyValue,D=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];v.column.prototype.translate.apply(a);x(a.points,function(r){x([r.open,r.high,r.low,r.close,r.low],function(y,t){null!==y&&(C&&(y=a.modifyValue(y)),r[D[t]]=l.toPixels(y,!0))});r.tooltipPos[1]=r.plotHigh+l.pos-a.chart.plotTop})},
43
+ drawPoints:function(){var a=this,l=a.chart;x(a.points,function(C){var v,r,y,t,E=C.graphic,d,e=!E;void 0!==C.plotY&&(E||(C.graphic=E=l.renderer.path().add(a.group)),r=E.strokeWidth()%2/2,d=Math.round(C.plotX)-r,y=Math.round(C.shapeArgs.width/2),t=["M",d,Math.round(C.yBottom),"L",d,Math.round(C.plotHigh)],null!==C.open&&(v=Math.round(C.plotOpen)+r,t.push("M",d,v,"L",d-y,v)),null!==C.close&&(v=Math.round(C.plotClose)+r,t.push("M",d,v,"L",d+y,v)),E[e?"attr":"animate"]({d:t}).addClass(C.getClassName(),
44
+ !0))})},animate:null},{getClassName:function(){return l.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(J);(function(a){var x=a.defaultPlotOptions,l=a.each,H=a.merge;a=a.seriesType;a("candlestick","ohlc",H(x.column,{states:{hover:{lineWidth:2}},tooltip:x.ohlc.tooltip,threshold:null,stickyTracking:!0}),{drawPoints:function(){var a=this,F=a.chart,x=a.yAxis.reversed;l(a.points,function(l){var v=l.graphic,r,y,t,E,d,e,g,b=!v;void 0!==l.plotY&&
45
+ (v||(l.graphic=v=F.renderer.path().add(a.group)),d=v.strokeWidth()%2/2,e=Math.round(l.plotX)-d,r=l.plotOpen,y=l.plotClose,t=Math.min(r,y),r=Math.max(r,y),g=Math.round(l.shapeArgs.width/2),y=x?r!==l.yBottom:Math.round(t)!==Math.round(l.plotHigh),E=x?Math.round(t)!==Math.round(l.plotHigh):r!==l.yBottom,t=Math.round(t)+d,r=Math.round(r)+d,d=[],d.push("M",e-g,r,"L",e-g,t,"L",e+g,t,"L",e+g,r,"Z","M",e,t,"L",e,y?Math.round(x?l.yBottom:l.plotHigh):t,"M",e,r,"L",e,E?Math.round(x?l.plotHigh:l.yBottom):r),
46
+ v[b?"attr":"animate"]({d:d}).addClass(l.getClassName(),!0))})}})})(J);var W=function(a){var x=a.each,l=a.defined,H=a.seriesTypes,v=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){H.column.prototype.translate.apply(this);var a=this.options,G=this.chart,C=this.points,D=C.length-1,r,y,t=a.onSeries,t=t&&G.get(t),a=a.onKey||"y",E=t&&t.options.step,d=t&&t.points,e=d&&d.length,g=
47
+ G.inverted,b=this.xAxis,k=this.yAxis,u=0,n,c,f,q;if(t&&t.visible&&e)for(u=(t.pointXOffset||0)+(t.barW||0)/2,r=t.currentDataGrouping,c=d[e-1].x+(r?r.totalRange:0),v(C,function(b,a){return b.x-a.x}),a="plot"+a[0].toUpperCase()+a.substr(1);e--&&C[D]&&!(n=d[e],r=C[D],r.y=n.y,n.x<=r.x&&void 0!==n[a]&&(r.x<=c&&(r.plotY=n[a],n.x<r.x&&!E&&(f=d[e+1])&&void 0!==f[a]&&(q=(r.x-n.x)/(f.x-n.x),r.plotY+=q*(f[a]-n[a]),r.y+=q*(f.y-n.y))),D--,e++,0>D)););x(C,function(a,c){var f;a.plotX+=u;if(void 0===a.plotY||g)0<=
48
+ a.plotX&&a.plotX<=b.len?g?(a.plotY=b.translate(a.x,0,1,0,1),a.plotX=l(a.y)?k.translate(a.y,0,0,0,1):0):a.plotY=G.chartHeight-b.bottom-(b.opposite?b.height:0)+b.offset-k.top:a.shapeArgs={};(y=C[c-1])&&y.plotX===a.plotX&&(void 0===y.stackIndex&&(y.stackIndex=0),f=y.stackIndex+1);a.stackIndex=f});this.onSeries=t}}}(J);(function(a,x){function l(a){r[a+"pin"]=function(t,l,d,e,g){var b=g&&g.anchorX;g=g&&g.anchorY;"circle"===a&&e>d&&(t-=Math.round((e-d)/2),d=e);t=r[a](t,l,d,e);b&&g&&(t.push("M","circle"===
49
+ a?t[1]-t[4]:t[1]+t[4]/2,l>g?l:l+e,"L",b,g),t=t.concat(r.circle(b-1,g-1,2,2)));return t}}var H=a.addEvent,v=a.each,F=a.noop,G=a.Series,C=a.seriesType,D=a.TrackerMixin,r=a.SVGRenderer.prototype.symbols;C("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:G.prototype.init,translate:x.translate,
50
+ getPlotBox:x.getPlotBox,drawPoints:function(){var l=this.points,t=this.chart,r=t.renderer,d,e,g=t.inverted,b=this.options,k=b.y,u,n,c,f,q,m,A=this.yAxis,w={},B=[];for(n=l.length;n--;)c=l[n],m=(g?c.plotY:c.plotX)>this.xAxis.len,d=c.plotX,f=c.stackIndex,u=c.options.shape||b.shape,e=c.plotY,void 0!==e&&(e=c.plotY+k-(void 0!==f&&f*b.stackDistance)),c.anchorX=f?void 0:c.plotX,q=f?void 0:c.plotY,f=c.graphic,void 0!==e&&0<=d&&!m?(f||(f=c.graphic=r.label("",null,null,u,null,null,b.useHTML).attr({align:"flag"===
51
+ u?"left":"center",width:b.width,height:b.height,"text-align":b.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.graphic.div&&(c.graphic.div.point=c),f.isNew=!0),0<d&&(d-=f.strokeWidth()%2),u={y:e,anchorY:q},b.allowOverlapX&&(u.x=d,u.anchorX=c.anchorX),f.attr({text:c.options.title||b.title||"A"})[f.isNew?"attr":"animate"](u),b.allowOverlapX||(w[c.plotX]?w[c.plotX].size=Math.max(w[c.plotX].size,f.width):w[c.plotX]={align:0,size:f.width,target:d,anchorX:d}),c.tooltipPos=[d,e+A.pos-t.plotTop]):
52
+ f&&(c.graphic=f.destroy());b.allowOverlapX||(a.objectEach(w,function(b){b.plotX=b.anchorX;B.push(b)}),a.distribute(B,g?A.len:this.xAxis.len,100),v(l,function(b){var a=b.graphic&&w[b.plotX];a&&(b.graphic[b.graphic.isNew?"attr":"animate"]({x:a.pos,anchorX:b.anchorX}),a.pos?b.graphic.isNew=!1:(b.graphic.attr({x:-9999,anchorX:-9999}),b.graphic.isNew=!0))}));b.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,
53
+ 1))})},drawTracker:function(){var a=this.points;D.drawTrackerPoint.apply(this);v(a,function(t){var l=t.graphic;l&&H(l.element,"mouseover",function(){0<t.stackIndex&&!t.raised&&(t._y=l.y,l.attr({y:t._y-8}),t.raised=!0);v(a,function(a){a!==t&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){G.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},
54
+ buildKDTree:F,invertGroups:F});r.flag=function(a,l,v,d,e){var g=e&&e.anchorX||a;e=e&&e.anchorY||l;return r.circle(g-1,e-1,2,2).concat(["M",g,e,"L",a,l+d,a,l,a+v,l,a+v,l+d,a,l+d,"Z"])};l("circle");l("square")})(J,W);(function(a){function x(b,a,d){this.init(b,a,d)}var l=a.addEvent,H=a.Axis,v=a.correctFloat,F=a.defaultOptions,G=a.defined,C=a.destroyObjectProperties,D=a.each,r=a.fireEvent,y=a.hasTouch,t=a.merge,E=a.pick,d=a.removeEvent,e,g={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,
55
+ liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3};F.scrollbar=t(!0,g,F.scrollbar);a.swapXY=e=function(b,a){var k=b.length,d;if(a)for(a=0;a<k;a+=3)d=b[a+1],b[a+1]=b[a+2],b[a+2]=d;return b};x.prototype={init:function(b,a,d){this.scrollbarButtons=[];this.renderer=b;this.userOptions=a;this.options=t(g,a);this.chart=d;this.size=E(this.options.size,this.options.height);a.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var b=this.renderer,a=this.options,d=this.size,
56
+ g;this.group=g=b.g("scrollbar").attr({zIndex:a.zIndex,translateY:-99999}).add();this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:a.trackBorderRadius||0,height:d,width:d}).add(g);this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=b.g().add(g);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:a.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(e(["M",-3,
57
+ d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],a.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(b,a,d,e){var c=this.options.vertical,f=0,k=this.rendered?"animate":"attr";this.x=b;this.y=a+this.trackBorderWidth;this.width=d;this.xOffset=
58
+ this.height=e;this.yOffset=f;c?(this.width=this.yOffset=d=f=this.size,this.xOffset=a=0,this.barWidth=e-2*d,this.x=b+=this.options.margin):(this.height=this.xOffset=e=a=this.size,this.barWidth=d-2*e,this.y+=this.options.margin);this.group[k]({translateX:b,translateY:this.y});this.track[k]({width:d,height:e});this.scrollbarButtons[1][k]({translateX:c?0:d-a,translateY:c?e-f:0})},drawScrollbarButton:function(b){var a=this.renderer,d=this.scrollbarButtons,g=this.options,c=this.size,f;f=a.g().add(this.group);
59
+ d.push(f);f=a.rect().addClass("highcharts-scrollbar-button").add(f);f.attr(f.crisp({x:-.5,y:-.5,width:c+1,height:c+1,r:g.buttonBorderRadius},f.strokeWidth()));a.path(e(["M",c/2+(b?-1:1),c/2-3,"L",c/2+(b?-1:1),c/2+3,"L",c/2+(b?2:-2),c/2],g.vertical)).addClass("highcharts-scrollbar-arrow").add(d[b])},setRange:function(b,a){var d=this.options,k=d.vertical,c=d.minWidth,f=this.barWidth,e,m,g=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";G(f)&&(b=
60
+ Math.max(b,0),e=Math.ceil(f*b),this.calculatedWidth=m=v(f*Math.min(a,1)-e),m<c&&(e=(f-c+m)*b,m=c),c=Math.floor(e+this.xOffset+this.yOffset),f=m/2-.5,this.from=b,this.to=a,k?(this.scrollbarGroup[g]({translateY:c}),this.scrollbar[g]({height:m}),this.scrollbarRifles[g]({translateY:f}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[g]({translateX:c}),this.scrollbar[g]({width:m}),this.scrollbarRifles[g]({translateX:f}),this.scrollbarLeft=c,this.scrollbarTop=0),12>=m?this.scrollbarRifles.hide():
61
+ this.scrollbarRifles.show(!0),!1===d.showFull&&(0>=b&&1<=a?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var b=this;b.mouseMoveHandler=function(a){var d=b.chart.pointer.normalize(a),k=b.options.vertical?"chartY":"chartX",c=b.initPositions;!b.grabbedCenter||a.touches&&0===a.touches[0][k]||(d=b.cursorToScrollbarPosition(d)[k],k=b[k],k=d-k,b.hasDragged=!0,b.updatePosition(c[0]+k,c[1]+k),b.hasDragged&&r(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMType:a.type,
62
+ DOMEvent:a}))};b.mouseUpHandler=function(a){b.hasDragged&&r(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});b.grabbedCenter=b.hasDragged=b.chartX=b.chartY=null};b.mouseDownHandler=function(a){a=b.chart.pointer.normalize(a);a=b.cursorToScrollbarPosition(a);b.chartX=a.chartX;b.chartY=a.chartY;b.initPositions=[b.from,b.to];b.grabbedCenter=!0};b.buttonToMinClick=function(a){var d=v(b.to-b.from)*b.options.step;b.updatePosition(v(b.from-d),v(b.to-d));r(b,"changed",{from:b.from,
63
+ to:b.to,trigger:"scrollbar",DOMEvent:a})};b.buttonToMaxClick=function(a){var d=(b.to-b.from)*b.options.step;b.updatePosition(b.from+d,b.to+d);r(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:a})};b.trackClick=function(a){var d=b.chart.pointer.normalize(a),e=b.to-b.from,c=b.y+b.scrollbarTop,f=b.x+b.scrollbarLeft;b.options.vertical&&d.chartY>c||!b.options.vertical&&d.chartX>f?b.updatePosition(b.from+e,b.to+e):b.updatePosition(b.from-e,b.to-e);r(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",
64
+ DOMEvent:a})}},cursorToScrollbarPosition:function(b){var a=this.options,a=a.minWidth>this.calculatedWidth?a.minWidth:0;return{chartX:(b.chartX-this.x-this.xOffset)/(this.barWidth-a),chartY:(b.chartY-this.y-this.yOffset)/(this.barWidth-a)}},updatePosition:function(b,a){1<a&&(b=v(1-v(a-b)),a=1);0>b&&(a=v(a-b),b=0);this.from=b;this.to=a},update:function(a){this.destroy();this.init(this.chart.renderer,t(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],d=this.scrollbarButtons,
65
+ e=this.scrollbarGroup.element,g=this.mouseDownHandler,c=this.mouseMoveHandler,f=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e,"mousedown",g],[e.ownerDocument,"mousemove",c],[e.ownerDocument,"mouseup",f]];y&&a.push([e,"touchstart",g],[e.ownerDocument,"touchmove",c],[e.ownerDocument,"touchend",f]);D(a,function(a){l.apply(null,a)});this._events=a},removeEvents:function(){D(this._events,
66
+ function(a){d.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();D(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,C(a.scrollbarButtons))}};l(H,"afterInit",function(){var a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=
67
+ !1,a.scrollbar=new x(a.chart.renderer,a.options.scrollbar,a.chart),l(a.scrollbar,"changed",function(b){var d=Math.min(E(a.options.min,a.min),a.min,a.dataMin),e=Math.max(E(a.options.max,a.max),a.max,a.dataMax)-d,c;a.horiz&&!a.reversed||!a.horiz&&a.reversed?(c=d+e*this.to,d+=e*this.from):(c=d+e*(1-this.from),d+=e*(1-this.to));a.setExtremes(d,c,!0,!1,b)}))});l(H,"afterRender",function(){var a=Math.min(E(this.options.min,this.min),this.min,E(this.dataMin,this.min)),d=Math.max(E(this.options.max,this.max),
68
+ this.max,E(this.dataMax,this.max)),e=this.scrollbar,g=this.titleOffset||0;if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:g+this.axisTitleMargin+this.offset),this.width,this.height),g=1):(e.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?g+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),g=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[g]+=this.scrollbar.size+
69
+ this.scrollbar.options.margin;isNaN(a)||isNaN(d)||!G(this.min)||!G(this.max)?e.setRange(0,0):(g=(this.min-a)/(d-a),a=(this.max-a)/(d-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(g,a):e.setRange(1-a,1-g))}});l(H,"afterGetOffset",function(){var a=this.horiz?2:1,d=this.scrollbar;d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=d.size+d.options.margin)});a.Scrollbar=x})(J);(function(a){function x(a){this.init(a)}var l=a.addEvent,H=a.Axis,v=a.Chart,F=a.defaultOptions,
70
+ G=a.defined,C=a.destroyObjectProperties,D=a.each,r=a.erase,y=a.error,t=a.extend,E=a.grep,d=a.hasTouch,e=a.isArray,g=a.isNumber,b=a.isObject,k=a.isTouchDevice,u=a.merge,n=a.pick,c=a.removeEvent,f=a.Scrollbar,q=a.Series,m=a.seriesTypes,A=a.wrap,w=[].concat(a.defaultDataGroupingUnits),B=function(a){var b=E(arguments,g);if(b.length)return Math[a].apply(0,b)};w[4]=["day",[1,2,3,4]];w[5]=["week",[1,2,3]];t(F,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle",
71
+ "navigator-handle"],enabled:!0},series:{type:void 0===m.areaspline?"line":"areaspline",compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:w},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,tickPixelInterval:200,labels:{align:"left",x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",
72
+ startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};x.prototype={drawHandle:function(a,b,c,d){var h=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/
73
+ 2),translateY:Math.round(this.top+parseInt(a,10)+.5-h)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-h/2-1)})},drawOutline:function(a,b,c,d){var h=this.navigatorOptions.maskInside,p=this.outline.strokeWidth(),f=p/2,p=p%2/2,z=this.outlineHeight,e=this.scrollbarHeight,m=this.size,g=this.left-e,q=this.top;c?(g-=f,c=q+b+p,b=q+a+p,a=["M",g+z,q-e-p,"L",g+z,c,"L",g,c,"L",g,b,"L",g+z,b,"L",g+z,q+m+e].concat(h?["M",g+z,c-f,"L",g+z,b+f]:[])):(a+=g+e-p,b+=g+e-
74
+ p,q+=f,a=["M",g,q,"L",a,q,"L",a,q+z,"L",b,q+z,"L",b,q,"L",g+m+2*e,q].concat(h?["M",a-f,q,"L",b+f,q]:[]));this.outline[d]({d:a})},drawMasks:function(a,b,c,d){var h=this.left,p=this.top,f=this.height,z,e,g,q;c?(g=[h,h,h],q=[p,p+a,p+b],e=[f,f,f],z=[a,b-a,this.size-b]):(g=[h,h+a,h+b],q=[p,p,p],e=[a,b-a,this.size-b],z=[f,f,f]);D(this.shades,function(a,b){a[d]({x:g[b],y:q[b],width:e[b],height:z[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,f=d.renderer,e;a.navigatorGroup=
75
+ e=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();D([!c,c,!c],function(b,h){a.shades[h]=f.rect().addClass("highcharts-navigator-mask"+(1===h?"-inside":"-outside")).add(e)});a.outline=f.path().addClass("highcharts-navigator-outline").add(e);b.handles.enabled&&D([0,1],function(h){b.handles.inverted=d.inverted;a.handles[h]=f.symbol(b.handles.symbols[h],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[h].attr({zIndex:7-h}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
76
+ ["left","right"][h]).add(e)})},update:function(a){D(this.series||[],function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();u(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,c,d,f){var h=this.chart,p,e,z=this.scrollbarHeight,q,m=this.xAxis;p=m.fake?h.xAxis[0]:m;var w=this.navigatorEnabled,k,K=this.rendered;e=h.inverted;var B,l=h.xAxis[0].minRange,A=h.xAxis[0].options.maxRange;if(!this.hasDragged||G(d)){if(!g(b)||!g(c))if(K)d=0,f=n(m.width,
77
+ p.width);else return;this.left=n(m.left,h.plotLeft+z+(e?h.plotWidth:0));this.size=k=q=n(m.len,(e?h.plotHeight:h.plotWidth)-2*z);h=e?z:q+2*z;d=n(d,m.toPixels(b,!0));f=n(f,m.toPixels(c,!0));g(d)&&Infinity!==Math.abs(d)||(d=0,f=h);b=m.toValue(d,!0);c=m.toValue(f,!0);B=Math.abs(a.correctFloat(c-b));B<l?this.grabbedLeft?d=m.toPixels(c-l,!0):this.grabbedRight&&(f=m.toPixels(b+l,!0)):G(A)&&B>A&&(this.grabbedLeft?d=m.toPixels(c-A,!0):this.grabbedRight&&(f=m.toPixels(b+A,!0)));this.zoomedMax=Math.min(Math.max(d,
78
+ f,0),k);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,f),0),k);this.range=this.zoomedMax-this.zoomedMin;k=Math.round(this.zoomedMax);d=Math.round(this.zoomedMin);w&&(this.navigatorGroup.attr({visibility:"visible"}),K=K&&!this.hasDragged?"animate":"attr",this.drawMasks(d,k,e,K),this.drawOutline(d,k,e,K),this.navigatorOptions.handles.enabled&&(this.drawHandle(d,0,e,K),this.drawHandle(k,1,e,K)));this.scrollbar&&(e?(e=this.top-z,p=this.left-z+(w||!p.opposite?
79
+ 0:(p.titleOffset||0)+p.axisTitleMargin),z=q+2*z):(e=this.top+(w?this.height:-z),p=this.left-z),this.scrollbar.position(p,e,h,z),this.scrollbar.setRange(this.zoomedMin/(q||1),this.zoomedMax/(q||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,f=[],e,m;a.mouseMoveHandler=e=function(b){a.onMouseMove(b)};a.mouseUpHandler=m=function(b){a.onMouseUp(b)};f=a.getPartsEvents("mousedown");f.push(l(c,"mousemove",e),l(c.ownerDocument,"mouseup",m));d&&(f.push(l(c,"touchmove",
80
+ e),l(c.ownerDocument,"touchend",m)),f.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=f;a.series&&a.series[0]&&f.push(l(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];D(["shades","handles"],function(h){D(b[h],function(d,f){c.push(l(d.element,a,function(a){b[h+"Mousedown"](a,f)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,h=this.xAxis,d=this.zoomedMin,
81
+ f=this.left,e=this.size,p=this.range,m=a.chartX,g,q;c.inverted&&(m=a.chartY,f=this.top);1===b?(this.grabbedCenter=m,this.fixedWidth=p,this.dragOffset=m-d):(a=m-f-p/2,0===b?a=Math.max(0,a):2===b&&a+p>=e&&(a=e-p,this.reversedExtremes?(a-=p,q=this.getUnionExtremes().dataMin):g=this.getUnionExtremes().dataMax),a!==d&&(this.fixedWidth=p,b=h.toFixedRange(a,a+p,q,g),G(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,
82
+ b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],h=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=h?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=h?c.max:c.min);a.fixedRange=null},onMouseMove:function(b){var c=this,h=c.chart,d=c.left,f=c.navigatorSize,e=c.range,m=c.dragOffset,g=h.inverted;b.touches&&0===b.touches[0].pageX||(b=h.pointer.normalize(b),h=b.chartX,g&&(d=c.top,h=b.chartY),c.grabbedLeft?
83
+ (c.hasDragged=!0,c.render(0,0,h-d,c.otherHandlePos)):c.grabbedRight?(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,h-d)):c.grabbedCenter&&(c.hasDragged=!0,h<m?h=m:h>f+m-e&&(h=f+m-e),c.render(0,0,h-m,h-m+e)),c.hasDragged&&c.scrollbar&&n(c.scrollbar.options.liveRedraw,a.svg&&!k&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){c.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,h=this.scrollbar,d,f,e=a.DOMEvent||a;(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==
84
+ a.trigger||(h=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?d=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.reversedExtremes?h.dataMin:h.dataMax),0===this.zoomedMin&&(d=this.reversedExtremes?h.dataMax:h.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,d,f),G(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e}));
85
+ "mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(D(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&D(a,function(a){c(a,"updatedData",this.updatedDataHandler)},
86
+ this),a[0].xAxis&&c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,c=b.navigator,h=c.enabled,d=b.scrollbar,e=d.enabled,b=h?c.height:0,m=e?d.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=m;this.scrollbarEnabled=e;this.navigatorEnabled=h;this.navigatorOptions=c;this.scrollbarOptions=d;this.outlineHeight=b+m;this.opposite=n(c.opposite,!h&&a.inverted);var g=this,h=g.baseSeries,d=a.xAxis.length,e=
87
+ a.yAxis.length,q=h&&h[0]&&h[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;g.navigatorEnabled?(g.xAxis=new H(a,u({breaks:q.options.breaks,ordinal:q.options.ordinal},c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:d,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[m,0,-m,0],width:b}:{offsets:[0,-m,0,m],height:b})),g.yAxis=new H(a,u(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,
88
+ offset:0,index:e,isInternal:!0,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),h||c.series.data?g.updateNavigatorSeries(!1):0===a.series.length&&(g.unbindRedraw=l(a,"beforeRedraw",function(){0<a.series.length&&!g.series&&(g.setBaseSeries(),g.unbindRedraw())})),g.reversedExtremes=a.inverted&&!g.xAxis.reversed||!a.inverted&&g.xAxis.reversed,g.renderElements(),g.addMouseEvents()):g.xAxis={translate:function(b,c){var h=a.xAxis[0],d=h.getExtremes(),f=h.len-2*m,e=B("min",h.options.min,d.dataMin),h=B("max",
89
+ h.options.max,d.dataMax)-e;return c?b*h/f+e:f*(b-e)/h},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:H.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=g.scrollbar=new f(a.renderer,u(a.options.scrollbar,{margin:g.navigatorEnabled?0:10,vertical:a.inverted}),a),l(g.scrollbar,"changed",function(b){var c=g.size,h=c*this.to,c=c*this.from;g.hasDragged=g.scrollbar.hasDragged;g.render(0,0,c,h);(a.options.scrollbar.liveRedraw||
90
+ "mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){g.onMouseUp(b)})}));g.addBaseSeriesEvents();g.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,h=c.options,d=b.options,f;a&&null===b.dataMin||(f={dataMin:n(h&&h.min,B("min",d.min,b.dataMin,c.dataMin,c.min)),dataMax:n(h&&h.max,B("max",d.max,b.dataMax,c.dataMax,c.max))});return f},setBaseSeries:function(a,b){var c=this.chart,h=this.baseSeries=[];a=a||c.options&&c.options.navigator.baseSeries||
91
+ 0;D(c.series||[],function(b,c){b.options.isInternal||!b.options.showInNavigator&&(c!==a&&b.options.id!==a||!1===b.options.showInNavigator)||h.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,b)},updateNavigatorSeries:function(b,d){var h=this,f=h.chart,g=h.baseSeries,m,p,q=h.navigatorOptions.series,k,w={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0},B=h.series=
92
+ a.grep(h.series||[],function(b){var d=b.baseSeries;return 0>a.inArray(d,g)?(d&&(c(d,"updatedData",h.updatedDataHandler),delete d.navigatorSeries),b.chart&&b.destroy(),!1):!0});g&&g.length&&D(g,function(a){var b=a.navigatorSeries,c=t({color:a.color,visible:a.visible},e(q)?F.navigator.series:q);b&&!1===h.navigatorOptions.adaptToUpdatedData||(w.name="Navigator "+g.length,m=a.options||{},k=m.navigatorOptions||{},p=u(m,w,c,k),c=k.data||c.data,h.hasNavigatorData=h.hasNavigatorData||!!c,p.data=c||m.data&&
93
+ m.data.slice(0),b&&b.options?b.update(p,d):(a.navigatorSeries=f.initSeries(p),a.navigatorSeries.baseSeries=a,B.push(a.navigatorSeries)))});if(q.data&&(!g||!g.length)||e(q))h.hasNavigatorData=!1,q=a.splat(q),D(q,function(a,b){w.name="Navigator "+(B.length+1);p=u(F.navigator.series,{color:f.series[b]&&!f.series[b].options.isInternal&&f.series[b].color||f.options.colors[b]||f.options.colors[0]},w,a);p.data=a.data;p.data&&(h.hasNavigatorData=!0,B.push(f.initSeries(p)))});b&&this.addBaseSeriesEvents()},
94
+ addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&l(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);D(b,function(b){l(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});l(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&l(b,"updatedData",this.updatedDataHandler);l(b,"remove",function(){this.navigatorSeries&&(r(a.series,this.navigatorSeries),
95
+ G(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(b){return a.reduce(this.baseSeries,function(a,b){return Math.min(a,b.xData[0])},b)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax,b=
96
+ b.max-b.min,f=a.stickToMin,e=a.stickToMax,m=n(this.options.overscroll,0),q,k,w=a.series&&a.series[0],B=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(k=c,q=k+b),e&&(q=d+m,f||(k=Math.max(q-b,a.getBaseSeriesMin(w&&w.xData?w.xData[0]:-Number.MAX_VALUE)))),B&&(f||e)&&g(k)&&(this.min=this.userMin=k,this.max=this.userMax=q));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);
97
+ a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=g(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(l(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||
98
+ a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),l(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(r(this.chart.xAxis,this.xAxis),r(this.chart.axes,this.xAxis));this.yAxis&&(r(this.chart.yAxis,this.yAxis),r(this.chart.axes,this.yAxis));
99
+ D(this.series||[],function(a){a.destroy&&a.destroy()});D("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);D([this.handles],function(a){C(a)},this)}};a.Navigator=x;A(H.prototype,"zoom",function(a,b,c){var d=this.chart,f=d.options,h=f.chart.zoomType,e=f.chart.pinchType,g=f.navigator,f=f.rangeSelector,m;this.isXAxis&&(g&&g.enabled||f&&f.enabled)&&(!k&&
100
+ "x"===h||k&&"x"===e?d.resetZoomButton="blocked":"y"===h?m=!1:(!k&&"xy"===h||k&&"xy"===e)&&this.options.range&&(d=this.previousZoom,G(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!==m?m:a.call(this,b,c)});l(v,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new x(this)});l(v,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,d,f,e;b&&(d=a&&a.options,f=b.xAxis,
101
+ e=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&&"bottom"===d.verticalAlign&&d.enabled&&!d.floating?a.legendHeight+n(d.margin,10):0)),f&&e&&(this.inverted?f.options.left=e.options.left=b.left:f.options.top=e.options.top=b.top,f.setAxisSize(),
102
+ e.setAxisSize()))});l(v,"update",function(a){var b=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(u(!0,this.options.navigator,b),u(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)});l(v,"afterUpdate",function(){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new x(this))});A(q.prototype,"addPoint",function(a,c,d,f,e){var h=this.options.turboThreshold;
103
+ h&&this.xData.length>h&&b(c,!0)&&this.chart.navigator&&y(20,!0);a.call(this,c,d,f,e)});l(v,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)});l(q,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});v.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(J);(function(a){function x(a){this.init(a)}var l=a.addEvent,H=a.Axis,v=a.Chart,
104
+ F=a.css,G=a.createElement,C=a.defaultOptions,D=a.defined,r=a.destroyObjectProperties,y=a.discardElement,t=a.each,E=a.extend,d=a.fireEvent,e=a.isNumber,g=a.merge,b=a.pick,k=a.pInt,u=a.splat,n=a.wrap;E(C,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0}}});C.lang=g(C.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});x.prototype=
105
+ {clickButton:function(a,d){var c=this,f=c.chart,g=c.buttonOptions[a],k=f.xAxis[0],B=f.scroller&&f.scroller.getUnionExtremes()||k||{},h=B.dataMin,p=B.dataMax,z,n=k&&Math.round(Math.min(k.max,b(p,k.max))),I=g.type,r,B=g._range,v,C,y,x=g.dataGrouping;if(null!==h&&null!==p){f.fixedRange=B;x&&(this.forcedDataGrouping=!0,H.prototype.setDataGrouping.call(k||{chart:this.chart},x,!1),this.frozenStates=g.preserveDataGrouping);if("month"===I||"year"===I)k?(I={range:g,max:n,chart:f,dataMin:h,dataMax:p},z=k.minFromRange.call(I),
106
+ e(I.newMax)&&(n=I.newMax)):B=g;else if(B)z=Math.max(n-B,h),n=Math.min(z+B,p);else if("ytd"===I)if(k)void 0===p&&(h=Number.MAX_VALUE,p=Number.MIN_VALUE,t(f.series,function(a){a=a.xData;h=Math.min(a[0],h);p=Math.max(a[a.length-1],p)}),d=!1),n=c.getYTDExtremes(p,h,f.time.useUTC),z=v=n.min,n=n.max;else{l(f,"beforeRender",function(){c.clickButton(a)});return}else"all"===I&&k&&(z=h,n=p);z+=g._offsetMin;n+=g._offsetMax;c.setSelected(a);k?k.setExtremes(z,n,b(d,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:g}):
107
+ (r=u(f.options.xAxis)[0],y=r.range,r.range=B,C=r.min,r.min=v,l(f,"load",function(){r.range=y;r.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,e=c.buttons||[].concat(b.defaultButtons),g=c.selected,k=function(){var a=b.minInput,
108
+ c=b.maxInput;a&&a.blur&&d(a,"blur");c&&c.blur&&d(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=e;this.unMouseDown=l(a.container,"mousedown",k);this.unResize=l(a,"resize",k);t(e,b.computeButtonRange);void 0!==g&&e[g]&&this.clickButton(g,!1);l(a,"load",function(){a.xAxis&&a.xAxis[0]&&l(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,
109
+ !1)})})},updateButtonStates:function(){var a=this,b=this.chart,d=b.xAxis[0],g=Math.round(d.max-d.min),k=!d.hasVisibleSeries,w=b.scroller&&b.scroller.getUnionExtremes()||d,B=w.dataMin,h=w.dataMax,b=a.getYTDExtremes(h,B,b.time.useUTC),p=b.min,z=b.max,l=a.selected,n=e(l),r=a.options.allButtonsEnabled,u=a.buttons;t(a.buttonOptions,function(b,c){var f=b._range,e=b.type,m=b.count||1,q=u[c],w=0;b=b._offsetMax-b._offsetMin;c=c===l;var A=f>h-B,t=f<d.minRange,I=!1,v=!1,f=f===g;("month"===e||"year"===e)&&g+
110
+ 36E5>=864E5*{month:28,year:365}[e]*m-b&&g-36E5<=864E5*{month:31,year:366}[e]*m+b?f=!0:"ytd"===e?(f=z-p+b===g,I=!c):"all"===e&&(f=d.max-d.min>=h-B,v=!c&&n&&f);e=!r&&(A||t||v||k);m=c&&f||f&&!n&&!I||c&&a.frozenStates;e?w=3:m&&(n=!0,w=2);q.state!==w&&q.setState(w)})},computeButtonRange:function(a){var c=a.type,d=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[c])a._range=e[c]*d;else if("month"===c||"year"===c)a._range=864E5*{month:30,year:365}[c]*d;a._offsetMin=
111
+ b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,f=this[a+"Input"];D(b)&&(f.previousValue=f.HCTime,f.HCTime=b);f.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",f.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",f.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];F(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+
112
+ "px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){F(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=p.value,b=(w.inputDateParser||Date.parse)(a),f=d.xAxis[0],g=d.scroller&&d.scroller.xAxis?d.scroller.xAxis:f,m=g.dataMin,g=g.dataMax;b!==p.previousValue&&(p.previousValue=b,e(b)||(b=a.split("-"),b=Date.UTC(k(b[0]),k(b[1])-1,k(b[2]))),e(b)&&(d.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),
113
+ h?b>c.maxInput.HCTime?b=void 0:b<m&&(b=m):b<c.minInput.HCTime?b=void 0:b>g&&(b=g),void 0!==b&&f.setExtremes(h?b:f.min,h?f.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var c=this,d=c.chart,g=d.renderer,w=d.options.rangeSelector,B=c.div,h="min"===a,p,z,l=this.inputGroup;this[a+"Label"]=z=g.label(C.lang[h?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(l);l.offset+=z.width+5;this[a+"DateBox"]=g=g.label("",l.offset).addClass("highcharts-range-input").attr({padding:2,
114
+ width:w.inputBoxWidth||90,height:w.inputBoxHeight||17,"text-align":"center"}).on("click",function(){c.showInput(a);c[a+"Input"].focus()}).add(l);l.offset+=g.width+(h?10:0);this[a+"Input"]=p=G("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:d.plotTop+"px"},B);p.onfocus=function(){c.showInput(a)};p.onblur=function(){c.hideInput(a)};p.onchange=b;p.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?
115
+ a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,d){var c=this.chart.time,f=new c.Date(a),e=c.get("FullYear",f);d=d?c.Date.UTC(e,0,1):+new c.Date(e,0,1);b=Math.max(b||0,d);f=f.getTime();return{max:Math.min(a||f,f),min:b}},render:function(a,d){var c=this,f=c.chart,e=f.renderer,g=f.container,k=f.options,h=k.exporting&&!1!==k.exporting.enabled&&k.navigation&&k.navigation.buttonOptions,p=C.lang,l=c.div,n=k.rangeSelector,r=
116
+ b(k.chart.style&&k.chart.style.zIndex,0)+1,k=n.floating,u=c.buttons,l=c.inputGroup,v=n.buttonTheme,y=n.buttonPosition,x=n.inputPosition,E=n.inputEnabled,D=v&&v.states,F=f.plotLeft,H,L=c.buttonGroup,J;J=c.rendered;var P=c.options.verticalAlign,R=f.legend,S=R&&R.options,T=y.y,Q=x.y,U=J||!1,V=U?"animate":"attr",O=0,M=0,N;if(!1!==n.enabled){J||(c.group=J=e.g("range-selector-group").attr({zIndex:7}).add(),c.buttonGroup=L=e.g("range-selector-buttons").add(J),c.zoomText=e.text(p.rangeSelectorZoom,0,15).css(n.labelStyle).add(L),
117
+ t(c.buttonOptions,function(a,b){u[b]=e.button(a.text,0,0,function(){var d=a.events&&a.events.click,f;d&&(f=d.call(a));!1!==f&&c.clickButton(b);c.isActive=!0},v,D&&D.hover,D&&D.select,D&&D.disabled).attr({"text-align":"center"}).add(L)}),!1!==E&&(c.div=l=G("div",null,{position:"relative",height:0,zIndex:r}),g.parentNode.insertBefore(l,g),c.inputGroup=l=e.g("input-group").add(J),l.offset=0,c.drawInput("min"),c.drawInput("max")));c.zoomText[V]({x:b(F+y.x,F)});H=b(F+y.x,F)+c.zoomText.getBBox().width+
118
+ 5;t(c.buttonOptions,function(a,c){u[c][V]({x:H});H+=u[c].width+b(n.buttonSpacing,5)});F=f.plotLeft-f.spacing[3];c.updateButtonStates();h&&this.titleCollision(f)&&"top"===P&&"right"===y.align&&y.y+L.getBBox().height-12<(h.y||0)+h.height&&(O=-40);"left"===y.align?N=y.x-f.spacing[3]:"right"===y.align&&(N=y.x+O-f.spacing[1]);L.align({y:y.y,width:L.getBBox().width,align:y.align,x:N},!0,f.spacingBox);c.group.placed=U;c.buttonGroup.placed=U;!1!==E&&(O=h&&this.titleCollision(f)&&"top"===P&&"right"===x.align&&
119
+ x.y-l.getBBox().height-12<(h.y||0)+h.height+f.spacing[0]?-40:0,"left"===x.align?N=F:"right"===x.align&&(N=-Math.max(f.axisOffset[1],-O)),l.align({y:x.y,width:l.getBBox().width,align:x.align,x:x.x+N-2},!0,f.spacingBox),g=l.alignAttr.translateX+l.alignOptions.x-O+l.getBBox().x+2,h=l.alignOptions.width,p=L.alignAttr.translateX+L.getBBox().x,N=L.getBBox().width+20,(x.align===y.align||p+N>g&&g+h>p&&T<Q+l.getBBox().height)&&l.attr({translateX:l.alignAttr.translateX+(f.axisOffset[1]>=-O?0:-O),translateY:l.alignAttr.translateY+
120
+ L.getBBox().height+10}),c.setInputValue("min",a),c.setInputValue("max",d),c.inputGroup.placed=U);c.group.align({verticalAlign:P},!0,f.spacingBox);a=c.group.getBBox().height+20;d=c.group.alignAttr.translateY;"bottom"===P&&(R=S&&"bottom"===S.verticalAlign&&S.enabled&&!S.floating?R.legendHeight+b(S.margin,10):0,a=a+R-20,M=d-a-(k?0:n.y)-10);if("top"===P)k&&(M=0),f.titleOffset&&(M=f.titleOffset+f.options.title.margin),M+=f.margin[0]-f.spacing[0]||0;else if("middle"===P)if(Q===T)M=0>Q?d+void 0:d;else if(Q||
121
+ T)M=0>Q||0>T?M-Math.min(Q,T):d-a+NaN;c.group.translate(n.x,n.y+Math.floor(M));!1!==E&&(c.minInput.style.marginTop=c.group.translateY+"px",c.maxInput.style.marginTop=c.group.translateY+"px");c.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,d=a.y,e=a.buttonPosition.y,a=a.inputPosition.y,b=b?b.getBBox(!0).height+13+d:0,d=Math.min(a,e);if(0>a&&0>e||0<a&&0<e)b+=Math.abs(d);return b},titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=
122
+ this.chart;g(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,d=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();r(b.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&y(this[c]));a!==x.prototype[c]&&(b[c]=null)},this)}};H.prototype.toFixedRange=function(a,d,g,k){var c=this.chart&&this.chart.fixedRange;a=b(g,this.translate(a,
123
+ !0,!this.horiz));d=b(k,this.translate(d,!0,!this.horiz));g=c&&(d-a)/c;.7<g&&1.3>g&&(k?a=d-c:d=a+c);e(a)&&e(d)||(a=d=void 0);return{min:a,max:d}};H.prototype.minFromRange=function(){var a=this.range,d={month:"Month",year:"FullYear"}[a.type],g,k=this.max,l,w,n=function(a,b){var c=new Date(a),e=c["get"+d]();c["set"+d](e+b);e===c["get"+d]()&&c.setDate(0);return c.getTime()-a};e(a)?(g=k-a,w=a):(g=k+n(k,-a.count),this.chart&&(this.chart.fixedRange=k-g));l=b(this.dataMin,Number.MIN_VALUE);e(g)||(g=l);g<=
124
+ l&&(g=l,void 0===w&&(w=n(g,a.count)),this.newMax=Math.min(g+w,this.dataMax));e(k)||(g=void 0);return g};l(v,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new x(this))});n(v.prototype,"render",function(a,b,d){var c=this.axes,e=this.rangeSelector;e&&(t(c,function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),e.render(),c=e.options.verticalAlign,e.options.floating||("bottom"===c?this.extraBottomMargin=!0:"middle"!==c&&(this.extraTopMargin=!0)));a.call(this,
125
+ b,d)});l(v,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!D(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new x(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=
126
+ !0)});n(v.prototype,"redraw",function(a,b,d){var c=this.rangeSelector;c&&!c.options.floating&&(c.render(),c=c.options.verticalAlign,"bottom"===c?this.extraBottomMargin=!0:"middle"!==c&&(this.extraTopMargin=!0));a.call(this,b,d)});l(v,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))});v.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();e(c.min)&&d.render(c.min,c.max)}
127
+ var c,d=a.rangeSelector,g,k;d&&(k=l(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),g=l(a,"redraw",b),b());l(a,"destroy",function(){d&&(g(),k())})});a.RangeSelector=x})(J);(function(a){var x=a.addEvent,l=a.arrayMax,H=a.arrayMin,v=a.Axis,F=a.Chart,G=a.defined,C=a.each,D=a.format,r=a.grep,y=a.inArray,t=a.isNumber,E=a.isString,d=a.map,e=a.merge,g=a.pick,b=a.Point,k=a.Series,u=a.splat,n=a.SVGRenderer,c=a.wrap,f=k.prototype,q=f.init,m=f.processData,A=b.prototype.tooltipFormatter;a.StockChart=
128
+ a.stockChart=function(b,c,f){var h=E(b)||b.nodeName,k=arguments[h?1:0],l=k.series,w=a.getOptions(),m,n=g(k.navigator&&k.navigator.enabled,w.navigator.enabled,!0),B=n?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},q={shadow:!1,borderWidth:0};k.xAxis=d(u(k.xAxis||{}),function(a,b){return e({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},w.xAxis,w.xAxis&&w.xAxis[b],a,{type:"datetime",categories:null},B)});k.yAxis=
129
+ d(u(k.yAxis||{}),function(a,b){m=g(a.opposite,!0);return e({labels:{y:-2},opposite:m,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},w.yAxis,w.yAxis&&w.yAxis[b],a)});k.series=null;k=e({chart:{panning:!0,pinchType:"x"},navigator:{enabled:n},scrollbar:{enabled:g(w.scrollbar.enabled,!0)},rangeSelector:{enabled:g(w.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:g(w.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,
130
+ arearange:t,areasplinerange:t,column:q,columnrange:q,candlestick:q,ohlc:q}},k,{isStock:!0});k.series=l;return h?new F(b,k,f):new F(k,c)};c(v.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.apply(this,[].slice.call(arguments,1))});x(v,"destroy",function(){var a=
131
+ this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});c(v.prototype,"getPlotLinePath",function(b,c,e,f,k,l){var h=this,w=this.isLinked&&!this.series?this.linkedParent.series:this.series,m=h.chart,p=m.renderer,n=h.left,B=h.top,q,r,u,v,z=[],x=[],A,D;if("xAxis"!==h.coll&&"yAxis"!==h.coll)return b.apply(this,[].slice.call(arguments,1));x=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=h.options[b];return t(a)?[m[b][a]]:
132
+ E(a)?[m.get(a)]:d(w,function(a){return a[b]})}(h.coll);C(h.isXAxis?m.yAxis:m.xAxis,function(a){if(G(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=G(a.options[b])?m[b][a.options[b]]:m[b][0];h===b&&x.push(a)}});A=x.length?[]:[h.isXAxis?m.yAxis[0]:m.xAxis[0]];C(x,function(b){-1!==y(b,A)||a.find(A,function(a){return a.pos===b.pos&&a.len===b.len})||A.push(b)});D=g(l,h.translate(c,null,null,f));t(D)&&(h.horiz?C(A,function(a){var b;r=a.pos;v=r+a.len;q=u=Math.round(D+
133
+ h.transB);"pass"!==k&&(q<n||q>n+h.width)&&(k?q=u=Math.min(Math.max(n,q),n+h.width):b=!0);b||z.push("M",q,r,"L",u,v)}):C(A,function(a){var b;q=a.pos;u=q+a.len;r=v=Math.round(B+h.height-D);"pass"!==k&&(r<B||r>B+h.height)&&(k?r=v=Math.min(Math.max(B,r),h.top+h.height):b=!0);b||z.push("M",q,r,"L",u,v)}));return 0<z.length?p.crispPolyLine(z,e||1):null});n.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+
134
+ 2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};c(v.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});x(v,"afterDrawCrosshair",function(a){var b,c;if(G(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,f=this.horiz;b=this.opposite;c=this.left;var k=this.top,l=this.crossLabel,m=e.format,n="",w="inside"===this.options.tickPosition,q=!1!==this.crosshair.snap,t=0,r=a.e||this.cross&&
135
+ this.cross.e,u=a.point;a=this.lin2log;var v,x;this.isLog?(v=a(this.min),x=a(this.max)):(v=this.min,x=this.max);a=f?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";l||(l=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:g(e.padding,8),r:g(e.borderRadius,3),zIndex:2}).add(this.labelGroup));f?(a=q?u.plotX+
136
+ c:r.chartX,k+=b?0:this.height):(a=b?this.width+c:0,k=q?u.plotY+k:r.chartY);m||e.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),m="{value"+(n?":"+n:"")+"}");n=q?u[this.isXAxis?"x":"y"]:this.toValue(f?r.chartX:r.chartY);l.attr({text:m?D(m,{value:n},d.time):e.formatter.call(this,n),x:a,y:k,visibility:n<v||n>x?"hidden":"visible"});e=l.getBBox();if(f){if(w&&!b||!w&&b)k=l.y-e.height}else k=l.y-e.height/2;f?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:
137
+ d.chartWidth);l.translateX<b&&(t=b-l.translateX);l.translateX+e.width>=c&&(t=-(l.translateX+e.width-c));l.attr({x:a+t,y:k,anchorX:f?a:this.opposite?0:d.chartWidth,anchorY:f?this.opposite?d.chartHeight:0:k+e.height/2})}});f.init=function(){q.apply(this,arguments);this.setCompare(this.options.compare)};f.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:
138
+ 100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};f.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart?0:1,f,g;m.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,f=d.length,this.pointArrayMap&&(b=y("close",this.pointArrayMap),-1===b&&(b=y(this.pointValKey||"y",this.pointArrayMap))),a=0;a<f-e;a++)if(g=d[a]&&-1<b?d[a][b]:d[a],t(g)&&c[a+e]>=this.xAxis.min&&0!==g){this.compareValue=
139
+ g;break}};c(f,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=H(b),this.dataMax=l(b))});v.prototype.setCompare=function(a,b){this.isXAxis||(C(this.series,function(b){b.setCompare(a)}),g(b,!0)&&this.chart.redraw())};b.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,g(this.series.tooltipOptions.changeDecimals,
140
+ 2)));return A.apply(this,[b])};c(k.prototype,"render",function(a){var b;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(b=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=e(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=b):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:b}):this.clipBox&&(this.clipBox.width=
141
+ this.xAxis.len,this.clipBox.height=b));a.call(this)});c(F.prototype,"getSelectedPoints",function(a){var b=a.call(this);C(this.series,function(a){a.hasGroupedData&&(b=b.concat(r(a.points||[],function(a){return a.selected})))});return b});x(F,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(e(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})})(J)});
142
+ //# sourceMappingURL=stock.js.map