highcharts 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
package/modules/stock.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Highstock as a plugin for Highcharts
5
5
 
@@ -7,148 +7,149 @@
7
7
 
8
8
  License: www.highcharts.com/license
9
9
  */
10
- (function(q){"object"===typeof module&&module.exports?(q["default"]=q,module.exports=q):"function"===typeof define&&define.amd?define("highcharts/modules/stock",["highcharts"],function(B){q(B);q.Highcharts=B;return q}):q("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(q){function B(c,E,r,q){c.hasOwnProperty(E)||(c[E]=q.apply(null,r))}q=q?q._modules:{};B(q,"parts/Scrollbar.js",[q["parts/Globals.js"]],function(c){function E(b,k,v){this.init(b,k,v)}var r=c.addEvent,q=c.Axis,u=c.correctFloat,
11
- z=c.defaultOptions,A=c.defined,x=c.destroyObjectProperties,D=c.fireEvent,C=c.hasTouch,l=c.merge,g=c.pick,t=c.removeEvent,p,d={height:c.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",
12
- trackBorderWidth:1};z.scrollbar=l(!0,d,z.scrollbar);c.swapXY=p=function(b,k){var v=b.length,a;if(k)for(k=0;k<v;k+=3)a=b[k+1],b[k+1]=b[k+2],b[k+2]=a;return b};E.prototype={init:function(b,k,v){this.scrollbarButtons=[];this.renderer=b;this.userOptions=k;this.options=l(d,k);this.chart=v;this.size=g(this.options.size,this.options.height);k.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var b=this.renderer,k=this.options,v=this.size,a=this.chart.styledMode,n;this.group=
13
- n=b.g("scrollbar").attr({zIndex:k.zIndex,translateY:-99999}).add();this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:k.trackBorderRadius||0,height:v,width:v}).add(n);a||this.track.attr({fill:k.trackBackgroundColor,stroke:k.trackBorderColor,"stroke-width":k.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=b.g().add(n);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:v,
14
- width:v,r:k.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(p(["M",-3,v/4,"L",-3,2*v/3,"M",0,v/4,"L",0,2*v/3,"M",3,v/4,"L",3,2*v/3],k.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);a||(this.scrollbar.attr({fill:k.barBackgroundColor,stroke:k.barBorderColor,"stroke-width":k.barBorderWidth}),this.scrollbarRifles.attr({stroke:k.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%
15
- 2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(b,k,v,a){var n=this.options.vertical,m=0,d=this.rendered?"animate":"attr";this.x=b;this.y=k+this.trackBorderWidth;this.width=v;this.xOffset=this.height=a;this.yOffset=m;n?(this.width=this.yOffset=v=m=this.size,this.xOffset=k=0,this.barWidth=a-2*v,this.x=b+=this.options.margin):(this.height=this.xOffset=a=k=this.size,this.barWidth=v-2*a,this.y+=this.options.margin);this.group[d]({translateX:b,
16
- translateY:this.y});this.track[d]({width:v,height:a});this.scrollbarButtons[1][d]({translateX:n?0:v-k,translateY:n?a-m:0})},drawScrollbarButton:function(b){var k=this.renderer,d=this.scrollbarButtons,a=this.options,n=this.size,m;m=k.g().add(this.group);d.push(m);m=k.rect().addClass("highcharts-scrollbar-button").add(m);this.chart.styledMode||m.attr({stroke:a.buttonBorderColor,"stroke-width":a.buttonBorderWidth,fill:a.buttonBackgroundColor});m.attr(m.crisp({x:-.5,y:-.5,width:n+1,height:n+1,r:a.buttonBorderRadius},
17
- m.strokeWidth()));m=k.path(p(["M",n/2+(b?-1:1),n/2-3,"L",n/2+(b?-1:1),n/2+3,"L",n/2+(b?2:-2),n/2],a.vertical)).addClass("highcharts-scrollbar-arrow").add(d[b]);this.chart.styledMode||m.attr({fill:a.buttonArrowColor})},setRange:function(b,k){var d=this.options,a=d.vertical,n=d.minWidth,m=this.barWidth,c,h,e=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";A(m)&&(b=Math.max(b,0),c=Math.ceil(m*b),this.calculatedWidth=h=u(m*Math.min(k,1)-c),h<n&&
18
- (c=(m-n+h)*b,h=n),n=Math.floor(c+this.xOffset+this.yOffset),m=h/2-.5,this.from=b,this.to=k,a?(this.scrollbarGroup[e]({translateY:n}),this.scrollbar[e]({height:h}),this.scrollbarRifles[e]({translateY:m}),this.scrollbarTop=n,this.scrollbarLeft=0):(this.scrollbarGroup[e]({translateX:n}),this.scrollbar[e]({width:h}),this.scrollbarRifles[e]({translateX:m}),this.scrollbarLeft=n,this.scrollbarTop=0),12>=h?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===d.showFull&&(0>=b&&1<=k?this.group.hide():
19
- this.group.show()),this.rendered=!0)},initEvents:function(){var b=this;b.mouseMoveHandler=function(k){var d=b.chart.pointer.normalize(k),a=b.options.vertical?"chartY":"chartX",n=b.initPositions;!b.grabbedCenter||k.touches&&0===k.touches[0][a]||(d=b.cursorToScrollbarPosition(d)[a],a=b[a],a=d-a,b.hasDragged=!0,b.updatePosition(n[0]+a,n[1]+a),b.hasDragged&&D(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMType:k.type,DOMEvent:k}))};b.mouseUpHandler=function(k){b.hasDragged&&D(b,"changed",{from:b.from,
20
- to:b.to,trigger:"scrollbar",DOMType:k.type,DOMEvent:k});b.grabbedCenter=b.hasDragged=b.chartX=b.chartY=null};b.mouseDownHandler=function(k){k=b.chart.pointer.normalize(k);k=b.cursorToScrollbarPosition(k);b.chartX=k.chartX;b.chartY=k.chartY;b.initPositions=[b.from,b.to];b.grabbedCenter=!0};b.buttonToMinClick=function(k){var d=u(b.to-b.from)*b.options.step;b.updatePosition(u(b.from-d),u(b.to-d));D(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:k})};b.buttonToMaxClick=function(k){var d=
21
- (b.to-b.from)*b.options.step;b.updatePosition(b.from+d,b.to+d);D(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:k})};b.trackClick=function(k){var d=b.chart.pointer.normalize(k),a=b.to-b.from,n=b.y+b.scrollbarTop,m=b.x+b.scrollbarLeft;b.options.vertical&&d.chartY>n||!b.options.vertical&&d.chartX>m?b.updatePosition(b.from+a,b.to+a):b.updatePosition(b.from-a,b.to-a);D(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:k})}},cursorToScrollbarPosition:function(b){var k=this.options,
22
- k=k.minWidth>this.calculatedWidth?k.minWidth:0;return{chartX:(b.chartX-this.x-this.xOffset)/(this.barWidth-k),chartY:(b.chartY-this.y-this.yOffset)/(this.barWidth-k)}},updatePosition:function(b,k){1<k&&(b=u(1-u(k-b)),k=1);0>b&&(k=u(k-b),b=0);this.from=b;this.to=k},update:function(b){this.destroy();this.init(this.chart.renderer,l(!0,this.options,b),this.chart)},addEvents:function(){var b=this.options.inverted?[1,0]:[0,1],k=this.scrollbarButtons,d=this.scrollbarGroup.element,a=this.mouseDownHandler,
23
- n=this.mouseMoveHandler,m=this.mouseUpHandler,b=[[k[b[0]].element,"click",this.buttonToMinClick],[k[b[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",a],[d.ownerDocument,"mousemove",n],[d.ownerDocument,"mouseup",m]];C&&b.push([d,"touchstart",a],[d.ownerDocument,"touchmove",n],[d.ownerDocument,"touchend",m]);b.forEach(function(b){r.apply(null,b)});this._events=b},removeEvents:function(){this._events.forEach(function(b){t.apply(null,b)});this._events.length=
24
- 0},destroy:function(){var b=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){this[b]&&this[b].destroy&&(this[b]=this[b].destroy())},this);b&&this===b.scrollbar&&(b.scrollbar=null,x(b.scrollbarButtons))}};c.Scrollbar||(r(q,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new E(b.chart.renderer,
25
- b.options.scrollbar,b.chart),r(b.scrollbar,"changed",function(k){var d=Math.min(g(b.options.min,b.min),b.min,b.dataMin),a=Math.max(g(b.options.max,b.max),b.max,b.dataMax)-d,n;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(n=d+a*this.to,d+=a*this.from):(n=d+a*(1-this.from),d+=a*(1-this.to));g(this.options.liveRedraw,c.svg&&!c.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===k.DOMType||!A(k.DOMType)?b.setExtremes(d,n,!0,"mousemove"!==k.DOMType,k):this.setRange(this.from,this.to)}))}),r(q,"afterRender",
26
- function(){var b=Math.min(g(this.options.min,this.min),this.min,g(this.dataMin,this.min)),k=Math.max(g(this.options.max,this.max),this.max,g(this.dataMax,this.max)),d=this.scrollbar,a=this.titleOffset||0;if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:a+this.axisTitleMargin+this.offset),this.width,this.height),a=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?a+this.axisTitleMargin+this.offset:0),this.top,
27
- this.width,this.height),a=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[a]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(b)||isNaN(k)||!A(this.min)||!A(this.max)?d.setRange(0,0):(a=(this.min-b)/(k-b),b=(this.max-b)/(k-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(a,b):d.setRange(1-b,1-a))}}),r(q,"afterGetOffset",function(){var b=this.horiz?2:1,d=this.scrollbar;d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[b]+=
28
- d.size+d.options.margin)}),c.Scrollbar=E)});B(q,"parts/Navigator.js",[q["parts/Globals.js"]],function(c){function E(h){this.init(h)}var r=c.addEvent,q=c.Axis,u=c.Chart,z=c.color,A=c.defaultOptions,x=c.defined,D=c.destroyObjectProperties,C=c.erase,l=c.extend,g=c.hasTouch,t=c.isArray,p=c.isNumber,d=c.isTouchDevice,b=c.merge,k=c.pick,v=c.removeEvent,a=c.Scrollbar,n=c.Series,m,w=function(h){var e=[].filter.call(arguments,p);if(e.length)return Math[h].apply(0,e)};m=void 0===c.seriesTypes.areaspline?"line":
29
- "areaspline";l(A,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:z("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:m,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,
30
- 15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},
31
- crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});c.Renderer.prototype.symbols["navigator-handle"]=function(h,e,f,b,a){h=a.width/2;e=Math.round(h/3)+.5;a=a.height;return["M",-h-1,.5,"L",h,.5,"L",h,a+.5,"L",-h-1,a+.5,"L",-h-1,.5,"M",-e,4,"L",-e,a-3,"M",e-1,4,"L",e-1,a-3]};q.prototype.toFixedRange=function(h,e,f,b){var a=this.chart&&this.chart.fixedRange;
32
- h=k(f,this.translate(h,!0,!this.horiz));e=k(b,this.translate(e,!0,!this.horiz));f=a&&(e-h)/a;.7<f&&1.3>f&&(b?h=e-a:e=h+a);p(h)&&p(e)||(h=e=void 0);return{min:h,max:e}};E.prototype={drawHandle:function(h,e,f,b){var a=this.navigatorOptions.handles.height;this.handles[e][b](f?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(h,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(h,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})},drawOutline:function(h,
33
- e,f,b){var a=this.navigatorOptions.maskInside,y=this.outline.strokeWidth(),d=y/2,y=y%2/2,k=this.outlineHeight,m=this.scrollbarHeight,n=this.size,c=this.left-m,g=this.top;f?(c-=d,f=g+e+y,e=g+h+y,h=["M",c+k,g-m-y,"L",c+k,f,"L",c,f,"L",c,e,"L",c+k,e,"L",c+k,g+n+m].concat(a?["M",c+k,f-d,"L",c+k,e+d]:[])):(h+=c+m-y,e+=c+m-y,g+=d,h=["M",c,g,"L",h,g,"L",h,g+k,"L",e,g+k,"L",e,g,"L",c+n+2*m,g].concat(a?["M",h-d,g,"L",e+d,g]:[]));this.outline[b]({d:h})},drawMasks:function(h,e,f,b){var a=this.left,y=this.top,
34
- d=this.height,k,m,n,c;f?(n=[a,a,a],c=[y,y+h,y+e],m=[d,d,d],k=[h,e-h,this.size-e]):(n=[a,a+h,a+e],c=[y,y,y],m=[h,e-h,this.size-e],k=[d,d,d]);this.shades.forEach(function(f,e){f[b]({x:n[e],y:c[e],width:m[e],height:k[e]})})},renderElements:function(){var h=this,e=h.navigatorOptions,f=e.maskInside,a=h.chart,b=a.renderer,d,k={cursor:a.inverted?"ns-resize":"ew-resize"};h.navigatorGroup=d=b.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!f,f,!f].forEach(function(f,y){h.shades[y]=b.rect().addClass("highcharts-navigator-mask"+
35
- (1===y?"-inside":"-outside")).add(d);a.styledMode||h.shades[y].attr({fill:f?e.maskFill:"rgba(0,0,0,0)"}).css(1===y&&k)});h.outline=b.path().addClass("highcharts-navigator-outline").add(d);a.styledMode||h.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor});e.handles.enabled&&[0,1].forEach(function(f){e.handles.inverted=a.inverted;h.handles[f]=b.symbol(e.handles.symbols[f],-e.handles.width/2-1,0,e.handles.width,e.handles.height,e.handles);h.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
36
- ["left","right"][f]).add(d);if(!a.styledMode){var y=e.handles;h.handles[f].attr({fill:y.backgroundColor,stroke:y.borderColor,"stroke-width":y.lineWidth}).css(k)}})},update:function(h){(this.series||[]).forEach(function(e){e.baseSeries&&delete e.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,h);this.init(this.chart)},render:function(h,e,f,a){var b=this.chart,y,d,m=this.scrollbarHeight,n,g=this.xAxis;y=g.fake?b.xAxis[0]:g;var l=this.navigatorEnabled,w,v=this.rendered;
37
- d=b.inverted;var t,r=b.xAxis[0].minRange,u=b.xAxis[0].options.maxRange;if(!this.hasDragged||x(f)){if(!p(h)||!p(e))if(v)f=0,a=k(g.width,y.width);else return;this.left=k(g.left,b.plotLeft+m+(d?b.plotWidth:0));this.size=w=n=k(g.len,(d?b.plotHeight:b.plotWidth)-2*m);b=d?m:n+2*m;f=k(f,g.toPixels(h,!0));a=k(a,g.toPixels(e,!0));p(f)&&Infinity!==Math.abs(f)||(f=0,a=b);h=g.toValue(f,!0);e=g.toValue(a,!0);t=Math.abs(c.correctFloat(e-h));t<r?this.grabbedLeft?f=g.toPixels(e-r,!0):this.grabbedRight&&(a=g.toPixels(h+
38
- r,!0)):x(u)&&t>u&&(this.grabbedLeft?f=g.toPixels(e-u,!0):this.grabbedRight&&(a=g.toPixels(h+u,!0)));this.zoomedMax=Math.min(Math.max(f,a,0),w);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,a),0),w);this.range=this.zoomedMax-this.zoomedMin;w=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"visible"}),v=v&&!this.hasDragged?"animate":"attr",this.drawMasks(f,w,d,v),this.drawOutline(f,w,d,v),this.navigatorOptions.handles.enabled&&
39
- (this.drawHandle(f,0,d,v),this.drawHandle(w,1,d,v)));this.scrollbar&&(d?(d=this.top-m,y=this.left-m+(l||!y.opposite?0:(y.titleOffset||0)+y.axisTitleMargin),m=n+2*m):(d=this.top+(l?this.height:-m),y=this.left-m),this.scrollbar.position(y,d,b,m),this.scrollbar.setRange(this.zoomedMin/(n||1),this.zoomedMax/(n||1)));this.rendered=!0}},addMouseEvents:function(){var h=this,e=h.chart,f=e.container,a=[],b,d;h.mouseMoveHandler=b=function(f){h.onMouseMove(f)};h.mouseUpHandler=d=function(f){h.onMouseUp(f)};
40
- a=h.getPartsEvents("mousedown");a.push(r(f,"mousemove",b),r(f.ownerDocument,"mouseup",d));g&&(a.push(r(f,"touchmove",b),r(f.ownerDocument,"touchend",d)),a.concat(h.getPartsEvents("touchstart")));h.eventsToUnbind=a;h.series&&h.series[0]&&a.push(r(h.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(h){var e=this,f=[];["shades","handles"].forEach(function(a){e[a].forEach(function(b,y){f.push(r(b.element,h,function(f){e[a+"Mousedown"](f,y)}))})});
41
- return f},shadesMousedown:function(h,e){h=this.chart.pointer.normalize(h);var f=this.chart,a=this.xAxis,b=this.zoomedMin,d=this.left,k=this.size,m=this.range,n=h.chartX,c,g;f.inverted&&(n=h.chartY,d=this.top);1===e?(this.grabbedCenter=n,this.fixedWidth=m,this.dragOffset=n-b):(h=n-d-m/2,0===e?h=Math.max(0,h):2===e&&h+m>=k&&(h=k-m,this.reversedExtremes?(h-=m,g=this.getUnionExtremes().dataMin):c=this.getUnionExtremes().dataMax),h!==b&&(this.fixedWidth=m,e=a.toFixedRange(h,h+m,g,c),x(e.min)&&f.xAxis[0].setExtremes(Math.min(e.min,
42
- e.max),Math.max(e.min,e.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(h,e){this.chart.pointer.normalize(h);h=this.chart;var f=h.xAxis[0],a=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?f.min:f.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?f.max:f.min);h.fixedRange=null},onMouseMove:function(h){var e=this,f=e.chart,a=e.left,b=e.navigatorSize,m=e.range,n=e.dragOffset,g=f.inverted;h.touches&&
43
- 0===h.touches[0].pageX||(h=f.pointer.normalize(h),f=h.chartX,g&&(a=e.top,f=h.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,f-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,f-a)):e.grabbedCenter&&(e.hasDragged=!0,f<n?f=n:f>b+n-m&&(f=b+n-m),e.render(0,0,f-n,f-n+m)),e.hasDragged&&e.scrollbar&&k(e.scrollbar.options.liveRedraw,c.svg&&!d&&!this.chart.isBoosting)&&(h.DOMType=h.type,setTimeout(function(){e.onMouseUp(h)},0)))},onMouseUp:function(a){var e=this.chart,
44
- f=this.xAxis,h=this.scrollbar,b,d,m=a.DOMEvent||a;(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==a.trigger||(h=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?b=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(d=this.fixedExtreme),this.zoomedMax===this.size&&(d=this.reversedExtremes?h.dataMin:h.dataMax),0===this.zoomedMin&&(b=this.reversedExtremes?h.dataMax:h.dataMin),f=f.toFixedRange(this.zoomedMin,this.zoomedMax,b,d),x(f.min)&&e.xAxis[0].setExtremes(Math.min(f.min,f.max),
45
- Math.max(f.min,f.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:m}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&
46
- a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(e){v(e,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&v(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(h){var e=h.options,f=e.navigator,d=f.enabled,m=e.scrollbar,n=m.enabled,e=d?f.height:0,c=n?m.height:0;this.handles=[];this.shades=[];this.chart=h;this.setBaseSeries();this.height=e;this.scrollbarHeight=c;this.scrollbarEnabled=n;this.navigatorEnabled=d;this.navigatorOptions=f;this.scrollbarOptions=
47
- m;this.outlineHeight=e+c;this.opposite=k(f.opposite,!d&&h.inverted);var g=this,d=g.baseSeries,m=h.xAxis.length,n=h.yAxis.length,l=d&&d[0]&&d[0].xAxis||h.xAxis[0]||{options:{}};h.isDirtyBox=!0;g.navigatorEnabled?(g.xAxis=new q(h,b({breaks:l.options.breaks,ordinal:l.options.ordinal},f.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:m,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},h.inverted?{offsets:[c,
48
- 0,-c,0],width:e}:{offsets:[0,-c,0,c],height:e})),g.yAxis=new q(h,b(f.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:n,isInternal:!0,zoomEnabled:!1},h.inverted?{width:e}:{height:e})),d||f.series.data?g.updateNavigatorSeries(!1):0===h.series.length&&(g.unbindRedraw=r(h,"beforeRedraw",function(){0<h.series.length&&!g.series&&(g.setBaseSeries(),g.unbindRedraw())})),g.reversedExtremes=h.inverted&&!g.xAxis.reversed||!h.inverted&&g.xAxis.reversed,g.renderElements(),g.addMouseEvents()):g.xAxis=
49
- {translate:function(f,e){var a=h.xAxis[0],b=a.getExtremes(),d=a.len-2*c,m=w("min",a.options.min,b.dataMin),a=w("max",a.options.max,b.dataMax)-m;return e?f*a/d+m:d*(f-m)/a},toPixels:function(f){return this.translate(f)},toValue:function(f){return this.translate(f,!0)},toFixedRange:q.prototype.toFixedRange,fake:!0};h.options.scrollbar.enabled&&(h.scrollbar=g.scrollbar=new a(h.renderer,b(h.options.scrollbar,{margin:g.navigatorEnabled?0:10,vertical:h.inverted}),h),r(g.scrollbar,"changed",function(f){var a=
50
- g.size,e=a*this.to,a=a*this.from;g.hasDragged=g.scrollbar.hasDragged;g.render(0,0,a,e);(h.options.scrollbar.liveRedraw||"mousemove"!==f.DOMType&&"touchmove"!==f.DOMType)&&setTimeout(function(){g.onMouseUp(f)})}));g.addBaseSeriesEvents();g.addChartEvents()},getUnionExtremes:function(a){var e=this.chart.xAxis[0],f=this.xAxis,b=f.options,h=e.options,d;a&&null===e.dataMin||(d={dataMin:k(b&&b.min,w("min",h.min,e.dataMin,f.dataMin,f.min)),dataMax:k(b&&b.max,w("max",h.max,e.dataMax,f.dataMax,f.max))});return d},
51
- setBaseSeries:function(a,e){var f=this.chart,b=this.baseSeries=[];a=a||f.options&&f.options.navigator.baseSeries||(f.series.length?c.find(f.series,function(f){return!f.options.isInternal}).index:0);(f.series||[]).forEach(function(f,e){f.options.isInternal||!f.options.showInNavigator&&(e!==a&&f.options.id!==a||!1===f.options.showInNavigator)||b.push(f)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,e)},updateNavigatorSeries:function(a,e){var f=this,h=f.chart,d=f.baseSeries,m,n,k=f.navigatorOptions.series,
52
- g,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,states:{inactive:{opacity:1}}},p=f.series=(f.series||[]).filter(function(a){var e=a.baseSeries;return 0>d.indexOf(e)?(e&&(v(e,"updatedData",f.updatedDataHandler),delete e.navigatorSeries),a.chart&&a.destroy(),!1):!0});d&&d.length&&d.forEach(function(a){var y=a.navigatorSeries,c=l({color:a.color,visible:a.visible},t(k)?A.navigator.series:
53
- k);y&&!1===f.navigatorOptions.adaptToUpdatedData||(w.name="Navigator "+d.length,m=a.options||{},g=m.navigatorOptions||{},n=b(m,w,c,g),c=g.data||c.data,f.hasNavigatorData=f.hasNavigatorData||!!c,n.data=c||m.data&&m.data.slice(0),y&&y.options?y.update(n,e):(a.navigatorSeries=h.initSeries(n),a.navigatorSeries.baseSeries=a,p.push(a.navigatorSeries)))});if(k.data&&(!d||!d.length)||t(k))f.hasNavigatorData=!1,k=c.splat(k),k.forEach(function(a,e){w.name="Navigator "+(p.length+1);n=b(A.navigator.series,{color:h.series[e]&&
54
- !h.series[e].options.isInternal&&h.series[e].color||h.options.colors[e]||h.options.colors[0]},w,a);n.data=a.data;n.data&&(f.hasNavigatorData=!0,p.push(h.initSeries(n)))});a&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,e=a.baseSeries||[];e[0]&&e[0].xAxis&&r(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);e.forEach(function(f){r(f,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});r(f,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
55
- !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&f.xAxis&&r(f,"updatedData",this.updatedDataHandler);r(f,"remove",function(){this.navigatorSeries&&(C(a.series,this.navigatorSeries),x(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,f){return Math.min(a,f.xData?f.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,e;a.getExtremes&&(!(e=this.getUnionExtremes(!0))||
56
- e.dataMin===a.min&&e.dataMax===a.max||(a.min=e.dataMin,a.max=e.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,e=this.getExtremes(),f=e.dataMin,b=e.dataMax,e=e.max-e.min,d=a.stickToMin,m=a.stickToMax,n=k(this.options.overscroll,0),g,c,l=a.series&&a.series[0],w=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(d&&(c=f,g=c+e),m&&(g=b+n,d||(c=Math.max(g-e,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE)))),w&&(d||m)&&p(c)&&(this.min=
57
- this.userMin=c,this.max=this.userMax=g));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,e=this.navigatorSeries,f=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=p(this.xAxis.min)&&this.xAxis.min<=f&&(!this.chart.fixedRange||!a.stickToMax);e&&!a.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||
58
- (this.eventsToUnbind=[]);this.eventsToUnbind.push(r(this.chart,"redraw",function(){var a=this.navigator,e=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);e&&a.render(e.min,e.max)}),r(this.chart,"getMargins",function(){var a=this.navigator,e=a.opposite?"plotTop":"marginBottom";this.inverted&&(e=a.opposite?"marginRight":"plotLeft");this[e]=(this[e]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();
59
- this.xAxis&&(C(this.chart.xAxis,this.xAxis),C(this.chart.axes,this.xAxis));this.yAxis&&(C(this.chart.yAxis,this.yAxis),C(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){D(a)},this)}};c.Navigator||(c.Navigator=E,
60
- r(q,"zoom",function(a){var e=this.chart.options,f=e.chart.zoomType,b=e.chart.pinchType,h=e.navigator,e=e.rangeSelector;this.isXAxis&&(h&&h.enabled||e&&e.enabled)&&("y"===f?a.zoomed=!1:(!d&&"xy"===f||d&&"xy"===b)&&this.options.range&&(f=this.previousZoom,x(a.newMin)?this.previousZoom=[this.min,this.max]:f&&(a.newMin=f[0],a.newMax=f[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),r(u,"beforeShowResetZoom",function(){var a=this.options,e=a.navigator,f=a.rangeSelector;if((e&&e.enabled||
61
- f&&f.enabled)&&(!d&&"x"===a.chart.zoomType||d&&"x"===a.chart.pinchType))return!1}),r(u,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new E(this)}),r(u,"afterSetChartSize",function(){var a=this.legend,e=this.navigator,f,b,d,m;e&&(b=a&&a.options,d=e.xAxis,m=e.yAxis,f=e.scrollbarHeight,this.inverted?(e.left=e.opposite?this.chartWidth-f-e.height:this.spacing[3]+f,e.top=this.plotTop+f):(e.left=this.plotLeft+f,e.top=e.navigatorOptions.top||
62
- this.chartHeight-e.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(b&&"bottom"===b.verticalAlign&&b.enabled&&!b.floating?a.legendHeight+k(b.margin,10):0)),d&&m&&(this.inverted?d.options.left=m.options.left=e.left:d.options.top=m.options.top=e.top,d.setAxisSize(),m.setAxisSize()))}),r(u,"update",function(a){var e=a.options.navigator||{},f=a.options.scrollbar||{};this.navigator||this.scroller||!e.enabled&&!f.enabled||(b(!0,this.options.navigator,
63
- e),b(!0,this.options.scrollbar,f),delete a.options.navigator,delete a.options.scrollbar)}),r(u,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new E(this),k(a.redraw,!0)&&this.redraw(a.animation))}),r(u,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),r(n,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,
64
- !1)}),u.prototype.callbacks.push(function(a){var e=a.navigator;e&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),e.render(a.min,a.max))}))});B(q,"parts/OrdinalAxis.js",[q["parts/Globals.js"]],function(c){var E=c.addEvent,r=c.Axis,q=c.Chart,u=c.css,z=c.defined,A=c.extend,x=c.noop,D=c.pick,C=c.timeUnits;E(c.Series,"updatedData",function(){var c=this.xAxis;c&&c.options.ordinal&&delete c.ordinalIndex});r.prototype.getTimeTicks=function(c,g,t,p,d,b,k){var l=0,a,n,m={},w,h,e,f=[],y=-Number.MAX_VALUE,G=this.options.tickPixelInterval,
65
- F=this.chart.time,H=[];if(!this.options.ordinal&&!this.options.breaks||!d||3>d.length||void 0===g)return F.getTimeTicks.apply(F,arguments);h=d.length;for(a=0;a<h;a++){e=a&&d[a-1]>t;d[a]<g&&(l=a);if(a===h-1||d[a+1]-d[a]>5*b||e){if(d[a]>y){for(n=F.getTimeTicks(c,d[l],d[a],p);n.length&&n[0]<=y;)n.shift();n.length&&(y=n[n.length-1]);H.push(f.length);f=f.concat(n)}l=a+1}if(e)break}n=n.info;if(k&&n.unitRange<=C.hour){a=f.length-1;for(l=1;l<a;l++)F.dateFormat("%d",f[l])!==F.dateFormat("%d",f[l-1])&&(m[f[l]]=
66
- "day",w=!0);w&&(m[f[0]]="day");n.higherRanks=m}n.segmentStarts=H;f.info=n;if(k&&z(G)){l=H=f.length;w=[];for(var r,F=[];l--;)a=this.translate(f[l]),r&&(F[l]=r-a),w[l]=r=a;F.sort();F=F[Math.floor(F.length/2)];F<.6*G&&(F=null);l=f[H-1]>t?H-1:H;for(r=void 0;l--;)a=w[l],H=Math.abs(r-a),r&&H<.8*G&&(null===F||H<.8*F)?(m[f[l]]&&!m[f[l+1]]?(H=l+1,r=a):H=l,f.splice(H,1)):r=a}return f};A(r.prototype,{beforeSetTickPositions:function(){var c,g=[],t,p=!1,d,b=this.getExtremes(),k=b.min,v=b.max,a,n=this.isXAxis&&
67
- !!this.options.breaks,b=this.options.ordinal,m=Number.MAX_VALUE,w=this.chart.options.chart.ignoreHiddenSeries,h;if(b||n){this.series.forEach(function(a,f){t=[];if(!(w&&!1===a.visible||!1===a.takeOrdinalPosition&&!n)&&(g=g.concat(a.processedXData),c=g.length,g.sort(function(a,f){return a-f}),m=Math.min(m,D(a.closestPointRange,m)),c)){for(f=0;f<c-1;)g[f]!==g[f+1]&&t.push(g[f+1]),f++;t[0]!==g[0]&&t.unshift(g[0]);g=t}a.isSeriesBoosting&&(h=!0)});h&&(g.length=0);c=g.length;if(2<c){d=g[1]-g[0];for(a=c-
68
- 1;a--&&!p;)g[a+1]-g[a]!==d&&(p=!0);!this.options.keepOrdinalPadding&&(g[0]-k>d||v-g[g.length-1]>d)&&(p=!0)}else this.options.overscroll&&(2===c?m=g[1]-g[0]:1===c?(m=this.options.overscroll,g=[g[0],g[0]+m]):m=this.overscrollPointsRange);p?(this.options.overscroll&&(this.overscrollPointsRange=m,g=g.concat(this.getOverscrollPositions())),this.ordinalPositions=g,d=this.ordinal2lin(Math.max(k,g[0]),!0),a=Math.max(this.ordinal2lin(Math.min(v,g[g.length-1]),!0),1),this.ordinalSlope=v=(v-k)/(a-d),this.ordinalOffset=
69
- k-d*v):(this.overscrollPointsRange=D(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=b&&p;this.groupIntervalFactor=null},val2lin:function(c,g){var l=this.ordinalPositions;if(l){var p=l.length,d,b;for(d=p;d--;)if(l[d]===c){b=d;break}for(d=p-1;d--;)if(c>l[d]||0===d){c=(c-l[d])/(l[d+1]-l[d]);b=d+c;break}g=g?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else g=c;return g},lin2val:function(c,g){var l=this.ordinalPositions;
70
- if(l){var p=this.ordinalSlope,d=this.ordinalOffset,b=l.length-1,k;if(g)0>c?c=l[0]:c>b?c=l[b]:(b=Math.floor(c),k=c-b);else for(;b--;)if(g=p*b+d,c>=g){p=p*(b+1)+d;k=(c-g)/(p-g);break}return void 0!==k&&void 0!==l[b]?l[b]+(k?k*(l[b+1]-l[b]):0):c}return c},getExtendedPositions:function(){var c=this,g=c.chart,t=c.series[0].currentDataGrouping,p=c.ordinalIndex,d=t?t.count+t.unitName:"raw",b=c.options.overscroll,k=c.getExtremes(),v,a;p||(p=c.ordinalIndex={});p[d]||(v={series:[],chart:g,getExtremes:function(){return{min:k.dataMin,
71
- max:k.dataMax+b}},options:{ordinal:!0},val2lin:r.prototype.val2lin,ordinal2lin:r.prototype.ordinal2lin},c.series.forEach(function(b){a={xAxis:v,xData:b.xData.slice(),chart:g,destroyGroupedData:x};a.xData=a.xData.concat(c.getOverscrollPositions());a.options={dataGrouping:t?{enabled:!0,forced:!0,approximation:"open",units:[[t.unitName,[t.count]]]}:{enabled:!1}};b.processData.apply(a);v.series.push(a)}),c.beforeSetTickPositions.apply(v),p[d]=v.ordinalPositions);return p[d]},getOverscrollPositions:function(){var l=
72
- this.options.overscroll,g=this.overscrollPointsRange,t=[],p=this.dataMax;if(c.defined(g))for(t.push(p);p<=this.dataMax+l;)p+=g,t.push(p);return t},getGroupIntervalFactor:function(c,g,t){var l;t=t.processedXData;var d=t.length,b=[];l=this.groupIntervalFactor;if(!l){for(l=0;l<d-1;l++)b[l]=t[l+1]-t[l];b.sort(function(b,d){return b-d});b=b[Math.floor(d/2)];c=Math.max(c,t[0]);g=Math.min(g,t[d-1]);this.groupIntervalFactor=l=d*b/(g-c)}return l},postProcessTickInterval:function(c){var g=this.ordinalSlope;
73
- return g?this.options.breaks?this.closestPointRange||c:c/(g/this.closestPointRange):c}});r.prototype.ordinal2lin=r.prototype.val2lin;E(q,"pan",function(c){var g=this.xAxis[0],l=g.options.overscroll,p=c.originalEvent.chartX,d=!1;if(g.options.ordinal&&g.series.length){var b=this.mouseDownX,k=g.getExtremes(),v=k.dataMax,a=k.min,n=k.max,m=this.hoverPoints,w=g.closestPointRange||g.overscrollPointsRange,b=(b-p)/(g.translationSlope*(g.ordinalSlope||w)),h={ordinalPositions:g.getExtendedPositions()},w=g.lin2val,
74
- e=g.val2lin,f;h.ordinalPositions?1<Math.abs(b)&&(m&&m.forEach(function(a){a.setState()}),0>b?(m=h,f=g.ordinalPositions?g:h):(m=g.ordinalPositions?g:h,f=h),h=f.ordinalPositions,v>h[h.length-1]&&h.push(v),this.fixedRange=n-a,b=g.toFixedRange(null,null,w.apply(m,[e.apply(m,[a,!0])+b,!0]),w.apply(f,[e.apply(f,[n,!0])+b,!0])),b.min>=Math.min(k.dataMin,a)&&b.max<=Math.max(v,n)+l&&g.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=p,u(this.container,{cursor:"move"})):d=!0}else d=!0;d?l&&(g.max=
75
- g.dataMax+l):c.preventDefault()});E(r,"foundExtremes",function(){this.isXAxis&&z(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&z(this.userMin)&&(this.min+=this.options.overscroll))})});B(q,"modules/broken-axis.src.js",[q["parts/Globals.js"]],function(c){var E=c.addEvent,r=c.pick,q=c.extend,u=c.isArray,z=c.find,A=c.fireEvent,
76
- x=c.Axis,D=c.Series,C=function(c,g){return z(g,function(g){return g.from<c&&c<g.to})};q(x.prototype,{isInBreak:function(c,g){var l=c.repeat||Infinity,p=c.from,d=c.to-c.from;g=g>=p?(g-p)%l:l-(p-g)%l;return c.inclusive?g<=d:g<d&&0!==g},isInAnyBreak:function(c,g){var l=this.options.breaks,p=l&&l.length,d,b,k;if(p){for(;p--;)this.isInBreak(l[p],c)&&(d=!0,b||(b=r(l[p].showPoints,!this.isXAxis)));k=d&&g?d&&!b:d}return k}});E(x,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,
77
- !1)});E(x,"afterSetTickPositions",function(){if(this.isBroken){var c=this.tickPositions,g=this.tickPositions.info,t=[],p;for(p=0;p<c.length;p++)this.isInAnyBreak(c[p])||t.push(c[p]);this.tickPositions=t;this.tickPositions.info=g}});E(x,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});x.prototype.setBreaks=function(c,g){function l(b){var c=b,a,n;for(n=0;n<d.breakArray.length;n++)if(a=d.breakArray[n],a.to<=b)c-=a.len;else if(a.from>=b)break;else if(d.isInBreak(a,b)){c-=b-a.from;
78
- break}return c}function p(b){var c,a;for(a=0;a<d.breakArray.length&&!(c=d.breakArray[a],c.from>=b);a++)c.to<b?b+=c.len:d.isInBreak(c,b)&&(b+=c.len);return b}var d=this,b=u(c)&&!!c.length;d.isDirty=d.isBroken!==b;d.isBroken=b;d.options.breaks=d.userOptions.breaks=c;d.forceRedraw=!0;b||d.val2lin!==l||(delete d.val2lin,delete d.lin2val);b&&(d.userOptions.ordinal=!1,d.val2lin=l,d.lin2val=p,d.setExtremes=function(b,c,a,d,m){if(this.isBroken){for(var n,h=this.options.breaks;n=C(b,h);)b=n.to;for(;n=C(c,
79
- h);)c=n.from;c<b&&(c=b)}x.prototype.setExtremes.call(this,b,c,a,d,m)},d.setAxisTranslation=function(b){x.prototype.setAxisTranslation.call(this,b);this.unitLength=null;if(this.isBroken){b=d.options.breaks;var c=[],a=[],n=0,m,g,h=d.userMin||d.min,e=d.userMax||d.max,f=r(d.pointRangePadding,0),y,k;b.forEach(function(a){g=a.repeat||Infinity;d.isInBreak(a,h)&&(h+=a.to%g-h%g);d.isInBreak(a,e)&&(e-=e%g-a.from%g)});b.forEach(function(a){y=a.from;for(g=a.repeat||Infinity;y-g>h;)y-=g;for(;y<h;)y+=g;for(k=y;k<
80
- e;k+=g)c.push({value:k,move:"in"}),c.push({value:k+(a.to-a.from),move:"out",size:a.breakSize})});c.sort(function(a,f){return a.value===f.value?("in"===a.move?0:1)-("in"===f.move?0:1):a.value-f.value});m=0;y=h;c.forEach(function(f){m+="in"===f.move?1:-1;1===m&&"in"===f.move&&(y=f.value);0===m&&(a.push({from:y,to:f.value,len:f.value-y-(f.size||0)}),n+=f.value-y-(f.size||0))});d.breakArray=a;d.unitLength=e-h-n+f;A(d,"afterBreaks");d.staticScale?d.transA=d.staticScale:d.unitLength&&(d.transA*=(e-d.min+
81
- f)/d.unitLength);f&&(d.minPixelPadding=d.transA*d.minPointOffset);d.min=h;d.max=e}});r(g,!0)&&this.chart.redraw()};E(D,"afterGeneratePoints",function(){var c=this.xAxis,g=this.yAxis,t=this.points,p,d=t.length,b=this.options.connectNulls,k;if(c&&g&&(c.options.breaks||g.options.breaks))for(;d--;)p=t[d],k=null===p.y&&!1===b,k||!c.isInAnyBreak(p.x,!0)&&!g.isInAnyBreak(p.y,!0)||(t.splice(d,1),this.data[d]&&this.data[d].destroyElements())});E(D,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);
82
- this.drawBreaks(this.yAxis,r(this.pointArrayMap,["y"]))});c.Series.prototype.drawBreaks=function(c,g){var l=this,p=l.points,d,b,k,v;c&&g.forEach(function(a){d=c.breakArray||[];b=c.isXAxis?c.min:r(l.options.threshold,c.min);p.forEach(function(n){v=r(n["stack"+a.toUpperCase()],n[a]);d.forEach(function(a){k=!1;if(b<a.from&&v>a.to||b>a.from&&v<a.from)k="pointBreak";else if(b<a.from&&v>a.from&&v<a.to||b>a.from&&v>a.to&&v<a.from)k="pointInBreak";k&&A(c,k,{point:n,brk:a})})})})};c.Series.prototype.gappedPath=
83
- function(){var l=this.currentDataGrouping,g=l&&l.gapSize,l=this.options.gapSize,t=this.points.slice(),p=t.length-1,d=this.yAxis;if(l&&0<p)for("value"!==this.options.gapUnit&&(l*=this.closestPointRange),g&&g>l&&(l=g);p--;)t[p+1].x-t[p].x>l&&(g=(t[p].x+t[p+1].x)/2,t.splice(p+1,0,{isNull:!0,x:g}),this.options.stacking&&(g=d.stacks[this.stackKey][g]=new c.StackItem(d,d.options.stackLabels,!1,g,this.stack),g.total=0));return this.getGraphPath(t)}});B(q,"masters/modules/broken-axis.src.js",[],function(){});
84
- B(q,"parts/DataGrouping.js",[q["parts/Globals.js"]],function(c){var q=c.addEvent,r=c.arrayMax,B=c.arrayMin,u=c.Axis,z=c.defaultPlotOptions,A=c.defined,x=c.extend,D=c.format,C=c.isNumber,l=c.merge,g=c.pick,t=c.Point,p=c.Series,d=c.Tooltip,b=c.approximations={sum:function(a){var f=a.length,b;if(!f&&a.hasNulls)b=null;else if(f)for(b=0;f--;)b+=a[f];return b},average:function(a){var f=a.length;a=b.sum(a);C(a)&&f&&(a/=f);return a},averages:function(){var a=[];[].forEach.call(arguments,function(f){a.push(b.average(f))});
85
- 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?r(a):a.hasNulls?null:void 0},low:function(a){return a.length?B(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,e,c,d){a=b.open(a);e=b.high(e);c=b.low(c);d=b.close(d);if(C(a)||C(e)||C(c)||C(d))return[a,e,c,d]},range:function(a,e){a=b.low(a);e=b.high(e);if(C(a)||C(e))return[a,e];if(null===a&&null===e)return null}},
86
- k=function(a,e,c,d){var f=this,h=f.data,m=f.options&&f.options.data,n=[],g=[],k=[],y=a.length,p,w,F=!!e,G=[],t=f.pointArrayMap,v=t&&t.length,r=["x"].concat(t||["y"]),u=0,D=0,z,x;d="function"===typeof d?d:b[d]?b[d]:b[f.getDGApproximation&&f.getDGApproximation()||"average"];v?t.forEach(function(){G.push([])}):G.push([]);z=v||1;for(x=0;x<=y&&!(a[x]>=c[0]);x++);for(x;x<=y;x++){for(;void 0!==c[u+1]&&a[x]>=c[u+1]||x===y;){p=c[u];f.dataGroupInfo={start:f.cropStart+D,length:G[0].length};w=d.apply(f,G);f.pointClass&&
87
- !A(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=l(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+D])),r.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==w&&(n.push(p),g.push(w),k.push(f.dataGroupInfo));D=x;for(p=0;p<z;p++)G[p].length=0,G[p].hasNulls=!1;u+=1;if(x===y)break}if(x===y)break;if(t){p=f.cropStart+x;w=h&&h[p]||f.pointClass.prototype.applyOptions.apply({series:f},[m[p]]);var q;for(p=0;p<v;p++)q=w[t[p]],C(q)?G[p].push(q):null===q&&(G[p].hasNulls=
88
- !0)}else p=F?e[x]:null,C(p)?G[0].push(p):null===p&&(G[0].hasNulls=!0)}return{groupedXData:n,groupedYData:g,groupMap:k}},v={approximations:b,groupData:k},a=p.prototype,n=a.processData,m=a.generatePoints,w={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","%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",
89
- "%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"]}},h={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},e=c.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",
90
- [1,3,6]],["year",null]];a.getDGApproximation=function(){return c.seriesTypes.arearange&&this instanceof c.seriesTypes.arearange?"range":c.seriesTypes.ohlc&&this instanceof c.seriesTypes.ohlc?"ohlc":c.seriesTypes.column&&this instanceof c.seriesTypes.column?"sum":"average"};a.groupData=k;a.processData=function(){var f=this.chart,b=this.options.dataGrouping,c=!1!==this.allowDG&&b&&g(b.enabled,f.options.isStock),d=this.visible||!f.options.chart.ignoreHiddenSeries,h,m=this.currentDataGrouping,k,p=!1;
91
- this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;c&&!this.requireSorting&&(this.requireSorting=p=!0);c=!1===n.apply(this,arguments)||!c;p&&(this.requireSorting=!1);if(!c){this.destroyGroupedData();var w,c=b.groupAll?this.xData:this.processedXData,l=b.groupAll?this.yData:this.processedYData,t=f.plotSizeX,f=this.xAxis,v=f.options.ordinal,r=this.groupPixelWidth=f.getGroupPixelWidth&&f.getGroupPixelWidth();if(r){this.isDirty=h=!0;this.points=null;p=f.getExtremes();k=p.min;var p=p.max,v=
92
- v&&f.getGroupIntervalFactor(k,p,this)||1,r=r*(p-k)/t*v,t=f.getTimeTicks(f.normalizeTimeTickInterval(r,b.units||e),Math.min(k,c[0]),Math.max(p,c[c.length-1]),f.options.startOfWeek,c,this.closestPointRange),l=a.groupData.apply(this,[c,l,t,b.approximation]),c=l.groupedXData,v=l.groupedYData,u=0;if(b.smoothed&&c.length){w=c.length-1;for(c[w]=Math.min(c[w],p);w--&&0<w;)c[w]+=r/2;c[0]=Math.max(c[0],k)}for(w=1;w<t.length;w++)t.info.segmentStarts&&-1!==t.info.segmentStarts.indexOf(w)||(u=Math.max(t[w]-t[w-
93
- 1],u));k=t.info;k.gapSize=u;this.closestPointRange=t.info.totalRange;this.groupMap=l.groupMap;if(A(c[0])&&c[0]<f.dataMin&&d){if(!A(f.options.min)&&f.min<=f.dataMin||f.min===f.dataMin)f.min=c[0];f.dataMin=c[0]}b.groupAll&&(b=this.cropData(c,v,f.min,f.max,1),c=b.xData,v=b.yData);this.processedXData=c;this.processedYData=v}else this.groupMap=null;this.hasGroupedData=h;this.currentDataGrouping=k;this.preventGraphAnimation=(m&&m.totalRange)!==(k&&k.totalRange)}};a.destroyGroupedData=function(){var a=this.groupedData;
94
- (a||[]).forEach(function(b,f){b&&(a[f]=b.destroy?b.destroy():null)});this.groupedData=null};a.generatePoints=function(){m.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};q(t,"update",function(){if(this.dataGroup)return c.error(24,!1,this.series.chart),!1});q(d,"headerFormatter",function(a){var b=this.chart.time,f=a.labelConfig,e=f.series,c=e.tooltipOptions,d=e.options.dataGrouping,h=c.xDateFormat,m,n=e.xAxis,g,k=c[(a.isFooter?"footer":"header")+"Format"];
95
- n&&"datetime"===n.options.type&&d&&C(f.key)&&(g=e.currentDataGrouping,d=d.dateTimeLabelFormats||w.dateTimeLabelFormats,g?(c=d[g.unitName],1===g.count?h=c[0]:(h=c[1],m=c[2])):!h&&d&&(h=this.getXDateFormat(f,c,n)),h=b.dateFormat(h,f.key),m&&(h+=b.dateFormat(m,f.key+g.totalRange-1)),e.chart.styledMode&&(k=this.styledModeFormat(k)),a.text=D(k,{point:x(f.point,{key:h}),series:e},b),a.preventDefault())});q(p,"destroy",a.destroyGroupedData);q(p,"afterSetOptions",function(a){a=a.options;var b=this.type,f=
96
- this.chart.options.plotOptions,e=z[b].dataGrouping,c=this.useCommonDataGrouping&&w;if(h[b]||c)e||(e=l(w,h[b])),a.dataGrouping=l(c,e,f.series&&f.series.dataGrouping,f[b].dataGrouping,this.userOptions.dataGrouping)});q(u,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});u.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,e,c=0,d=!1,h;for(e=b;e--;)(h=a[e].options.dataGrouping)&&(c=Math.max(c,g(h.groupPixelWidth,w.groupPixelWidth)));for(e=b;e--;)(h=a[e].options.dataGrouping)&&
97
- a[e].hasProcessed&&(b=(a[e].processedXData||a[e].data).length,a[e].groupPixelWidth||b>this.chart.plotSizeX/c||b&&h.forced)&&(d=!0);return d?c:0};u.prototype.setDataGrouping=function(a,b){var e;b=g(b,!0);a||(a={forced:!1,units:null});if(this instanceof u)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinalSlope=null;b&&this.chart.redraw()};return c.dataGrouping=v});B(q,"parts/OHLCSeries.js",[q["parts/Globals.js"]],
98
- function(c){var q=c.Point,r=c.seriesType,B=c.seriesTypes;r("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\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'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(c){return[c.open,c.high,c.low,
99
- c.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){B.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(c,r){r=B.column.prototype.pointAttribs.call(this,c,r);var u=this.options;delete r.fill;!c.options.color&&u.upColor&&c.open<c.close&&(r.stroke=u.upColor);return r},translate:function(){var c=this,r=c.yAxis,A=!!c.modifyValue,x=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];B.column.prototype.translate.apply(c);
100
- c.points.forEach(function(u){[u.open,u.high,u.low,u.close,u.low].forEach(function(q,l){null!==q&&(A&&(q=c.modifyValue(q)),u[x[l]]=r.toPixels(q,!0))});u.tooltipPos[1]=u.plotHigh+r.pos-c.chart.plotTop})},drawPoints:function(){var c=this,r=c.chart;c.points.forEach(function(u){var x,q,z,l,g=u.graphic,t,p=!g;void 0!==u.plotY&&(g||(u.graphic=g=r.renderer.path().add(c.group)),r.styledMode||g.attr(c.pointAttribs(u,u.selected&&"select")),q=g.strokeWidth()%2/2,t=Math.round(u.plotX)-q,z=Math.round(u.shapeArgs.width/
101
- 2),l=["M",t,Math.round(u.yBottom),"L",t,Math.round(u.plotHigh)],null!==u.open&&(x=Math.round(u.plotOpen)+q,l.push("M",t,x,"L",t-z,x)),null!==u.close&&(x=Math.round(u.plotClose)+q,l.push("M",t,x,"L",t+z,x)),g[p?"attr":"animate"]({d:l}).addClass(u.getClassName(),!0))})},animate:null},{getClassName:function(){return q.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})});B(q,"parts/CandlestickSeries.js",[q["parts/Globals.js"]],function(c){var q=
102
- c.defaultPlotOptions,r=c.merge,B=c.seriesType,u=c.seriesTypes;B("candlestick","ohlc",r(q.column,{states:{hover:{lineWidth:2}},tooltip:q.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(c,r){var q=u.column.prototype.pointAttribs.call(this,c,r),D=this.options,z=c.open<c.close,l=D.lineColor||this.color;q["stroke-width"]=D.lineWidth;q.fill=c.options.color||(z?D.upColor||this.color:this.color);q.stroke=c.lineColor||(z?D.upLineColor||
103
- l:l);r&&(c=D.states[r],q.fill=c.color||q.fill,q.stroke=c.lineColor||q.stroke,q["stroke-width"]=c.lineWidth||q["stroke-width"]);return q},drawPoints:function(){var c=this,r=c.chart,u=c.yAxis.reversed;c.points.forEach(function(q){var x=q.graphic,l,g,t,p,d,b,k,v=!x;void 0!==q.plotY&&(x||(q.graphic=x=r.renderer.path().add(c.group)),c.chart.styledMode||x.attr(c.pointAttribs(q,q.selected&&"select")).shadow(c.options.shadow),d=x.strokeWidth()%2/2,b=Math.round(q.plotX)-d,l=q.plotOpen,g=q.plotClose,t=Math.min(l,
104
- g),l=Math.max(l,g),k=Math.round(q.shapeArgs.width/2),g=u?l!==q.yBottom:Math.round(t)!==Math.round(q.plotHigh),p=u?Math.round(t)!==Math.round(q.plotHigh):l!==q.yBottom,t=Math.round(t)+d,l=Math.round(l)+d,d=[],d.push("M",b-k,l,"L",b-k,t,"L",b+k,t,"L",b+k,l,"Z","M",b,t,"L",b,g?Math.round(u?q.yBottom:q.plotHigh):t,"M",b,l,"L",b,p?Math.round(u?q.plotHigh:q.yBottom):l),x[v?"attr":"animate"]({d:d}).addClass(q.getClassName(),!0))})}})});B(q,"mixins/on-series.js",[q["parts/Globals.js"]],function(c){var q=
105
- c.defined,r=c.seriesTypes,B=c.stableSort;return{getPlotBox:function(){return c.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){r.column.prototype.translate.apply(this);var c=this,z=c.options,A=c.chart,x=c.points,E=x.length-1,C,l=z.onSeries,l=l&&A.get(l),z=z.onKey||"y",g=l&&l.options.step,t=l&&l.points,p=t&&t.length,d=A.inverted,b=c.xAxis,k=c.yAxis,v=0,a,n,m,w;if(l&&l.visible&&p)for(v=(l.pointXOffset||0)+(l.barW||0)/2,A=l.currentDataGrouping,
106
- n=t[p-1].x+(A?A.totalRange:0),B(x,function(a,b){return a.x-b.x}),z="plot"+z[0].toUpperCase()+z.substr(1);p--&&x[E]&&!(a=t[p],A=x[E],A.y=a.y,a.x<=A.x&&void 0!==a[z]&&(A.x<=n&&(A.plotY=a[z],a.x<A.x&&!g&&(m=t[p+1])&&void 0!==m[z]&&(w=(A.x-a.x)/(m.x-a.x),A.plotY+=w*(m[z]-a[z]),A.y+=w*(m.y-a.y))),E--,p++,0>E)););x.forEach(function(a,e){var f;a.plotX+=v;if(void 0===a.plotY||d)0<=a.plotX&&a.plotX<=b.len?d?(a.plotY=b.translate(a.x,0,1,0,1),a.plotX=q(a.y)?k.translate(a.y,0,0,0,1):0):a.plotY=(b.opposite?0:
107
- c.yAxis.len)+b.offset:a.shapeArgs={};(C=x[e-1])&&C.plotX===a.plotX&&(void 0===C.stackIndex&&(C.stackIndex=0),f=C.stackIndex+1);a.stackIndex=f});this.onSeries=l}}});B(q,"parts/FlagsSeries.js",[q["parts/Globals.js"],q["mixins/on-series.js"]],function(c,q){function r(c){t[c+"pin"]=function(d,b,g,p,a){var n=a&&a.anchorX;a=a&&a.anchorY;var m;"circle"===c&&p>g&&(d-=Math.round((p-g)/2),g=p);m=t[c](d,b,g,p);n&&a&&(m.push("M","circle"===c?d+g/2:m[1]+m[4]/2,b>a?b:b+p,"L",n,a),m=m.concat(t.circle(n-1,a-1,2,
108
- 2)));return m}}var E=c.addEvent,u=c.merge,z=c.noop,A=c.defined,x=c.Renderer,D=c.Series,C=c.seriesType,l=c.TrackerMixin,g=c.VMLRenderer,t=c.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,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,
109
- takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:D.prototype.init,pointAttribs:function(c,d){var b=this.options,g=c&&c.color||this.color,p=b.lineColor,a=c&&c.lineWidth;c=c&&c.fillColor||b.fillColor;d&&(c=b.states[d].fillColor,p=b.states[d].lineColor,a=b.states[d].lineWidth);return{fill:c||g,stroke:p||g,"stroke-width":a||b.lineWidth||0}},translate:q.translate,getPlotBox:q.getPlotBox,drawPoints:function(){var g=this.points,d=this.chart,b=d.renderer,k,l,a=d.inverted,n=this.options,
110
- m=n.y,w,h,e,f,y,t,q=this.yAxis,r={},x=[];for(h=g.length;h--;)e=g[h],t=(a?e.plotY:e.plotX)>this.xAxis.len,k=e.plotX,f=e.stackIndex,w=e.options.shape||n.shape,l=e.plotY,void 0!==l&&(l=e.plotY+m-(void 0!==f&&f*n.stackDistance)),e.anchorX=f?void 0:e.plotX,y=f?void 0:e.plotY,f=e.graphic,void 0!==l&&0<=k&&!t?(f||(f=e.graphic=b.label("",null,null,w,null,null,n.useHTML),d.styledMode||f.attr(this.pointAttribs(e)).css(u(n.style,e.style)),f.attr({align:"flag"===w?"left":"center",width:n.width,height:n.height,
111
- "text-align":n.textAlign}).addClass("highcharts-point").add(this.markerGroup),e.graphic.div&&(e.graphic.div.point=e),d.styledMode||f.shadow(n.shadow),f.isNew=!0),0<k&&(k-=f.strokeWidth()%2),w={y:l,anchorY:y},n.allowOverlapX&&(w.x=k,w.anchorX=e.anchorX),f.attr({text:e.options.title||n.title||"A"})[f.isNew?"attr":"animate"](w),n.allowOverlapX||(r[e.plotX]?r[e.plotX].size=Math.max(r[e.plotX].size,f.width):r[e.plotX]={align:0,size:f.width,target:k,anchorX:k}),e.tooltipPos=[k,l+q.pos-d.plotTop]):f&&(e.graphic=
112
- f.destroy());n.allowOverlapX||(c.objectEach(r,function(a){a.plotX=a.anchorX;x.push(a)}),c.distribute(x,a?q.len:this.xAxis.len,100),g.forEach(function(a){var b=a.graphic&&r[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos,anchorX:a.anchorX}),A(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));n.useHTML&&c.wrap(this.markerGroup,"on",function(a){return c.SVGElement.prototype.on.apply(a.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,
113
- 1))})},drawTracker:function(){var c=this.points;l.drawTrackerPoint.apply(this);c.forEach(function(d){var b=d.graphic;b&&E(b.element,"mouseover",function(){0<d.stackIndex&&!d.raised&&(d._y=b.y,b.attr({y:d._y-8}),d.raised=!0);c.forEach(function(b){b!==d&&b.raised&&b.graphic&&(b.graphic.attr({y:b._y}),b.raised=!1)})})})},animate:function(c){c?this.setClip():this.animate=null},setClip:function(){D.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},
114
- buildKDTree:z,invertGroups:z},{isValid:function(){return c.isNumber(this.y)||void 0===this.y}});t.flag=function(c,d,b,g,l){var a=l&&l.anchorX||c;l=l&&l.anchorY||d;return t.circle(a-1,l-1,2,2).concat(["M",a,l,"L",c,d+g,c,d,c+b,d,c+b,d+g,c,d+g,"Z"])};r("circle");r("square");x===g&&["flag","circlepin","squarepin"].forEach(function(c){g.prototype.symbols[c]=t[c]})});B(q,"parts/RangeSelector.js",[q["parts/Globals.js"]],function(c){function q(a){this.init(a)}var r=c.addEvent,B=c.Axis,u=c.Chart,z=c.css,
115
- A=c.createElement,x=c.defaultOptions,D=c.defined,C=c.destroyObjectProperties,l=c.discardElement,g=c.extend,t=c.fireEvent,p=c.isNumber,d=c.merge,b=c.pick,k=c.pInt,v=c.splat;g(x,{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},labelStyle:{color:"#666666"}}});x.lang=d(x.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});q.prototype=
116
- {clickButton:function(a,c){var d=this.chart,g=this.buttonOptions[a],h=d.xAxis[0],e=d.scroller&&d.scroller.getUnionExtremes()||h||{},f=e.dataMin,n=e.dataMax,k,l=h&&Math.round(Math.min(h.max,b(n,h.max))),q=g.type,t,e=g._range,u,x,S,z=g.dataGrouping;if(null!==f&&null!==n){d.fixedRange=e;z&&(this.forcedDataGrouping=!0,B.prototype.setDataGrouping.call(h||{chart:this.chart},z,!1),this.frozenStates=g.preserveDataGrouping);if("month"===q||"year"===q)h?(q={range:g,max:l,chart:d,dataMin:f,dataMax:n},k=h.minFromRange.call(q),
117
- p(q.newMax)&&(l=q.newMax)):e=g;else if(e)k=Math.max(l-e,f),l=Math.min(k+e,n);else if("ytd"===q)if(h)void 0===n&&(f=Number.MAX_VALUE,n=Number.MIN_VALUE,d.series.forEach(function(a){a=a.xData;f=Math.min(a[0],f);n=Math.max(a[a.length-1],n)}),c=!1),l=this.getYTDExtremes(n,f,d.time.useUTC),k=u=l.min,l=l.max;else{this.deferredYTDClick=a;return}else"all"===q&&h&&(k=f,l=n);k+=g._offsetMin;l+=g._offsetMax;this.setSelected(a);h?h.setExtremes(k,l,b(c,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:g}):
118
- (t=v(d.options.xAxis)[0],S=t.range,t.range=e,x=t.min,t.min=u,r(d,"load",function(){t.range=S;t.min=x}))}},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,d=c.buttons||[].concat(b.defaultButtons),h=c.selected,e=function(){var a=b.minInput,
119
- c=b.maxInput;a&&a.blur&&t(a,"blur");c&&c.blur&&t(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.unMouseDown=r(a.container,"mousedown",e);this.unResize=r(a,"resize",e);d.forEach(b.computeButtonRange);void 0!==h&&d[h]&&this.clickButton(h,!1);r(a,"load",function(){a.xAxis&&a.xAxis[0]&&r(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,
120
- !1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],d=Math.round(c.max-c.min),h=!c.hasVisibleSeries,e=b.scroller&&b.scroller.getUnionExtremes()||c,f=e.dataMin,g=e.dataMax,b=a.getYTDExtremes(g,f,b.time.useUTC),k=b.min,l=b.max,q=a.selected,t=p(q),r=a.options.allButtonsEnabled,u=a.buttons;a.buttonOptions.forEach(function(b,e){var m=b._range,n=b.type,p=b.count||1,w=u[e],y=0,F=b._offsetMax-b._offsetMin;b=e===q;var v=m>g-f,x=m<c.minRange,G=!1,H=!1,m=m===d;("month"===n||"year"===
121
- n)&&d+36E5>=864E5*{month:28,year:365}[n]*p-F&&d-36E5<=864E5*{month:31,year:366}[n]*p+F?m=!0:"ytd"===n?(m=l-k+F===d,G=!b):"all"===n&&(m=c.max-c.min>=g-f,H=!b&&t&&m);n=!r&&(v||x||H||h);p=b&&m||m&&!t&&!G||b&&a.frozenStates;n?y=3:p&&(t=!0,y=2);w.state!==y&&(w.setState(y),0===y&&q===e&&a.setSelected(null))})},computeButtonRange:function(a){var c=a.type,d=a.count||1,g={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(g[c])a._range=g[c]*d;else if("month"===c||"year"===c)a._range=864E5*
122
- {month:30,year:365}[c]*d;a._offsetMin=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,g=this[a+"Input"];D(b)&&(g.previousValue=g.HCTime,g.HCTime=b);g.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",g.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",g.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];z(this[a+"Input"],
123
- {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){z(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=t.value,b=(f.inputDateParser||Date.parse)(a),c=l.xAxis[0],e=l.scroller&&l.scroller.xAxis?l.scroller.xAxis:c,d=e.dataMin,e=e.dataMax;b!==t.previousValue&&(t.previousValue=b,p(b)||(b=a.split("-"),b=Date.UTC(k(b[0]),k(b[1])-1,k(b[2]))),p(b)&&
124
- (l.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),q?b>m.maxInput.HCTime?b=void 0:b<d&&(b=d):b<m.minInput.HCTime?b=void 0:b>e&&(b=e),void 0!==b&&c.setExtremes(q?b:c.min,q?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var m=this,l=m.chart,h=l.renderer.style||{},e=l.renderer,f=l.options.rangeSelector,y=m.div,q="min"===a,t,r,u=this.inputGroup;this[a+"Label"]=r=e.label(x.lang[q?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(u);
125
- u.offset+=r.width+5;this[a+"DateBox"]=e=e.label("",u.offset).addClass("highcharts-range-input").attr({padding:2,width:f.inputBoxWidth||90,height:f.inputBoxHeight||17,"text-align":"center"}).on("click",function(){m.showInput(a);m[a+"Input"].focus()});l.styledMode||e.attr({stroke:f.inputBoxBorderColor||"#cccccc","stroke-width":1});e.add(u);u.offset+=e.width+(q?10:0);this[a+"Input"]=t=A("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:l.plotTop+"px"},y);l.styledMode||(r.css(d(h,
126
- f.labelStyle)),e.css(d({color:"#333333"},h,f.inputStyle)),z(t,g({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},f.inputStyle)));t.onfocus=function(){m.showInput(a)};t.onblur=function(){t===c.doc.activeElement&&(b(),m.hideInput(a),t.blur())};t.onchange=b;t.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
127
- 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,g=new d.Date(a),e=d.get("FullYear",g);c=c?d.Date.UTC(e,0,1):+new d.Date(e,0,1);b=Math.max(b||0,c);g=g.getTime();return{max:Math.min(a||g,g),min:b}},render:function(a,c){var d=this,g=d.chart,h=g.renderer,e=g.container,f=g.options,k=f.exporting&&!1!==f.exporting.enabled&&f.navigation&&f.navigation.buttonOptions,n=x.lang,l=d.div,p=f.rangeSelector,t=b(f.chart.style&&f.chart.style.zIndex,
128
- 0)+1,f=p.floating,q=d.buttons,l=d.inputGroup,r=p.buttonTheme,u=p.buttonPosition,v=p.inputPosition,z=p.inputEnabled,E=r&&r.states,C=g.plotLeft,D,B=d.buttonGroup,L;L=d.rendered;var M=d.options.verticalAlign,O=g.legend,P=O&&O.options,Q=u.y,N=v.y,R=L||!1,T=R?"animate":"attr",K=0,I=0,J;if(!1!==p.enabled){L||(d.group=L=h.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=B=h.g("range-selector-buttons").add(L),d.zoomText=h.text(n.rangeSelectorZoom,0,15).add(B),g.styledMode||(d.zoomText.css(p.labelStyle),
129
- r["stroke-width"]=b(r["stroke-width"],0)),d.buttonOptions.forEach(function(a,b){q[b]=h.button(a.text,0,0,function(c){var e=a.events&&a.events.click,f;e&&(f=e.call(a,c));!1!==f&&d.clickButton(b);d.isActive=!0},r,E&&E.hover,E&&E.select,E&&E.disabled).attr({"text-align":"center"}).add(B)}),!1!==z&&(d.div=l=A("div",null,{position:"relative",height:0,zIndex:t}),e.parentNode.insertBefore(l,e),d.inputGroup=l=h.g("input-group").add(L),l.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[T]({x:b(C+
130
- u.x,C)});D=b(C+u.x,C)+d.zoomText.getBBox().width+5;d.buttonOptions.forEach(function(a,c){q[c][T]({x:D});D+=q[c].width+b(p.buttonSpacing,5)});C=g.plotLeft-g.spacing[3];d.updateButtonStates();k&&this.titleCollision(g)&&"top"===M&&"right"===u.align&&u.y+B.getBBox().height-12<(k.y||0)+k.height&&(K=-40);"left"===u.align?J=u.x-g.spacing[3]:"right"===u.align&&(J=u.x+K-g.spacing[1]);B.align({y:u.y,width:B.getBBox().width,align:u.align,x:J},!0,g.spacingBox);d.group.placed=R;d.buttonGroup.placed=R;!1!==z&&
131
- (K=k&&this.titleCollision(g)&&"top"===M&&"right"===v.align&&v.y-l.getBBox().height-12<(k.y||0)+k.height+g.spacing[0]?-40:0,"left"===v.align?J=C:"right"===v.align&&(J=-Math.max(g.axisOffset[1],-K)),l.align({y:v.y,width:l.getBBox().width,align:v.align,x:v.x+J-2},!0,g.spacingBox),e=l.alignAttr.translateX+l.alignOptions.x-K+l.getBBox().x+2,k=l.alignOptions.width,n=B.alignAttr.translateX+B.getBBox().x,J=B.getBBox().width+20,(v.align===u.align||n+J>e&&e+k>n&&Q<N+l.getBBox().height)&&l.attr({translateX:l.alignAttr.translateX+
132
- (g.axisOffset[1]>=-K?0:-K),translateY:l.alignAttr.translateY+B.getBBox().height+10}),d.setInputValue("min",a),d.setInputValue("max",c),d.inputGroup.placed=R);d.group.align({verticalAlign:M},!0,g.spacingBox);a=d.group.getBBox().height+20;c=d.group.alignAttr.translateY;"bottom"===M&&(O=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?O.legendHeight+b(P.margin,10):0,a=a+O-20,I=c-a-(f?0:p.y)-10);if("top"===M)f&&(I=0),g.titleOffset&&(I=g.titleOffset+g.options.title.margin),I+=g.margin[0]-g.spacing[0]||
133
- 0;else if("middle"===M)if(N===Q)I=0>N?c+void 0:c;else if(N||Q)I=0>N||0>Q?I-Math.min(N,Q):c-a+NaN;d.group.translate(p.x,p.y+Math.floor(I));!1!==z&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,g=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(g,d);if(0>g&&0>d||0<g&&0<d)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
134
- a.options.subtitle.text)},update:function(a){var b=this.chart;d(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var a=this,b=a.minInput,d=a.maxInput;a.unMouseDown();a.unResize();C(a.buttons);b&&(b.onfocus=b.onblur=b.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);c.objectEach(a,function(b,c){b&&"chart"!==c&&(b.destroy?b.destroy():b.nodeType&&l(this[c]));b!==q.prototype[c]&&(a[c]=null)},this)}};B.prototype.minFromRange=function(){var a=
135
- this.range,c={month:"Month",year:"FullYear"}[a.type],d,g=this.max,h,e,f=this.chart.time,k=function(a,b){var e=new f.Date(a),d=f.get(c,e);f.set(c,e,d+b);d===f.get(c,e)&&e.setDate(0);return e.getTime()-a};p(a)?(d=g-a,e=a):(d=g+k(g,-a.count),this.chart&&(this.chart.fixedRange=g-d));h=b(this.dataMin,Number.MIN_VALUE);p(d)||(d=h);d<=h&&(d=h,void 0===e&&(e=k(d,a.count)),this.newMax=Math.min(d+e,this.dataMax));p(g)||(d=void 0);return d};c.RangeSelector||(r(u,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
136
- (this.rangeSelector=new q(this))}),r(u,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(p(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),r(u,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,
137
- d=this.extraTopMargin;b&&b.enabled&&!D(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new q(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=!0)}),r(u,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
138
- "bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),r(u,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),u.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();p(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,g,e;d&&(e=r(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),g=r(a,"redraw",b),b());r(a,"destroy",function(){d&&
139
- (g(),e())})}),c.RangeSelector=q)});B(q,"parts/StockChart.js",[q["parts/Globals.js"]],function(c){var q=c.addEvent,r=c.arrayMax,B=c.arrayMin,u=c.Axis,z=c.Chart,A=c.defined,x=c.extend,D=c.format,C=c.isNumber,l=c.isString,g=c.merge,t=c.pick,p=c.Point,d=c.Renderer,b=c.Series,k=c.splat,v=c.SVGRenderer,a=c.VMLRenderer,n=b.prototype,m=n.init,w=n.processData,h=p.prototype.tooltipFormatter;c.StockChart=c.stockChart=function(a,b,d){var e=l(a)||a.nodeName,f=arguments[e?1:0],h=f,n=f.series,m=c.getOptions(),p,
140
- q=t(f.navigator&&f.navigator.enabled,m.navigator.enabled,!0),y=q?{startOnTick:!1,endOnTick:!1}:null,r={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};f.xAxis=k(f.xAxis||{}).map(function(a,b){return g({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},m.xAxis,m.xAxis&&m.xAxis[b],a,{type:"datetime",categories:null},y)});f.yAxis=k(f.yAxis||{}).map(function(a,b){p=t(a.opposite,!0);return g({labels:{y:-2},opposite:p,showLastLabel:!(!a.categories&&
141
- "category"!==a.type),title:{text:null}},m.yAxis,m.yAxis&&m.yAxis[b],a)});f.series=null;f=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:t(m.scrollbar.enabled,!0)},rangeSelector:{enabled:t(m.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:t(m.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:r,spline:r,area:r,areaspline:r,arearange:r,areasplinerange:r,column:u,columnrange:u,candlestick:u,ohlc:u}},f,{isStock:!0});f.series=h.series=n;return e?
142
- new z(a,f,d):new z(f,b)};q(u,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},e=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&e.enabled&&(15===e.x&&(e.x=0),void 0===e.align&&(e.align="right"),b[c]=this,a.align="right",a.preventDefault()))});q(u,"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]});
143
- q(u,"getPlotLinePath",function(a){function b(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return C(a)?[g[b][a]]:l(a)?[g.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,g=d.chart,h=g.renderer,k=d.left,n=d.top,m,p,q,r,u=[],v=[],x,w,z=a.translatedValue,B=a.value,D=a.force,E;if("xAxis"===d.coll||"yAxis"===d.coll)a.preventDefault(),v=b(d.coll),x=d.isXAxis?g.yAxis:g.xAxis,x.forEach(function(a){if(A(a.options.id)?-1===a.options.id.indexOf("navigator"):
144
- 1){var b=a.isXAxis?"yAxis":"xAxis",b=A(a.options[b])?g[b][a.options[b]]:g[b][0];d===b&&v.push(a)}}),w=v.length?[]:[d.isXAxis?g.yAxis[0]:g.xAxis[0]],v.forEach(function(a){-1!==w.indexOf(a)||c.find(w,function(b){return b.pos===a.pos&&b.len===a.len})||w.push(a)}),E=t(z,d.translate(B,null,null,a.old)),C(E)&&(d.horiz?w.forEach(function(a){var b;p=a.pos;r=p+a.len;m=q=Math.round(E+d.transB);"pass"!==D&&(m<k||m>k+d.width)&&(D?m=q=Math.min(Math.max(k,m),k+d.width):b=!0);b||u.push("M",m,p,"L",q,r)}):w.forEach(function(a){var b;
145
- m=a.pos;q=m+a.len;p=r=Math.round(n+d.height-E);"pass"!==D&&(p<n||p>n+d.height)&&(D?p=r=Math.min(Math.max(n,p),d.top+d.height):b=!0);b||u.push("M",m,p,"L",q,r)})),a.path=0<u.length?h.crispPolyLine(u,a.lineWidth||1):null});v.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+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};d===a&&(a.prototype.crispPolyLine=v.prototype.crispPolyLine);q(u,"afterHideCrosshair",
146
- function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});q(u,"afterDrawCrosshair",function(a){var b,c;if(A(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,g=this.horiz;b=this.opposite;c=this.left;var h=this.top,k=this.crossLabel,l=e.format,m="",n="inside"===this.options.tickPosition,p=!1!==this.crosshair.snap,q=0,r=a.e||this.cross&&this.cross.e,u=a.point;a=this.lin2log;var v,w;this.isLog?(v=a(this.min),w=a(this.max)):(v=
147
- this.min,w=this.max);a=g?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=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),d.styledMode||k.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||
148
- "","stroke-width":e.borderWidth||0}).css(x({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));g?(a=p?u.plotX+c:r.chartX,h+=b?0:this.height):(a=b?this.width+c:0,h=p?u.plotY+h:r.chartY);l||e.formatter||(this.isDatetimeAxis&&(m="%b %d, %Y"),l="{value"+(m?":"+m:"")+"}");m=p?u[this.isXAxis?"x":"y"]:this.toValue(g?r.chartX:r.chartY);k.attr({text:l?D(l,{value:m},d.time):e.formatter.call(this,m),x:a,y:h,visibility:m<v||m>w?"hidden":"visible"});e=k.getBBox();if(g){if(n&&!b||
149
- !n&&b)h=k.y-e.height}else h=k.y-e.height/2;g?(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);k.translateX<b&&(q=b-k.translateX);k.translateX+e.width>=c&&(q=-(k.translateX+e.width-c));k.attr({x:a+q,y:h,anchorX:g?a:this.opposite?0:d.chartWidth,anchorY:g?this.opposite?d.chartHeight:0:h+e.height/2})}});n.init=function(){m.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue="value"===
150
- 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;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,d,g=!0===this.options.compareStart?0:1,h,k;w.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,h=d.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||
151
- this.pointValKey||"y")),a=0;a<h-g;a++)if(k=d[a]&&-1<b?d[a][b]:d[a],C(k)&&c[a+g]>=this.xAxis.min&&0!==k){this.compareValue=k;break}};q(b,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=B(a);this.dataMax=r(a)}});u.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),t(b,!0)&&this.chart.redraw())};p.prototype.tooltipFormatter=function(a){a=a.replace("{point.change}",(0<
152
- this.change?"+":"")+c.numberFormat(this.change,t(this.series.tooltipOptions.changeDecimals,2)));return h.apply(this,[a])};q(b,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(a=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=g(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,
153
- height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});q(z,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(g(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});B(q,"masters/modules/stock.src.js",[],function(){})});
10
+ (function(t){"object"===typeof module&&module.exports?(t["default"]=t,module.exports=t):"function"===typeof define&&define.amd?define("highcharts/modules/stock",["highcharts"],function(E){t(E);t.Highcharts=E;return t}):t("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(t){function E(b,z,q,t){b.hasOwnProperty(z)||(b[z]=t.apply(null,q))}t=t?t._modules:{};E(t,"parts/Scrollbar.js",[t["parts/Globals.js"]],function(b){function z(a,l,w){this.init(a,l,w)}var q=b.addEvent,t=b.Axis,u=b.correctFloat,
11
+ D=b.defaultOptions,B=b.defined,v=b.destroyObjectProperties,A=b.fireEvent,C=b.hasTouch,m=b.merge,e=b.pick,r=b.removeEvent,p,h={height:b.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",
12
+ trackBorderWidth:1};D.scrollbar=m(!0,h,D.scrollbar);b.swapXY=p=function(a,l){var w=a.length,c;if(l)for(l=0;l<w;l+=3)c=a[l+1],a[l+1]=a[l+2],a[l+2]=c;return a};z.prototype={init:function(a,l,w){this.scrollbarButtons=[];this.renderer=a;this.userOptions=l;this.options=m(h,l);this.chart=w;this.size=e(this.options.size,this.options.height);l.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,l=this.options,w=this.size,c=this.chart.styledMode,k;this.group=
13
+ k=a.g("scrollbar").attr({zIndex:l.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:l.trackBorderRadius||0,height:w,width:w}).add(k);c||this.track.attr({fill:l.trackBackgroundColor,stroke:l.trackBorderColor,"stroke-width":l.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(k);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:w,
14
+ width:w,r:l.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(p(["M",-3,w/4,"L",-3,2*w/3,"M",0,w/4,"L",0,2*w/3,"M",3,w/4,"L",3,2*w/3],l.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);c||(this.scrollbar.attr({fill:l.barBackgroundColor,stroke:l.barBorderColor,"stroke-width":l.barBorderWidth}),this.scrollbarRifles.attr({stroke:l.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%
15
+ 2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,l,w,c){var k=this.options.vertical,n=0,b=this.rendered?"animate":"attr";this.x=a;this.y=l+this.trackBorderWidth;this.width=w;this.xOffset=this.height=c;this.yOffset=n;k?(this.width=this.yOffset=w=n=this.size,this.xOffset=l=0,this.barWidth=c-2*w,this.x=a+=this.options.margin):(this.height=this.xOffset=c=l=this.size,this.barWidth=w-2*c,this.y+=this.options.margin);this.group[b]({translateX:a,
16
+ translateY:this.y});this.track[b]({width:w,height:c});this.scrollbarButtons[1][b]({translateX:k?0:w-l,translateY:k?c-n:0})},drawScrollbarButton:function(a){var l=this.renderer,b=this.scrollbarButtons,c=this.options,k=this.size,n;n=l.g().add(this.group);b.push(n);n=l.rect().addClass("highcharts-scrollbar-button").add(n);this.chart.styledMode||n.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});n.attr(n.crisp({x:-.5,y:-.5,width:k+1,height:k+1,r:c.buttonBorderRadius},
17
+ n.strokeWidth()));n=l.path(p(["M",k/2+(a?-1:1),k/2-3,"L",k/2+(a?-1:1),k/2+3,"L",k/2+(a?2:-2),k/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(b[a]);this.chart.styledMode||n.attr({fill:c.buttonArrowColor})},setRange:function(a,l){var b=this.options,c=b.vertical,k=b.minWidth,n=this.barWidth,h,g,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";B(n)&&(a=Math.max(a,0),h=Math.ceil(n*a),this.calculatedWidth=g=u(n*Math.min(l,1)-h),g<k&&
18
+ (h=(n-k+g)*a,g=k),k=Math.floor(h+this.xOffset+this.yOffset),n=g/2-.5,this.from=a,this.to=l,c?(this.scrollbarGroup[d]({translateY:k}),this.scrollbar[d]({height:g}),this.scrollbarRifles[d]({translateY:n}),this.scrollbarTop=k,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:k}),this.scrollbar[d]({width:g}),this.scrollbarRifles[d]({translateX:n}),this.scrollbarLeft=k,this.scrollbarTop=0),12>=g?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=l?this.group.hide():
19
+ this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(l){var b=a.chart.pointer.normalize(l),c=a.options.vertical?"chartY":"chartX",k=a.initPositions;!a.grabbedCenter||l.touches&&0===l.touches[0][c]||(b=a.cursorToScrollbarPosition(b)[c],c=a[c],c=b-c,a.hasDragged=!0,a.updatePosition(k[0]+c,k[1]+c),a.hasDragged&&A(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:l.type,DOMEvent:l}))};a.mouseUpHandler=function(l){a.hasDragged&&A(a,"changed",{from:a.from,
20
+ to:a.to,trigger:"scrollbar",DOMType:l.type,DOMEvent:l});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(l){l=a.chart.pointer.normalize(l);l=a.cursorToScrollbarPosition(l);a.chartX=l.chartX;a.chartY=l.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(l){var b=u(a.to-a.from)*a.options.step;a.updatePosition(u(a.from-b),u(a.to-b));A(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:l})};a.buttonToMaxClick=function(l){var b=
21
+ (a.to-a.from)*a.options.step;a.updatePosition(a.from+b,a.to+b);A(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:l})};a.trackClick=function(l){var b=a.chart.pointer.normalize(l),c=a.to-a.from,k=a.y+a.scrollbarTop,n=a.x+a.scrollbarLeft;a.options.vertical&&b.chartY>k||!a.options.vertical&&b.chartX>n?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);A(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:l})}},cursorToScrollbarPosition:function(a){var l=this.options,
22
+ l=l.minWidth>this.calculatedWidth?l.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-l),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-l)}},updatePosition:function(a,l){1<l&&(a=u(1-u(l-a)),l=1);0>a&&(l=u(l-a),a=0);this.from=a;this.to=l},update:function(a){this.destroy();this.init(this.chart.renderer,m(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],l=this.scrollbarButtons,b=this.scrollbarGroup.element,c=this.mouseDownHandler,
23
+ k=this.mouseMoveHandler,n=this.mouseUpHandler,a=[[l[a[0]].element,"click",this.buttonToMinClick],[l[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[b,"mousedown",c],[b.ownerDocument,"mousemove",k],[b.ownerDocument,"mouseup",n]];C&&a.push([b,"touchstart",c],[b.ownerDocument,"touchmove",k],[b.ownerDocument,"touchend",n]);a.forEach(function(a){q.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){r.apply(null,a)});this._events.length=
24
+ 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,v(a.scrollbarButtons))}};b.Scrollbar||(q(t,"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=!1,a.scrollbar=new z(a.chart.renderer,
25
+ a.options.scrollbar,a.chart),q(a.scrollbar,"changed",function(l){var h=Math.min(e(a.options.min,a.min),a.min,a.dataMin),c=Math.max(e(a.options.max,a.max),a.max,a.dataMax)-h,k;a.horiz&&!a.reversed||!a.horiz&&a.reversed?(k=h+c*this.to,h+=c*this.from):(k=h+c*(1-this.from),h+=c*(1-this.to));e(this.options.liveRedraw,b.svg&&!b.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===l.DOMType||!B(l.DOMType)?a.setExtremes(h,k,!0,"mousemove"!==l.DOMType,l):this.setRange(this.from,this.to)}))}),q(t,"afterRender",
26
+ function(){var a=Math.min(e(this.options.min,this.min),this.min,e(this.dataMin,this.min)),l=Math.max(e(this.options.max,this.max),this.max,e(this.dataMax,this.max)),b=this.scrollbar,c=this.axisTitleMargin+(this.titleOffset||0),k=this.chart.scrollbarsOffsets,n=this.options.margin||0;b&&(this.horiz?(this.opposite||(k[1]+=c),b.position(this.left,this.top+this.height+2+k[1]-(this.opposite?n:0),this.width,this.height),this.opposite||(k[1]+=n),c=1):(this.opposite&&(k[0]+=c),b.position(this.left+this.width+
27
+ 2+k[0]-(this.opposite?0:n),this.top,this.width,this.height),this.opposite&&(k[0]+=n),c=0),k[c]+=b.size+b.options.margin,isNaN(a)||isNaN(l)||!B(this.min)||!B(this.max)||this.min===this.max?b.setRange(0,1):(k=(this.min-a)/(l-a),a=(this.max-a)/(l-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?b.setRange(k,a):b.setRange(1-a,1-k)))}),q(t,"afterGetOffset",function(){var a=this.horiz?2:1,b=this.scrollbar;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=b.size+b.options.margin)}),
28
+ b.Scrollbar=z)});E(t,"parts/Navigator.js",[t["parts/Globals.js"]],function(b){function z(g){this.init(g)}var q=b.addEvent,t=b.Axis,u=b.Chart,D=b.color,B=b.defaultOptions,v=b.defined,A=b.destroyObjectProperties,C=b.erase,m=b.extend,e=b.hasTouch,r=b.isArray,p=b.isNumber,h=b.isTouchDevice,a=b.merge,l=b.pick,w=b.removeEvent,c=b.Scrollbar,k=b.Series,n,x=function(g){var d=[].filter.call(arguments,p);if(d.length)return Math[g].apply(0,d)};n=void 0===b.seriesTypes.areaspline?"line":"areaspline";m(B,{navigator:{height:40,
29
+ margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:D("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:n,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",
30
+ [1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",
31
+ gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});b.Renderer.prototype.symbols["navigator-handle"]=function(g,d,f,a,c){g=c.width/2;d=Math.round(g/3)+.5;c=c.height;return["M",-g-1,.5,"L",g,.5,"L",g,c+.5,"L",-g-1,c+.5,"L",-g-1,.5,"M",-d,4,"L",-d,c-3,"M",d-1,4,"L",d-1,c-3]};t.prototype.toFixedRange=function(g,d,f,a){var c=this.chart&&this.chart.fixedRange;g=l(f,this.translate(g,!0,!this.horiz));d=l(a,
32
+ this.translate(d,!0,!this.horiz));f=c&&(d-g)/c;.7<f&&1.3>f&&(a?g=d-c:d=g+c);p(g)&&p(d)||(g=d=void 0);return{min:g,max:d}};z.prototype={drawHandle:function(g,d,f,a){var c=this.navigatorOptions.handles.height;this.handles[d][a](f?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(g,10)+.5-c)}:{translateX:Math.round(this.left+parseInt(g,10)),translateY:Math.round(this.top+this.height/2-c/2-1)})},drawOutline:function(g,d,f,a){var c=this.navigatorOptions.maskInside,
33
+ y=this.outline.strokeWidth(),b=y/2,y=y%2/2,k=this.outlineHeight,l=this.scrollbarHeight,n=this.size,h=this.left-l,e=this.top;f?(h-=b,f=e+d+y,d=e+g+y,g=["M",h+k,e-l-y,"L",h+k,f,"L",h,f,"L",h,d,"L",h+k,d,"L",h+k,e+n+l].concat(c?["M",h+k,f-b,"L",h+k,d+b]:[])):(g+=h+l-y,d+=h+l-y,e+=b,g=["M",h,e,"L",g,e,"L",g,e+k,"L",d,e+k,"L",d,e,"L",h+n+2*l,e].concat(c?["M",g-b,e,"L",d+b,e]:[]));this.outline[a]({d:g})},drawMasks:function(g,d,f,a){var c=this.left,y=this.top,b=this.height,k,l,n,h;f?(n=[c,c,c],h=[y,y+g,
34
+ y+d],l=[b,b,b],k=[g,d-g,this.size-d]):(n=[c,c+g,c+d],h=[y,y,y],l=[g,d-g,this.size-d],k=[b,b,b]);this.shades.forEach(function(f,d){f[a]({x:n[d],y:h[d],width:l[d],height:k[d]})})},renderElements:function(){var g=this,d=g.navigatorOptions,f=d.maskInside,a=g.chart,c=a.renderer,b,k={cursor:a.inverted?"ns-resize":"ew-resize"};g.navigatorGroup=b=c.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!f,f,!f].forEach(function(f,y){g.shades[y]=c.rect().addClass("highcharts-navigator-mask"+(1===y?"-inside":
35
+ "-outside")).add(b);a.styledMode||g.shades[y].attr({fill:f?d.maskFill:"rgba(0,0,0,0)"}).css(1===y&&k)});g.outline=c.path().addClass("highcharts-navigator-outline").add(b);a.styledMode||g.outline.attr({"stroke-width":d.outlineWidth,stroke:d.outlineColor});d.handles.enabled&&[0,1].forEach(function(f){d.handles.inverted=a.inverted;g.handles[f]=c.symbol(d.handles.symbols[f],-d.handles.width/2-1,0,d.handles.width,d.handles.height,d.handles);g.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
36
+ ["left","right"][f]).add(b);if(!a.styledMode){var y=d.handles;g.handles[f].attr({fill:y.backgroundColor,stroke:y.borderColor,"stroke-width":y.lineWidth}).css(k)}})},update:function(g){(this.series||[]).forEach(function(d){d.baseSeries&&delete d.baseSeries.navigatorSeries});this.destroy();a(!0,this.chart.options.navigator,this.options,g);this.init(this.chart)},render:function(g,d,f,a){var c=this.chart,y,k,n=this.scrollbarHeight,h,e=this.xAxis;y=e.fake?c.xAxis[0]:e;var m=this.navigatorEnabled,x,w=this.rendered;
37
+ k=c.inverted;var r,q=c.xAxis[0].minRange,u=c.xAxis[0].options.maxRange;if(!this.hasDragged||v(f)){if(!p(g)||!p(d))if(w)f=0,a=l(e.width,y.width);else return;this.left=l(e.left,c.plotLeft+n+(k?c.plotWidth:0));this.size=x=h=l(e.len,(k?c.plotHeight:c.plotWidth)-2*n);c=k?n:h+2*n;f=l(f,e.toPixels(g,!0));a=l(a,e.toPixels(d,!0));p(f)&&Infinity!==Math.abs(f)||(f=0,a=c);g=e.toValue(f,!0);d=e.toValue(a,!0);r=Math.abs(b.correctFloat(d-g));r<q?this.grabbedLeft?f=e.toPixels(d-q,!0):this.grabbedRight&&(a=e.toPixels(g+
38
+ q,!0)):v(u)&&r>u&&(this.grabbedLeft?f=e.toPixels(d-u,!0):this.grabbedRight&&(a=e.toPixels(g+u,!0)));this.zoomedMax=Math.min(Math.max(f,a,0),x);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,a),0),x);this.range=this.zoomedMax-this.zoomedMin;x=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"visible"}),w=w&&!this.hasDragged?"animate":"attr",this.drawMasks(f,x,k,w),this.drawOutline(f,x,k,w),this.navigatorOptions.handles.enabled&&
39
+ (this.drawHandle(f,0,k,w),this.drawHandle(x,1,k,w)));this.scrollbar&&(k?(k=this.top-n,y=this.left-n+(m||!y.opposite?0:(y.titleOffset||0)+y.axisTitleMargin),n=h+2*n):(k=this.top+(m?this.height:-n),y=this.left-n),this.scrollbar.position(y,k,c,n),this.scrollbar.setRange(this.zoomedMin/(h||1),this.zoomedMax/(h||1)));this.rendered=!0}},addMouseEvents:function(){var g=this,d=g.chart,f=d.container,a=[],c,k;g.mouseMoveHandler=c=function(f){g.onMouseMove(f)};g.mouseUpHandler=k=function(f){g.onMouseUp(f)};
40
+ a=g.getPartsEvents("mousedown");a.push(q(f,"mousemove",c),q(f.ownerDocument,"mouseup",k));e&&(a.push(q(f,"touchmove",c),q(f.ownerDocument,"touchend",k)),a.concat(g.getPartsEvents("touchstart")));g.eventsToUnbind=a;g.series&&g.series[0]&&a.push(q(g.series[0].xAxis,"foundExtremes",function(){d.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(g){var d=this,f=[];["shades","handles"].forEach(function(a){d[a].forEach(function(c,y){f.push(q(c.element,g,function(f){d[a+"Mousedown"](f,y)}))})});
41
+ return f},shadesMousedown:function(g,d){g=this.chart.pointer.normalize(g);var f=this.chart,a=this.xAxis,c=this.zoomedMin,k=this.left,b=this.size,n=this.range,l=g.chartX,h,e;f.inverted&&(l=g.chartY,k=this.top);1===d?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-c):(g=l-k-n/2,0===d?g=Math.max(0,g):2===d&&g+n>=b&&(g=b-n,this.reversedExtremes?(g-=n,e=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),g!==c&&(this.fixedWidth=n,d=a.toFixedRange(g,g+n,e,h),v(d.min)&&f.xAxis[0].setExtremes(Math.min(d.min,
42
+ d.max),Math.max(d.min,d.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(g,d){this.chart.pointer.normalize(g);g=this.chart;var f=g.xAxis[0],a=this.reversedExtremes;0===d?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?f.min:f.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?f.max:f.min);g.fixedRange=null},onMouseMove:function(g){var d=this,f=d.chart,a=d.left,c=d.navigatorSize,k=d.range,n=d.dragOffset,e=f.inverted;g.touches&&
43
+ 0===g.touches[0].pageX||(g=f.pointer.normalize(g),f=g.chartX,e&&(a=d.top,f=g.chartY),d.grabbedLeft?(d.hasDragged=!0,d.render(0,0,f-a,d.otherHandlePos)):d.grabbedRight?(d.hasDragged=!0,d.render(0,0,d.otherHandlePos,f-a)):d.grabbedCenter&&(d.hasDragged=!0,f<n?f=n:f>c+n-k&&(f=c+n-k),d.render(0,0,f-n,f-n+k)),d.hasDragged&&d.scrollbar&&l(d.scrollbar.options.liveRedraw,b.svg&&!h&&!this.chart.isBoosting)&&(g.DOMType=g.type,setTimeout(function(){d.onMouseUp(g)},0)))},onMouseUp:function(a){var d=this.chart,
44
+ f=this.xAxis,g=this.scrollbar,c,k,n=a.DOMEvent||a;(!this.hasDragged||g&&g.hasDragged)&&"scrollbar"!==a.trigger||(g=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?c=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(k=this.fixedExtreme),this.zoomedMax===this.size&&(k=this.reversedExtremes?g.dataMin:g.dataMax),0===this.zoomedMin&&(c=this.reversedExtremes?g.dataMax:g.dataMin),f=f.toFixedRange(this.zoomedMin,this.zoomedMax,c,k),v(f.min)&&d.xAxis[0].setExtremes(Math.min(f.min,f.max),
45
+ Math.max(f.min,f.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:n}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&
46
+ a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(d){w(d,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&w(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(g){var d=g.options,f=d.navigator,k=f.enabled,n=d.scrollbar,b=n.enabled,d=k?f.height:0,h=b?n.height:0;this.handles=[];this.shades=[];this.chart=g;this.setBaseSeries();this.height=d;this.scrollbarHeight=h;this.scrollbarEnabled=b;this.navigatorEnabled=k;this.navigatorOptions=f;this.scrollbarOptions=
47
+ n;this.outlineHeight=d+h;this.opposite=l(f.opposite,!k&&g.inverted);var e=this,k=e.baseSeries,n=g.xAxis.length,b=g.yAxis.length,m=k&&k[0]&&k[0].xAxis||g.xAxis[0]||{options:{}};g.isDirtyBox=!0;e.navigatorEnabled?(e.xAxis=new t(g,a({breaks:m.options.breaks,ordinal:m.options.ordinal},f.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:n,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},g.inverted?{offsets:[h,
48
+ 0,-h,0],width:d}:{offsets:[0,-h,0,h],height:d})),e.yAxis=new t(g,a(f.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:b,isInternal:!0,zoomEnabled:!1},g.inverted?{width:d}:{height:d})),k||f.series.data?e.updateNavigatorSeries(!1):0===g.series.length&&(e.unbindRedraw=q(g,"beforeRedraw",function(){0<g.series.length&&!e.series&&(e.setBaseSeries(),e.unbindRedraw())})),e.reversedExtremes=g.inverted&&!e.xAxis.reversed||!g.inverted&&e.xAxis.reversed,e.renderElements(),e.addMouseEvents()):e.xAxis=
49
+ {translate:function(f,d){var a=g.xAxis[0],c=a.getExtremes(),k=a.len-2*h,n=x("min",a.options.min,c.dataMin),a=x("max",a.options.max,c.dataMax)-n;return d?f*a/k+n:k*(f-n)/a},toPixels:function(f){return this.translate(f)},toValue:function(f){return this.translate(f,!0)},toFixedRange:t.prototype.toFixedRange,fake:!0};g.options.scrollbar.enabled&&(g.scrollbar=e.scrollbar=new c(g.renderer,a(g.options.scrollbar,{margin:e.navigatorEnabled?0:10,vertical:g.inverted}),g),q(e.scrollbar,"changed",function(f){var a=
50
+ e.size,d=a*this.to,a=a*this.from;e.hasDragged=e.scrollbar.hasDragged;e.render(0,0,a,d);(g.options.scrollbar.liveRedraw||"mousemove"!==f.DOMType&&"touchmove"!==f.DOMType)&&setTimeout(function(){e.onMouseUp(f)})}));e.addBaseSeriesEvents();e.addChartEvents()},getUnionExtremes:function(a){var d=this.chart.xAxis[0],f=this.xAxis,c=f.options,g=d.options,k;a&&null===d.dataMin||(k={dataMin:l(c&&c.min,x("min",g.min,d.dataMin,f.dataMin,f.min)),dataMax:l(c&&c.max,x("max",g.max,d.dataMax,f.dataMax,f.max))});return k},
51
+ setBaseSeries:function(a,d){var f=this.chart,c=this.baseSeries=[];a=a||f.options&&f.options.navigator.baseSeries||(f.series.length?b.find(f.series,function(f){return!f.options.isInternal}).index:0);(f.series||[]).forEach(function(f,d){f.options.isInternal||!f.options.showInNavigator&&(d!==a&&f.options.id!==a||!1===f.options.showInNavigator)||c.push(f)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,d)},updateNavigatorSeries:function(c,d){var f=this,g=f.chart,k=f.baseSeries,n,l,h=f.navigatorOptions.series,
52
+ e,x={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},p=f.series=(f.series||[]).filter(function(a){var d=a.baseSeries;return 0>k.indexOf(d)?(d&&(w(d,"updatedData",f.updatedDataHandler),delete d.navigatorSeries),a.chart&&a.destroy(),!1):!0});k&&k.length&&k.forEach(function(c){var b=c.navigatorSeries,y=m({color:c.color,visible:c.visible},r(h)?B.navigator.series:
53
+ h);b&&!1===f.navigatorOptions.adaptToUpdatedData||(x.name="Navigator "+k.length,n=c.options||{},e=n.navigatorOptions||{},l=a(n,x,y,e),y=e.data||y.data,f.hasNavigatorData=f.hasNavigatorData||!!y,l.data=y||n.data&&n.data.slice(0),b&&b.options?b.update(l,d):(c.navigatorSeries=g.initSeries(l),c.navigatorSeries.baseSeries=c,p.push(c.navigatorSeries)))});if(h.data&&(!k||!k.length)||r(h))f.hasNavigatorData=!1,h=b.splat(h),h.forEach(function(d,c){x.name="Navigator "+(p.length+1);l=a(B.navigator.series,{color:g.series[c]&&
54
+ !g.series[c].options.isInternal&&g.series[c].color||g.options.colors[c]||g.options.colors[0]},x,d);l.data=d.data;l.data&&(f.hasNavigatorData=!0,p.push(g.initSeries(l)))});c&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,d=a.baseSeries||[];d[0]&&d[0].xAxis&&q(d[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);d.forEach(function(f){q(f,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});q(f,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
55
+ !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&f.xAxis&&q(f,"updatedData",this.updatedDataHandler);q(f,"remove",function(){this.navigatorSeries&&(C(a.series,this.navigatorSeries),v(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,f){return Math.min(a,f.xData?f.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,d;a.getExtremes&&(!(d=this.getUnionExtremes(!0))||
56
+ d.dataMin===a.min&&d.dataMax===a.max||(a.min=d.dataMin,a.max=d.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,d=this.getExtremes(),f=d.dataMin,c=d.dataMax,d=d.max-d.min,k=a.stickToMin,n=a.stickToMax,b=l(this.options.overscroll,0),h,e,m=a.series&&a.series[0],x=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(k&&(e=f,h=e+d),n&&(h=c+b,k||(e=Math.max(h-d,a.getBaseSeriesMin(m&&m.xData?m.xData[0]:-Number.MAX_VALUE)))),x&&(k||n)&&p(e)&&(this.min=
57
+ this.userMin=e,this.max=this.userMax=h));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,d=this.navigatorSeries,f=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=p(this.xAxis.min)&&this.xAxis.min<=f&&(!this.chart.fixedRange||!a.stickToMax);d&&!a.hasNavigatorData&&(d.options.pointStart=this.xData[0],d.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||
58
+ (this.eventsToUnbind=[]);this.eventsToUnbind.push(q(this.chart,"redraw",function(){var a=this.navigator,d=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);d&&a.render(d.min,d.max)}),q(this.chart,"getMargins",function(){var a=this.navigator,d=a.opposite?"plotTop":"marginBottom";this.inverted&&(d=a.opposite?"marginRight":"plotLeft");this[d]=(this[d]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();
59
+ this.xAxis&&(C(this.chart.xAxis,this.xAxis),C(this.chart.axes,this.xAxis));this.yAxis&&(C(this.chart.yAxis,this.yAxis),C(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){A(a)},this)}};b.Navigator||(b.Navigator=z,
60
+ q(t,"zoom",function(a){var d=this.chart.options,f=d.chart.zoomType,c=d.chart.pinchType,g=d.navigator,d=d.rangeSelector;this.isXAxis&&(g&&g.enabled||d&&d.enabled)&&("y"===f?a.zoomed=!1:(!h&&"xy"===f||h&&"xy"===c)&&this.options.range&&(f=this.previousZoom,v(a.newMin)?this.previousZoom=[this.min,this.max]:f&&(a.newMin=f[0],a.newMax=f[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),q(u,"beforeShowResetZoom",function(){var a=this.options,d=a.navigator,f=a.rangeSelector;if((d&&d.enabled||
61
+ f&&f.enabled)&&(!h&&"x"===a.chart.zoomType||h&&"x"===a.chart.pinchType))return!1}),q(u,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new z(this)}),q(u,"afterSetChartSize",function(){var a=this.legend,d=this.navigator,f,c,k,n;d&&(c=a&&a.options,k=d.xAxis,n=d.yAxis,f=d.scrollbarHeight,this.inverted?(d.left=d.opposite?this.chartWidth-f-d.height:this.spacing[3]+f,d.top=this.plotTop+f):(d.left=this.plotLeft+f,d.top=d.navigatorOptions.top||
62
+ this.chartHeight-d.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&c.enabled&&!c.floating?a.legendHeight+l(c.margin,10):0)),k&&n&&(this.inverted?k.options.left=n.options.left=d.left:k.options.top=n.options.top=d.top,k.setAxisSize(),n.setAxisSize()))}),q(u,"update",function(c){var d=c.options.navigator||{},f=c.options.scrollbar||{};this.navigator||this.scroller||!d.enabled&&!f.enabled||(a(!0,this.options.navigator,
63
+ d),a(!0,this.options.scrollbar,f),delete c.options.navigator,delete c.options.scrollbar)}),q(u,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new z(this),l(a.redraw,!0)&&this.redraw(a.animation))}),q(u,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),q(k,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,
64
+ !1)}),u.prototype.callbacks.push(function(a){var c=a.navigator;c&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),c.render(a.min,a.max))}))});E(t,"parts/OrdinalAxis.js",[t["parts/Globals.js"]],function(b){var z=b.addEvent,q=b.Axis,t=b.Chart,u=b.css,D=b.defined,B=b.extend,v=b.noop,A=b.pick,C=b.timeUnits;z(b.Series,"updatedData",function(){var b=this.xAxis;b&&b.options.ordinal&&delete b.ordinalIndex});q.prototype.getTimeTicks=function(b,e,r,p,h,a,l){var m=0,c,k,n={},x,g,d,f=[],y=-Number.MAX_VALUE,G=this.options.tickPixelInterval,
65
+ F=this.chart.time,H=[];if(!this.options.ordinal&&!this.options.breaks||!h||3>h.length||void 0===e)return F.getTimeTicks.apply(F,arguments);g=h.length;for(c=0;c<g;c++){d=c&&h[c-1]>r;h[c]<e&&(m=c);if(c===g-1||h[c+1]-h[c]>5*a||d){if(h[c]>y){for(k=F.getTimeTicks(b,h[m],h[c],p);k.length&&k[0]<=y;)k.shift();k.length&&(y=k[k.length-1]);H.push(f.length);f=f.concat(k)}m=c+1}if(d)break}k=k.info;if(l&&k.unitRange<=C.hour){c=f.length-1;for(m=1;m<c;m++)F.dateFormat("%d",f[m])!==F.dateFormat("%d",f[m-1])&&(n[f[m]]=
66
+ "day",x=!0);x&&(n[f[0]]="day");k.higherRanks=n}k.segmentStarts=H;f.info=k;if(l&&D(G)){m=H=f.length;x=[];for(var q,F=[];m--;)c=this.translate(f[m]),q&&(F[m]=q-c),x[m]=q=c;F.sort();F=F[Math.floor(F.length/2)];F<.6*G&&(F=null);m=f[H-1]>r?H-1:H;for(q=void 0;m--;)c=x[m],H=Math.abs(q-c),q&&H<.8*G&&(null===F||H<.8*F)?(n[f[m]]&&!n[f[m+1]]?(H=m+1,q=c):H=m,f.splice(H,1)):q=c}return f};B(q.prototype,{beforeSetTickPositions:function(){var b,e=[],r,p=!1,h,a=this.getExtremes(),l=a.min,w=a.max,c,k=this.isXAxis&&
67
+ !!this.options.breaks,a=this.options.ordinal,n=Number.MAX_VALUE,x=this.chart.options.chart.ignoreHiddenSeries,g;if(a||k){this.series.forEach(function(a,f){r=[];if(!(x&&!1===a.visible||!1===a.takeOrdinalPosition&&!k)&&(e=e.concat(a.processedXData),b=e.length,e.sort(function(a,f){return a-f}),n=Math.min(n,A(a.closestPointRange,n)),b)){for(f=0;f<b-1;)e[f]!==e[f+1]&&r.push(e[f+1]),f++;r[0]!==e[0]&&r.unshift(e[0]);e=r}a.isSeriesBoosting&&(g=!0)});g&&(e.length=0);b=e.length;if(2<b){h=e[1]-e[0];for(c=b-
68
+ 1;c--&&!p;)e[c+1]-e[c]!==h&&(p=!0);!this.options.keepOrdinalPadding&&(e[0]-l>h||w-e[e.length-1]>h)&&(p=!0)}else this.options.overscroll&&(2===b?n=e[1]-e[0]:1===b?(n=this.options.overscroll,e=[e[0],e[0]+n]):n=this.overscrollPointsRange);p?(this.options.overscroll&&(this.overscrollPointsRange=n,e=e.concat(this.getOverscrollPositions())),this.ordinalPositions=e,h=this.ordinal2lin(Math.max(l,e[0]),!0),c=Math.max(this.ordinal2lin(Math.min(w,e[e.length-1]),!0),1),this.ordinalSlope=w=(w-l)/(c-h),this.ordinalOffset=
69
+ l-h*w):(this.overscrollPointsRange=A(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=a&&p;this.groupIntervalFactor=null},val2lin:function(b,e){var m=this.ordinalPositions;if(m){var p=m.length,h,a;for(h=p;h--;)if(m[h]===b){a=h;break}for(h=p-1;h--;)if(b>m[h]||0===h){b=(b-m[h])/(m[h+1]-m[h]);a=h+b;break}e=e?a:this.ordinalSlope*(a||0)+this.ordinalOffset}else e=b;return e},lin2val:function(b,e){var m=this.ordinalPositions;
70
+ if(m){var p=this.ordinalSlope,h=this.ordinalOffset,a=m.length-1,l;if(e)0>b?b=m[0]:b>a?b=m[a]:(a=Math.floor(b),l=b-a);else for(;a--;)if(e=p*a+h,b>=e){p=p*(a+1)+h;l=(b-e)/(p-e);break}return void 0!==l&&void 0!==m[a]?m[a]+(l?l*(m[a+1]-m[a]):0):b}return b},getExtendedPositions:function(){var b=this,e=b.chart,r=b.series[0].currentDataGrouping,p=b.ordinalIndex,h=r?r.count+r.unitName:"raw",a=b.options.overscroll,l=b.getExtremes(),w,c;p||(p=b.ordinalIndex={});p[h]||(w={series:[],chart:e,getExtremes:function(){return{min:l.dataMin,
71
+ max:l.dataMax+a}},options:{ordinal:!0},val2lin:q.prototype.val2lin,ordinal2lin:q.prototype.ordinal2lin},b.series.forEach(function(a){c={xAxis:w,xData:a.xData.slice(),chart:e,destroyGroupedData:v};c.xData=c.xData.concat(b.getOverscrollPositions());c.options={dataGrouping:r?{enabled:!0,forced:!0,approximation:"open",units:[[r.unitName,[r.count]]]}:{enabled:!1}};a.processData.apply(c);w.series.push(c)}),b.beforeSetTickPositions.apply(w),p[h]=w.ordinalPositions);return p[h]},getOverscrollPositions:function(){var m=
72
+ this.options.overscroll,e=this.overscrollPointsRange,r=[],p=this.dataMax;if(b.defined(e))for(r.push(p);p<=this.dataMax+m;)p+=e,r.push(p);return r},getGroupIntervalFactor:function(b,e,r){var m;r=r.processedXData;var h=r.length,a=[];m=this.groupIntervalFactor;if(!m){for(m=0;m<h-1;m++)a[m]=r[m+1]-r[m];a.sort(function(a,b){return a-b});a=a[Math.floor(h/2)];b=Math.max(b,r[0]);e=Math.min(e,r[h-1]);this.groupIntervalFactor=m=h*a/(e-b)}return m},postProcessTickInterval:function(b){var e=this.ordinalSlope;
73
+ return e?this.options.breaks?this.closestPointRange||b:b/(e/this.closestPointRange):b}});q.prototype.ordinal2lin=q.prototype.val2lin;z(t,"pan",function(b){var e=this.xAxis[0],m=e.options.overscroll,p=b.originalEvent.chartX,h=!1;if(e.options.ordinal&&e.series.length){var a=this.mouseDownX,l=e.getExtremes(),w=l.dataMax,c=l.min,k=l.max,n=this.hoverPoints,x=e.closestPointRange||e.overscrollPointsRange,a=(a-p)/(e.translationSlope*(e.ordinalSlope||x)),g={ordinalPositions:e.getExtendedPositions()},x=e.lin2val,
74
+ d=e.val2lin,f;g.ordinalPositions?1<Math.abs(a)&&(n&&n.forEach(function(a){a.setState()}),0>a?(n=g,f=e.ordinalPositions?e:g):(n=e.ordinalPositions?e:g,f=g),g=f.ordinalPositions,w>g[g.length-1]&&g.push(w),this.fixedRange=k-c,a=e.toFixedRange(null,null,x.apply(n,[d.apply(n,[c,!0])+a,!0]),x.apply(f,[d.apply(f,[k,!0])+a,!0])),a.min>=Math.min(l.dataMin,c)&&a.max<=Math.max(w,k)+m&&e.setExtremes(a.min,a.max,!0,!1,{trigger:"pan"}),this.mouseDownX=p,u(this.container,{cursor:"move"})):h=!0}else h=!0;h?m&&(e.max=
75
+ e.dataMax+m):b.preventDefault()});z(q,"foundExtremes",function(){this.isXAxis&&D(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&D(this.userMin)&&(this.min+=this.options.overscroll))});z(q,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)})});
76
+ E(t,"modules/broken-axis.src.js",[t["parts/Globals.js"]],function(b){var z=b.addEvent,q=b.pick,t=b.extend,u=b.isArray,D=b.find,B=b.fireEvent,v=b.Axis,A=b.Series,C=function(b,e){return D(e,function(e){return e.from<b&&b<e.to})};t(v.prototype,{isInBreak:function(b,e){var m=b.repeat||Infinity,p=b.from,h=b.to-b.from;e=e>=p?(e-p)%m:m-(p-e)%m;return b.inclusive?e<=h:e<h&&0!==e},isInAnyBreak:function(b,e){var m=this.options.breaks,p=m&&m.length,h,a,l;if(p){for(;p--;)this.isInBreak(m[p],b)&&(h=!0,a||(a=q(m[p].showPoints,
77
+ !this.isXAxis)));l=h&&e?h&&!a:h}return l}});z(v,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});z(v,"afterSetTickPositions",function(){if(this.isBroken){var b=this.tickPositions,e=this.tickPositions.info,r=[],p;for(p=0;p<b.length;p++)this.isInAnyBreak(b[p])||r.push(b[p]);this.tickPositions=r;this.tickPositions.info=e}});z(v,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});v.prototype.setBreaks=function(b,e){function m(a){var b=
78
+ a,c,k;for(k=0;k<h.breakArray.length;k++)if(c=h.breakArray[k],c.to<=a)b-=c.len;else if(c.from>=a)break;else if(h.isInBreak(c,a)){b-=a-c.from;break}return b}function p(a){var b,c;for(c=0;c<h.breakArray.length&&!(b=h.breakArray[c],b.from>=a);c++)b.to<a?a+=b.len:h.isInBreak(b,a)&&(a+=b.len);return a}var h=this,a=u(b)&&!!b.length;h.isDirty=h.isBroken!==a;h.isBroken=a;h.options.breaks=h.userOptions.breaks=b;h.forceRedraw=!0;a||h.val2lin!==m||(delete h.val2lin,delete h.lin2val);a&&(h.userOptions.ordinal=
79
+ !1,h.val2lin=m,h.lin2val=p,h.setExtremes=function(a,b,c,k,n){if(this.isBroken){for(var h,g=this.options.breaks;h=C(a,g);)a=h.to;for(;h=C(b,g);)b=h.from;b<a&&(b=a)}v.prototype.setExtremes.call(this,a,b,c,k,n)},h.setAxisTranslation=function(a){v.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=h.options.breaks;var b=[],c=[],k=0,n,e,g=h.userMin||h.min,d=h.userMax||h.max,f=q(h.pointRangePadding,0),y,l;a.forEach(function(a){e=a.repeat||Infinity;h.isInBreak(a,g)&&(g+=a.to%
80
+ e-g%e);h.isInBreak(a,d)&&(d-=d%e-a.from%e)});a.forEach(function(a){y=a.from;for(e=a.repeat||Infinity;y-e>g;)y-=e;for(;y<g;)y+=e;for(l=y;l<d;l+=e)b.push({value:l,move:"in"}),b.push({value:l+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,f){return a.value===f.value?("in"===a.move?0:1)-("in"===f.move?0:1):a.value-f.value});n=0;y=g;b.forEach(function(a){n+="in"===a.move?1:-1;1===n&&"in"===a.move&&(y=a.value);0===n&&(c.push({from:y,to:a.value,len:a.value-y-(a.size||0)}),k+=a.value-y-(a.size||
81
+ 0))});h.breakArray=c;h.unitLength=d-g-k+f;B(h,"afterBreaks");h.staticScale?h.transA=h.staticScale:h.unitLength&&(h.transA*=(d-h.min+f)/h.unitLength);f&&(h.minPixelPadding=h.transA*h.minPointOffset);h.min=g;h.max=d}});q(e,!0)&&this.chart.redraw()};z(A,"afterGeneratePoints",function(){var b=this.xAxis,e=this.yAxis,r=this.points,p,h=r.length,a=this.options.connectNulls,l;if(b&&e&&(b.options.breaks||e.options.breaks))for(;h--;)p=r[h],l=null===p.y&&!1===a,l||!b.isInAnyBreak(p.x,!0)&&!e.isInAnyBreak(p.y,
82
+ !0)||(r.splice(h,1),this.data[h]&&this.data[h].destroyElements())});z(A,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,q(this.pointArrayMap,["y"]))});b.Series.prototype.drawBreaks=function(b,e){var m=this,p=m.points,h,a,l,w;b&&e.forEach(function(c){h=b.breakArray||[];a=b.isXAxis?b.min:q(m.options.threshold,b.min);p.forEach(function(k){w=q(k["stack"+c.toUpperCase()],k[c]);h.forEach(function(c){l=!1;if(a<c.from&&w>c.to||a>c.from&&w<c.from)l="pointBreak";else if(a<
83
+ c.from&&w>c.from&&w<c.to||a>c.from&&w>c.to&&w<c.from)l="pointInBreak";l&&B(b,l,{point:k,brk:c})})})})};b.Series.prototype.gappedPath=function(){var m=this.currentDataGrouping,e=m&&m.gapSize,m=this.options.gapSize,r=this.points.slice(),p=r.length-1,h=this.yAxis;if(m&&0<p)for("value"!==this.options.gapUnit&&(m*=this.closestPointRange),e&&e>m&&(m=e);p--;)r[p+1].x-r[p].x>m&&(e=(r[p].x+r[p+1].x)/2,r.splice(p+1,0,{isNull:!0,x:e}),this.options.stacking&&(e=h.stacks[this.stackKey][e]=new b.StackItem(h,h.options.stackLabels,
84
+ !1,e,this.stack),e.total=0));return this.getGraphPath(r)}});E(t,"masters/modules/broken-axis.src.js",[],function(){});E(t,"parts/DataGrouping.js",[t["parts/Globals.js"]],function(b){var z=b.addEvent,q=b.arrayMax,t=b.arrayMin,u=b.Axis,D=b.defaultPlotOptions,B=b.defined,v=b.extend,A=b.format,C=b.isNumber,m=b.merge,e=b.pick,r=b.Point,p=b.Series,h=b.Tooltip,a=b.approximations={sum:function(a){var f=a.length,c;if(!f&&a.hasNulls)c=null;else if(f)for(c=0;f--;)c+=a[f];return c},average:function(f){var c=
85
+ f.length;f=a.sum(f);C(f)&&c&&(f/=c);return f},averages:function(){var f=[];[].forEach.call(arguments,function(c){f.push(a.average(c))});return void 0===f[0]?void 0:f},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?q(a):a.hasNulls?null:void 0},low:function(a){return a.length?t(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(c,d,b,k){c=a.open(c);d=a.high(d);b=a.low(b);k=a.close(k);if(C(c)||
86
+ C(d)||C(b)||C(k))return[c,d,b,k]},range:function(c,d){c=a.low(c);d=a.high(d);if(C(c)||C(d))return[c,d];if(null===c&&null===d)return null}},l=function(c,d,b,k){var f=this,g=f.data,n=f.options&&f.options.data,h=[],e=[],l=[],y=c.length,p,x,F=!!d,G=[],r=f.pointArrayMap,w=r&&r.length,q=["x"].concat(r||["y"]),u=0,A=0,D,v;k="function"===typeof k?k:a[k]?a[k]:a[f.getDGApproximation&&f.getDGApproximation()||"average"];w?r.forEach(function(){G.push([])}):G.push([]);D=w||1;for(v=0;v<=y&&!(c[v]>=b[0]);v++);for(v;v<=
87
+ y;v++){for(;void 0!==b[u+1]&&c[v]>=b[u+1]||v===y;){p=b[u];f.dataGroupInfo={start:f.cropStart+A,length:G[0].length};x=k.apply(f,G);f.pointClass&&!B(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=m(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+A])),q.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==x&&(h.push(p),e.push(x),l.push(f.dataGroupInfo));A=v;for(p=0;p<D;p++)G[p].length=0,G[p].hasNulls=!1;u+=1;if(v===y)break}if(v===y)break;if(r){p=f.cropStart+
88
+ v;x=g&&g[p]||f.pointClass.prototype.applyOptions.apply({series:f},[n[p]]);var t;for(p=0;p<w;p++)t=x[r[p]],C(t)?G[p].push(t):null===t&&(G[p].hasNulls=!0)}else p=F?d[v]:null,C(p)?G[0].push(p):null===p&&(G[0].hasNulls=!0)}return{groupedXData:h,groupedYData:e,groupMap:l}},w={approximations:a,groupData:l},c=p.prototype,k=c.processData,n=c.generatePoints,x={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",
89
+ "%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"]}},g={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},d=b.defaultDataGroupingUnits=
90
+ [["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]];c.getDGApproximation=function(){return b.seriesTypes.arearange&&this instanceof b.seriesTypes.arearange?"range":b.seriesTypes.ohlc&&this instanceof b.seriesTypes.ohlc?"ohlc":b.seriesTypes.column&&this instanceof b.seriesTypes.column?"sum":"average"};c.groupData=l;c.processData=function(){var a=this.chart,b=this.options.dataGrouping,
91
+ g=!1!==this.allowDG&&b&&e(b.enabled,a.options.isStock),n=this.visible||!a.options.chart.ignoreHiddenSeries,h,l=this.currentDataGrouping,p,x=!1;this.forceCrop=g;this.groupPixelWidth=null;this.hasProcessed=!0;g&&!this.requireSorting&&(this.requireSorting=x=!0);g=!1===k.apply(this,arguments)||!g;x&&(this.requireSorting=!1);if(!g){this.destroyGroupedData();var m,g=b.groupAll?this.xData:this.processedXData,r=b.groupAll?this.yData:this.processedYData,w=a.plotSizeX,a=this.xAxis,q=a.options.ordinal,u=this.groupPixelWidth=
92
+ a.getGroupPixelWidth&&a.getGroupPixelWidth();if(u){this.isDirty=h=!0;this.points=null;x=a.getExtremes();p=x.min;var x=x.max,q=q&&a.getGroupIntervalFactor(p,x,this)||1,u=u*(x-p)/w*q,w=a.getTimeTicks(a.normalizeTimeTickInterval(u,b.units||d),Math.min(p,g[0]),Math.max(x,g[g.length-1]),a.options.startOfWeek,g,this.closestPointRange),r=c.groupData.apply(this,[g,r,w,b.approximation]),g=r.groupedXData,q=r.groupedYData,v=0;if(b.smoothed&&g.length){m=g.length-1;for(g[m]=Math.min(g[m],x);m--&&0<m;)g[m]+=u/
93
+ 2;g[0]=Math.max(g[0],p)}for(m=1;m<w.length;m++)w.info.segmentStarts&&-1!==w.info.segmentStarts.indexOf(m)||(v=Math.max(w[m]-w[m-1],v));p=w.info;p.gapSize=v;this.closestPointRange=w.info.totalRange;this.groupMap=r.groupMap;if(B(g[0])&&g[0]<a.dataMin&&n){if(!B(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=g[0];a.dataMin=g[0]}b.groupAll&&(b=this.cropData(g,q,a.min,a.max,1),g=b.xData,q=b.yData);this.processedXData=g;this.processedYData=q}else this.groupMap=null;this.hasGroupedData=h;this.currentDataGrouping=
94
+ p;this.preventGraphAnimation=(l&&l.totalRange)!==(p&&p.totalRange)}};c.destroyGroupedData=function(){var a=this.groupedData;(a||[]).forEach(function(c,f){c&&(a[f]=c.destroy?c.destroy():null)});this.groupedData=null};c.generatePoints=function(){n.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};z(r,"update",function(){if(this.dataGroup)return b.error(24,!1,this.series.chart),!1});z(h,"headerFormatter",function(a){var c=this.chart.time,d=a.labelConfig,f=d.series,
95
+ b=f.tooltipOptions,g=f.options.dataGrouping,k=b.xDateFormat,n,h=f.xAxis,e,l=b[(a.isFooter?"footer":"header")+"Format"];h&&"datetime"===h.options.type&&g&&C(d.key)&&(e=f.currentDataGrouping,g=g.dateTimeLabelFormats||x.dateTimeLabelFormats,e?(b=g[e.unitName],1===e.count?k=b[0]:(k=b[1],n=b[2])):!k&&g&&(k=this.getXDateFormat(d,b,h)),k=c.dateFormat(k,d.key),n&&(k+=c.dateFormat(n,d.key+e.totalRange-1)),f.chart.styledMode&&(l=this.styledModeFormat(l)),a.text=A(l,{point:v(d.point,{key:k}),series:f},c),a.preventDefault())});
96
+ z(p,"destroy",c.destroyGroupedData);z(p,"afterSetOptions",function(a){a=a.options;var c=this.type,d=this.chart.options.plotOptions,f=D[c].dataGrouping,b=this.useCommonDataGrouping&&x;if(g[c]||b)f||(f=m(x,g[c])),a.dataGrouping=m(b,f,d.series&&d.series.dataGrouping,d[c].dataGrouping,this.userOptions.dataGrouping)});z(u,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});u.prototype.getGroupPixelWidth=function(){var a=this.series,c=a.length,d,b=0,k=!1,g;for(d=c;d--;)(g=a[d].options.dataGrouping)&&
97
+ (b=Math.max(b,e(g.groupPixelWidth,x.groupPixelWidth)));for(d=c;d--;)(g=a[d].options.dataGrouping)&&a[d].hasProcessed&&(c=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||c>this.chart.plotSizeX/b||c&&g.forced)&&(k=!0);return k?b:0};u.prototype.setDataGrouping=function(a,c){var d;c=e(c,!0);a||(a={forced:!1,units:null});if(this instanceof u)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(c){c.dataGrouping=a},!1);this.ordinalSlope=
98
+ null;c&&this.chart.redraw()};return b.dataGrouping=w});E(t,"parts/OHLCSeries.js",[t["parts/Globals.js"]],function(b){var t=b.Point,q=b.seriesType,E=b.seriesTypes;q("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\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'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},
99
+ {directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(b){return[b.open,b.high,b.low,b.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){E.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(b,q){q=E.column.prototype.pointAttribs.call(this,b,q);var u=this.options;delete q.fill;!b.options.color&&u.upColor&&b.open<b.close&&(q.stroke=u.upColor);return q},translate:function(){var b=this,
100
+ q=b.yAxis,B=!!b.modifyValue,v=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];E.column.prototype.translate.apply(b);b.points.forEach(function(u){[u.open,u.high,u.low,u.close,u.low].forEach(function(A,m){null!==A&&(B&&(A=b.modifyValue(A)),u[v[m]]=q.toPixels(A,!0))});u.tooltipPos[1]=u.plotHigh+q.pos-b.chart.plotTop})},drawPoints:function(){var b=this,q=b.chart;b.points.forEach(function(u){var v,A,t,m,e=u.graphic,r,p=!e;void 0!==u.plotY&&(e||(u.graphic=e=q.renderer.path().add(b.group)),q.styledMode||
101
+ e.attr(b.pointAttribs(u,u.selected&&"select")),A=e.strokeWidth()%2/2,r=Math.round(u.plotX)-A,t=Math.round(u.shapeArgs.width/2),m=["M",r,Math.round(u.yBottom),"L",r,Math.round(u.plotHigh)],null!==u.open&&(v=Math.round(u.plotOpen)+A,m.push("M",r,v,"L",r-t,v)),null!==u.close&&(v=Math.round(u.plotClose)+A,m.push("M",r,v,"L",r+t,v)),e[p?"attr":"animate"]({d:m}).addClass(u.getClassName(),!0))})},animate:null},{getClassName:function(){return t.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":
102
+ " highcharts-point-down")}})});E(t,"parts/CandlestickSeries.js",[t["parts/Globals.js"]],function(b){var t=b.defaultPlotOptions,q=b.merge,E=b.seriesType,u=b.seriesTypes;E("candlestick","ohlc",q(t.column,{states:{hover:{lineWidth:2}},tooltip:t.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(b,q){var v=u.column.prototype.pointAttribs.call(this,b,q),t=this.options,z=b.open<b.close,m=t.lineColor||this.color;v["stroke-width"]=t.lineWidth;
103
+ v.fill=b.options.color||(z?t.upColor||this.color:this.color);v.stroke=b.lineColor||(z?t.upLineColor||m:m);q&&(b=t.states[q],v.fill=b.color||v.fill,v.stroke=b.lineColor||v.stroke,v["stroke-width"]=b.lineWidth||v["stroke-width"]);return v},drawPoints:function(){var b=this,q=b.chart,u=b.yAxis.reversed;b.points.forEach(function(v){var t=v.graphic,m,e,r,p,h,a,l,w=!t;void 0!==v.plotY&&(t||(v.graphic=t=q.renderer.path().add(b.group)),b.chart.styledMode||t.attr(b.pointAttribs(v,v.selected&&"select")).shadow(b.options.shadow),
104
+ h=t.strokeWidth()%2/2,a=Math.round(v.plotX)-h,m=v.plotOpen,e=v.plotClose,r=Math.min(m,e),m=Math.max(m,e),l=Math.round(v.shapeArgs.width/2),e=u?m!==v.yBottom:Math.round(r)!==Math.round(v.plotHigh),p=u?Math.round(r)!==Math.round(v.plotHigh):m!==v.yBottom,r=Math.round(r)+h,m=Math.round(m)+h,h=[],h.push("M",a-l,m,"L",a-l,r,"L",a+l,r,"L",a+l,m,"Z","M",a,r,"L",a,e?Math.round(u?v.yBottom:v.plotHigh):r,"M",a,m,"L",a,p?Math.round(u?v.plotHigh:v.yBottom):m),t[w?"attr":"animate"]({d:h}).addClass(v.getClassName(),
105
+ !0))})}})});E(t,"mixins/on-series.js",[t["parts/Globals.js"]],function(b){var t=b.defined,q=b.seriesTypes,E=b.stableSort;return{getPlotBox:function(){return b.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){q.column.prototype.translate.apply(this);var b=this,z=b.options,B=b.chart,v=b.points,A=v.length-1,C,m=z.onSeries,m=m&&B.get(m),z=z.onKey||"y",e=m&&m.options.step,r=m&&m.points,p=r&&r.length,h=B.inverted,a=b.xAxis,l=b.yAxis,
106
+ w=0,c,k,n,x;if(m&&m.visible&&p)for(w=(m.pointXOffset||0)+(m.barW||0)/2,B=m.currentDataGrouping,k=r[p-1].x+(B?B.totalRange:0),E(v,function(a,c){return a.x-c.x}),z="plot"+z[0].toUpperCase()+z.substr(1);p--&&v[A]&&!(c=r[p],B=v[A],B.y=c.y,c.x<=B.x&&void 0!==c[z]&&(B.x<=k&&(B.plotY=c[z],c.x<B.x&&!e&&(n=r[p+1])&&void 0!==n[z]&&(x=(B.x-c.x)/(n.x-c.x),B.plotY+=x*(n[z]-c[z]),B.y+=x*(n.y-c.y))),A--,p++,0>A)););v.forEach(function(c,d){var f;c.plotX+=w;if(void 0===c.plotY||h)0<=c.plotX&&c.plotX<=a.len?h?(c.plotY=
107
+ a.translate(c.x,0,1,0,1),c.plotX=t(c.y)?l.translate(c.y,0,0,0,1):0):c.plotY=(a.opposite?0:b.yAxis.len)+a.offset:c.shapeArgs={};(C=v[d-1])&&C.plotX===c.plotX&&(void 0===C.stackIndex&&(C.stackIndex=0),f=C.stackIndex+1);c.stackIndex=f});this.onSeries=m}}});E(t,"parts/FlagsSeries.js",[t["parts/Globals.js"],t["mixins/on-series.js"]],function(b,t){function q(b){r[b+"pin"]=function(h,a,e,p,c){var k=c&&c.anchorX;c=c&&c.anchorY;var n;"circle"===b&&p>e&&(h-=Math.round((p-e)/2),e=p);n=r[b](h,a,e,p);k&&c&&(n.push("M",
108
+ "circle"===b?h+e/2:n[1]+n[4]/2,a>c?a:a+p,"L",k,c),n=n.concat(r.circle(k-1,c-1,2,2)));return n}}var z=b.addEvent,u=b.merge,D=b.noop,B=b.defined,v=b.Renderer,A=b.Series,C=b.seriesType,m=b.TrackerMixin,e=b.VMLRenderer,r=b.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,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},
109
+ style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:A.prototype.init,pointAttribs:function(b,e){var a=this.options,h=b&&b.color||this.color,p=a.lineColor,c=b&&b.lineWidth;b=b&&b.fillColor||a.fillColor;e&&(b=a.states[e].fillColor,p=a.states[e].lineColor,c=a.states[e].lineWidth);return{fill:b||h,stroke:p||h,"stroke-width":c||a.lineWidth||0}},translate:t.translate,getPlotBox:t.getPlotBox,drawPoints:function(){var e=
110
+ this.points,h=this.chart,a=h.renderer,l,m,c=h.inverted,k=this.options,n=k.y,x,g,d,f,y,q,F=this.yAxis,r={},v=[],t;for(g=e.length;g--;)d=e[g],q=(c?d.plotY:d.plotX)>this.xAxis.len,l=d.plotX,f=d.stackIndex,x=d.options.shape||k.shape,m=d.plotY,void 0!==m&&(m=d.plotY+n-(void 0!==f&&f*k.stackDistance)),d.anchorX=f?void 0:d.plotX,y=f?void 0:d.plotY,t="flag"!==x,f=d.graphic,void 0!==m&&0<=l&&!q?(f||(f=d.graphic=a.label("",null,null,x,null,null,k.useHTML),h.styledMode||f.attr(this.pointAttribs(d)).css(u(k.style,
111
+ d.style)),f.attr({align:t?"center":"left",width:k.width,height:k.height,"text-align":k.textAlign}).addClass("highcharts-point").add(this.markerGroup),d.graphic.div&&(d.graphic.div.point=d),h.styledMode||f.shadow(k.shadow),f.isNew=!0),0<l&&(l-=f.strokeWidth()%2),x={y:m,anchorY:y},k.allowOverlapX&&(x.x=l,x.anchorX=d.anchorX),f.attr({text:d.options.title||k.title||"A"})[f.isNew?"attr":"animate"](x),k.allowOverlapX||(r[d.plotX]?r[d.plotX].size=Math.max(r[d.plotX].size,f.width):r[d.plotX]={align:t?.5:
112
+ 0,size:f.width,target:l,anchorX:l}),d.tooltipPos=[l,m+F.pos-h.plotTop]):f&&(d.graphic=f.destroy());k.allowOverlapX||(b.objectEach(r,function(a){a.plotX=a.anchorX;v.push(a)}),b.distribute(v,c?F.len:this.xAxis.len,100),e.forEach(function(a){var c=a.graphic&&r[a.plotX];c&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:c.pos+c.align*c.size,anchorX:a.anchorX}),B(c.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));k.useHTML&&b.wrap(this.markerGroup,"on",function(a){return b.SVGElement.prototype.on.apply(a.apply(this,
113
+ [].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var b=this.points;m.drawTrackerPoint.apply(this);b.forEach(function(e){var a=e.graphic;a&&z(a.element,"mouseover",function(){0<e.stackIndex&&!e.raised&&(e._y=a.y,a.attr({y:e._y-8}),e.raised=!0);b.forEach(function(a){a!==e&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(b){b?this.setClip():this.animate=null},setClip:function(){A.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&
114
+ this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:D,invertGroups:D},{isValid:function(){return b.isNumber(this.y)||void 0===this.y}});r.flag=function(b,e,a,l,m){var c=m&&m.anchorX||b;m=m&&m.anchorY||e;return r.circle(c-1,m-1,2,2).concat(["M",c,m,"L",b,e+l,b,e,b+a,e,b+a,e+l,b,e+l,"Z"])};q("circle");q("square");v===e&&["flag","circlepin","squarepin"].forEach(function(b){e.prototype.symbols[b]=r[b]})});E(t,"parts/RangeSelector.js",[t["parts/Globals.js"]],function(b){function t(a){this.init(a)}
115
+ var q=b.addEvent,E=b.Axis,u=b.Chart,D=b.css,B=b.createElement,v=b.defaultOptions,A=b.defined,C=b.destroyObjectProperties,m=b.discardElement,e=b.extend,r=b.fireEvent,p=b.isNumber,h=b.merge,a=b.pick,l=b.pInt,w=b.splat;e(v,{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},labelStyle:{color:"#666666"}}});v.lang=h(v.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
116
+ rangeSelectorTo:"To"});t.prototype={clickButton:function(c,b){var k=this.chart,e=this.buttonOptions[c],g=k.xAxis[0],d=k.scroller&&k.scroller.getUnionExtremes()||g||{},f=d.dataMin,h=d.dataMax,l,m=g&&Math.round(Math.min(g.max,a(h,g.max))),r=e.type,v,d=e._range,t,u,z,B=e.dataGrouping;if(null!==f&&null!==h){k.fixedRange=d;B&&(this.forcedDataGrouping=!0,E.prototype.setDataGrouping.call(g||{chart:this.chart},B,!1),this.frozenStates=e.preserveDataGrouping);if("month"===r||"year"===r)g?(r={range:e,max:m,
117
+ chart:k,dataMin:f,dataMax:h},l=g.minFromRange.call(r),p(r.newMax)&&(m=r.newMax)):d=e;else if(d)l=Math.max(m-d,f),m=Math.min(l+d,h);else if("ytd"===r)if(g)void 0===h&&(f=Number.MAX_VALUE,h=Number.MIN_VALUE,k.series.forEach(function(a){a=a.xData;f=Math.min(a[0],f);h=Math.max(a[a.length-1],h)}),b=!1),m=this.getYTDExtremes(h,f,k.time.useUTC),l=t=m.min,m=m.max;else{this.deferredYTDClick=c;return}else"all"===r&&g&&(l=f,m=h);l+=e._offsetMin;m+=e._offsetMax;this.setSelected(c);g?g.setExtremes(l,m,a(b,1),
118
+ null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(v=w(k.options.xAxis)[0],z=v.range,v.range=d,u=v.min,v.min=t,q(k,"load",function(){v.range=z;v.min=u}))}},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),
119
+ g=c.selected,d=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&r(a,"blur");c&&c.blur&&r(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=e;this.unMouseDown=q(a.container,"mousedown",d);this.unResize=q(a,"resize",d);e.forEach(b.computeButtonRange);void 0!==g&&e[g]&&this.clickButton(g,!1);q(a,"load",function(){a.xAxis&&a.xAxis[0]&&q(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&
120
+ !b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,e=b.xAxis[0],h=Math.round(e.max-e.min),g=!e.hasVisibleSeries,d=b.scroller&&b.scroller.getUnionExtremes()||e,f=d.dataMin,l=d.dataMax,b=a.getYTDExtremes(l,f,b.time.useUTC),m=b.min,r=b.max,q=a.selected,v=p(q),t=a.options.allButtonsEnabled,u=a.buttons;a.buttonOptions.forEach(function(b,c){var d=b._range,k=b.type,n=b.count||1,p=u[c],y=0,x=b._offsetMax-b._offsetMin;b=c===q;var F=d>l-f,w=d<e.minRange,
121
+ G=!1,z=!1,d=d===h;("month"===k||"year"===k)&&h+36E5>=864E5*{month:28,year:365}[k]*n-x&&h-36E5<=864E5*{month:31,year:366}[k]*n+x?d=!0:"ytd"===k?(d=r-m+x===h,G=!b):"all"===k&&(d=e.max-e.min>=l-f,z=!b&&v&&d);k=!t&&(F||w||z||g);n=b&&d||d&&!v&&!G||b&&a.frozenStates;k?y=3:n&&(v=!0,y=2);p.state!==y&&(p.setState(y),0===y&&q===c&&a.setSelected(null))})},computeButtonRange:function(b){var c=b.type,e=b.count||1,h={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(h[c])b._range=h[c]*e;else if("month"===
122
+ c||"year"===c)b._range=864E5*{month:30,year:365}[c]*e;b._offsetMin=a(b.offsetMin,0);b._offsetMax=a(b.offsetMax,0);b._range+=b._offsetMax-b._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,k=this.chart.time,e=this[a+"Input"];A(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=k.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:k.dateFormat(c.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+
123
+ "DateBox"];D(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){D(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function c(){var a=q.value,b=(f.inputDateParser||Date.parse)(a),c=m.xAxis[0],d=m.scroller&&m.scroller.xAxis?m.scroller.xAxis:c,e=d.dataMin,d=d.dataMax;b!==q.previousValue&&(q.previousValue=b,p(b)||(b=a.split("-"),b=Date.UTC(l(b[0]),
124
+ l(b[1])-1,l(b[2]))),p(b)&&(m.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),r?b>n.maxInput.HCTime?b=void 0:b<e&&(b=e):b<n.minInput.HCTime?b=void 0:b>d&&(b=d),void 0!==b&&c.setExtremes(r?b:c.min,r?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var n=this,m=n.chart,g=m.renderer.style||{},d=m.renderer,f=m.options.rangeSelector,y=n.div,r="min"===a,q,t,u=this.inputGroup;this[a+"Label"]=t=d.label(v.lang[r?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(u);
125
+ u.offset+=t.width+5;this[a+"DateBox"]=d=d.label("",u.offset).addClass("highcharts-range-input").attr({padding:2,width:f.inputBoxWidth||90,height:f.inputBoxHeight||17,"text-align":"center"}).on("click",function(){n.showInput(a);n[a+"Input"].focus()});m.styledMode||d.attr({stroke:f.inputBoxBorderColor||"#cccccc","stroke-width":1});d.add(u);u.offset+=d.width+(r?10:0);this[a+"Input"]=q=B("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:m.plotTop+"px"},y);m.styledMode||(t.css(h(g,
126
+ f.labelStyle)),d.css(h({color:"#333333"},g,f.inputStyle)),D(q,e({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,top:"-9999em"},f.inputStyle)));q.onfocus=function(){n.showInput(a)};q.onblur=function(){q===b.doc.activeElement&&c();n.hideInput(a);q.blur()};q.onchange=c;q.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
127
+ 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,e){var c=this.chart.time,g=new c.Date(a),d=c.get("FullYear",g);e=e?c.Date.UTC(d,0,1):+new c.Date(d,0,1);b=Math.max(b||0,e);g=g.getTime();return{max:Math.min(a||g,g),min:b}},render:function(b,e){var c=this,k=c.chart,g=k.renderer,d=k.container,f=k.options,h=f.exporting&&!1!==f.exporting.enabled&&f.navigation&&f.navigation.buttonOptions,l=v.lang,m=c.div,p=f.rangeSelector,r=a(f.chart.style&&f.chart.style.zIndex,
128
+ 0)+1,f=p.floating,q=c.buttons,m=c.inputGroup,t=p.buttonTheme,u=p.buttonPosition,w=p.inputPosition,z=p.inputEnabled,A=t&&t.states,C=k.plotLeft,E,D=c.buttonGroup,L;L=c.rendered;var M=c.options.verticalAlign,O=k.legend,P=O&&O.options,Q=u.y,N=w.y,R=L||!1,S=R?"animate":"attr",K=0,I=0,J;if(!1!==p.enabled){L||(c.group=L=g.g("range-selector-group").attr({zIndex:7}).add(),c.buttonGroup=D=g.g("range-selector-buttons").add(L),c.zoomText=g.text(l.rangeSelectorZoom,0,15).add(D),k.styledMode||(c.zoomText.css(p.labelStyle),
129
+ t["stroke-width"]=a(t["stroke-width"],0)),c.buttonOptions.forEach(function(a,b){q[b]=g.button(a.text,0,0,function(d){var f=a.events&&a.events.click,e;f&&(e=f.call(a,d));!1!==e&&c.clickButton(b);c.isActive=!0},t,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(D)}),!1!==z&&(c.div=m=B("div",null,{position:"relative",height:0,zIndex:r}),d.parentNode.insertBefore(m,d),c.inputGroup=m=g.g("input-group").add(L),m.offset=0,c.drawInput("min"),c.drawInput("max")));c.zoomText[S]({x:a(C+
130
+ u.x,C)});E=a(C+u.x,C)+c.zoomText.getBBox().width+5;c.buttonOptions.forEach(function(b,c){q[c][S]({x:E});E+=q[c].width+a(p.buttonSpacing,5)});C=k.plotLeft-k.spacing[3];c.updateButtonStates();h&&this.titleCollision(k)&&"top"===M&&"right"===u.align&&u.y+D.getBBox().height-12<(h.y||0)+h.height&&(K=-40);"left"===u.align?J=u.x-k.spacing[3]:"right"===u.align&&(J=u.x+K-k.spacing[1]);D.align({y:u.y,width:D.getBBox().width,align:u.align,x:J},!0,k.spacingBox);c.group.placed=R;c.buttonGroup.placed=R;!1!==z&&
131
+ (K=h&&this.titleCollision(k)&&"top"===M&&"right"===w.align&&w.y-m.getBBox().height-12<(h.y||0)+h.height+k.spacing[0]?-40:0,"left"===w.align?J=C:"right"===w.align&&(J=-Math.max(k.axisOffset[1],-K)),m.align({y:w.y,width:m.getBBox().width,align:w.align,x:w.x+J-2},!0,k.spacingBox),d=m.alignAttr.translateX+m.alignOptions.x-K+m.getBBox().x+2,h=m.alignOptions.width,l=D.alignAttr.translateX+D.getBBox().x,J=D.getBBox().width+20,(w.align===u.align||l+J>d&&d+h>l&&Q<N+m.getBBox().height)&&m.attr({translateX:m.alignAttr.translateX+
132
+ (k.axisOffset[1]>=-K?0:-K),translateY:m.alignAttr.translateY+D.getBBox().height+10}),c.setInputValue("min",b),c.setInputValue("max",e),c.inputGroup.placed=R);c.group.align({verticalAlign:M},!0,k.spacingBox);b=c.group.getBBox().height+20;e=c.group.alignAttr.translateY;"bottom"===M&&(O=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?O.legendHeight+a(P.margin,10):0,b=b+O-20,I=e-b-(f?0:p.y)-10);if("top"===M)f&&(I=0),k.titleOffset&&(I=k.titleOffset+k.options.title.margin),I+=k.margin[0]-k.spacing[0]||
133
+ 0;else if("middle"===M)if(N===Q)I=0>N?e+void 0:e;else if(N||Q)I=0>N||0>Q?I-Math.min(N,Q):e-b+NaN;c.group.translate(p.x,p.y+Math.floor(I));!1!==z&&(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,e=a.y,h=a.buttonPosition.y,g=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+e:0;b=Math.min(g,h);if(0>g&&0>h||0<g&&0<h)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
134
+ a.options.subtitle.text)},update:function(a){var b=this.chart;h(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var a=this,e=a.minInput,h=a.maxInput;a.unMouseDown();a.unResize();C(a.buttons);e&&(e.onfocus=e.onblur=e.onchange=null);h&&(h.onfocus=h.onblur=h.onchange=null);b.objectEach(a,function(b,c){b&&"chart"!==c&&(b.destroy?b.destroy():b.nodeType&&m(this[c]));b!==t.prototype[c]&&(a[c]=null)},this)}};E.prototype.minFromRange=function(){var b=
135
+ this.range,e={month:"Month",year:"FullYear"}[b.type],h,l=this.max,g,d,f=this.chart.time,m=function(a,b){var c=new f.Date(a),d=f.get(e,c);f.set(e,c,d+b);d===f.get(e,c)&&f.set("Date",c,0);return c.getTime()-a};p(b)?(h=l-b,d=b):(h=l+m(l,-b.count),this.chart&&(this.chart.fixedRange=l-h));g=a(this.dataMin,Number.MIN_VALUE);p(h)||(h=g);h<=g&&(h=g,void 0===d&&(d=m(h,b.count)),this.newMax=Math.min(h+d,this.dataMax));p(l)||(h=void 0);return h};b.RangeSelector||(q(u,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
136
+ (this.rangeSelector=new t(this))}),q(u,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(p(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),q(u,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,
137
+ e=this.extraTopMargin;b&&b.enabled&&!A(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new t(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!==e)&&(this.isDirtyBox=!0)}),q(u,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
138
+ "bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),q(u,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),u.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();p(c.min)&&e.render(c.min,c.max)}var c,e=a.rangeSelector,g,d;e&&(d=q(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),g=q(a,"redraw",b),b());q(a,"destroy",function(){e&&
139
+ (g(),d())})}),b.RangeSelector=t)});E(t,"parts/StockChart.js",[t["parts/Globals.js"]],function(b){var t=b.addEvent,q=b.arrayMax,E=b.arrayMin,u=b.Axis,D=b.Chart,B=b.defined,v=b.extend,A=b.format,C=b.isNumber,m=b.isString,e=b.merge,r=b.pick,p=b.Point,h=b.Renderer,a=b.Series,l=b.splat,w=b.SVGRenderer,c=b.VMLRenderer,k=a.prototype,n=k.init,x=k.processData,g=p.prototype.tooltipFormatter;b.StockChart=b.stockChart=function(a,c,g){var d=m(a)||a.nodeName,f=arguments[d?1:0],h=f,k=f.series,n=b.getOptions(),p,
140
+ q=r(f.navigator&&f.navigator.enabled,n.navigator.enabled,!0),y=q?{startOnTick:!1,endOnTick:!1}:null;f.xAxis=l(f.xAxis||{}).map(function(a,b){return e({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,n.xAxis&&n.xAxis[b],a,{type:"datetime",categories:null},y)});f.yAxis=l(f.yAxis||{}).map(function(a,b){p=r(a.opposite,!0);return e({labels:{y:-2},opposite:p,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},n.yAxis,
141
+ n.yAxis&&n.yAxis[b],a)});f.series=null;f=e({chart:{panning:!0,pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:r(n.scrollbar.enabled,!0)},rangeSelector:{enabled:r(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:r(n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},f,{isStock:!0});f.series=h.series=k;return d?new D(a,f,g):new D(f,c)};t(a,"setOptions",function(a){function c(a){return b.seriesTypes[a]&&d instanceof b.seriesTypes[a]}var d=this,g;this.chart.options.isStock&&(c("column")||
142
+ c("columnrange")?g={borderWidth:0,shadow:!1}:!c("line")||c("scatter")||c("sma")||(g={marker:{enabled:!1,radius:2}}),g&&(a.plotOptions[this.type]=e(a.plotOptions[this.type],g)))});t(u,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;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,a.align="right",a.preventDefault()))});t(u,"destroy",
143
+ 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]});t(u,"getPlotLinePath",function(a){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return C(a)?[g[b][a]]:m(a)?[g.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,g=d.chart,h=g.renderer,k=d.left,l=d.top,n,p,q,t,u=[],v=[],w,x,z=a.translatedValue,A=a.value,D=a.force,
144
+ E;if(g.options.isStock&&!1!==a.acrossPanes&&"xAxis"===d.coll||"yAxis"===d.coll)a.preventDefault(),v=c(d.coll),w=d.isXAxis?g.yAxis:g.xAxis,w.forEach(function(a){if(B(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=B(a.options[b])?g[b][a.options[b]]:g[b][0];d===b&&v.push(a)}}),x=v.length?[]:[d.isXAxis?g.yAxis[0]:g.xAxis[0]],v.forEach(function(a){-1!==x.indexOf(a)||b.find(x,function(b){return b.pos===a.pos&&b.len===a.len})||x.push(a)}),E=r(z,d.translate(A,null,
145
+ null,a.old)),C(E)&&(d.horiz?x.forEach(function(a){var b;p=a.pos;t=p+a.len;n=q=Math.round(E+d.transB);"pass"!==D&&(n<k||n>k+d.width)&&(D?n=q=Math.min(Math.max(k,n),k+d.width):b=!0);b||u.push("M",n,p,"L",q,t)}):x.forEach(function(a){var b;n=a.pos;q=n+a.len;p=t=Math.round(l+d.height-E);"pass"!==D&&(p<l||p>l+d.height)&&(D?p=t=Math.min(Math.max(l,p),d.top+d.height):b=!0);b||u.push("M",n,p,"L",q,t)})),a.path=0<u.length?h.crispPolyLine(u,a.lineWidth||1):null});w.prototype.crispPolyLine=function(a,b){var c;
146
+ 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+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};h===c&&(c.prototype.crispPolyLine=w.prototype.crispPolyLine);t(u,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});t(u,"afterDrawCrosshair",function(a){var b,c;if(B(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,g=this.horiz;b=this.opposite;c=
147
+ this.left;var h=this.top,k=this.crossLabel,l=e.format,m="",n="inside"===this.options.tickPosition,p=!1!==this.crosshair.snap,q=0,t=a.e||this.cross&&this.cross.e,u=a.point;a=this.lin2log;var w,x;this.isLog?(w=a(this.min),x=a(this.max)):(w=this.min,x=this.max);a=g?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+
148
+ this.series[0].colorIndex)).attr({align:e.align||a,padding:r(e.padding,8),r:r(e.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||k.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||"","stroke-width":e.borderWidth||0}).css(v({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));g?(a=p?u.plotX+c:t.chartX,h+=b?0:this.height):(a=b?this.width+c:0,h=p?u.plotY+h:t.chartY);l||e.formatter||(this.isDatetimeAxis&&(m=
149
+ "%b %d, %Y"),l="{value"+(m?":"+m:"")+"}");m=p?u[this.isXAxis?"x":"y"]:this.toValue(g?t.chartX:t.chartY);k.attr({text:l?A(l,{value:m},d.time):e.formatter.call(this,m),x:a,y:h,visibility:m<w||m>x?"hidden":"visible"});e=k.getBBox();if(g){if(n&&!b||!n&&b)h=k.y-e.height}else h=k.y-e.height/2;g?(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);k.translateX<b&&(q=b-k.translateX);k.translateX+e.width>=c&&(q=-(k.translateX+e.width-c));k.attr({x:a+
150
+ q,y:h,anchorX:g?a:this.opposite?0:d.chartWidth,anchorY:g?this.opposite?d.chartHeight:0:h+e.height/2})}});k.init=function(){n.apply(this,arguments);this.setCompare(this.options.compare)};k.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;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};k.processData=function(){var a,
151
+ b=-1,c,e,g=!0===this.options.compareStart?0:1,h,k;x.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,e=this.processedYData,h=e.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),a=0;a<h-g;a++)if(k=e[a]&&-1<b?e[a][b]:e[a],C(k)&&c[a+g]>=this.xAxis.min&&0!==k){this.compareValue=k;break}};t(a,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];
152
+ this.dataMin=E(a);this.dataMax=q(a)}});u.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),r(b,!0)&&this.chart.redraw())};p.prototype.tooltipFormatter=function(a){a=a.replace("{point.change}",(0<this.change?"+":"")+b.numberFormat(this.change,r(this.series.tooltipOptions.changeDecimals,2)));return g.apply(this,[a])};t(a,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(a=this.yAxis.len-
153
+ (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=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});t(D,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(e(!0,this.options.scrollbar,
154
+ a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});E(t,"masters/modules/stock.src.js",[],function(){})});
154
155
  //# sourceMappingURL=stock.js.map