highcharts 6.1.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +29 -0
  3. package/css/highcharts.scss +25 -1
  4. package/css/themes/dark-unica.css +29 -0
  5. package/css/themes/grid-light.css +29 -0
  6. package/css/themes/sand-signika.css +29 -0
  7. package/es-modules/indicators/accumulation-distribution.src.js +1 -1
  8. package/es-modules/indicators/atr.src.js +1 -1
  9. package/es-modules/indicators/bollinger-bands.src.js +2 -2
  10. package/es-modules/indicators/cci.src.js +1 -1
  11. package/es-modules/indicators/cmf.src.js +1 -1
  12. package/es-modules/indicators/ema.src.js +1 -1
  13. package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  14. package/es-modules/indicators/indicators.src.js +29 -14
  15. package/es-modules/indicators/macd.src.js +4 -4
  16. package/es-modules/indicators/mfi.src.js +1 -1
  17. package/es-modules/indicators/momentum.src.js +2 -2
  18. package/es-modules/indicators/pivot-points.src.js +7 -2
  19. package/es-modules/indicators/price-envelopes.src.js +2 -2
  20. package/es-modules/indicators/psar.src.js +1 -1
  21. package/es-modules/indicators/roc.src.js +1 -1
  22. package/es-modules/indicators/rsi.src.js +1 -1
  23. package/es-modules/indicators/stochastic.src.js +9 -7
  24. package/es-modules/indicators/volume-by-price.src.js +1 -1
  25. package/es-modules/indicators/vwap.src.js +1 -1
  26. package/es-modules/indicators/wma.src.js +1 -1
  27. package/es-modules/indicators/zigzag.src.js +1 -1
  28. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  29. package/es-modules/masters/modules/annotations.src.js +1 -1
  30. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  31. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  32. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  33. package/es-modules/masters/modules/data.src.js +1 -1
  34. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  35. package/es-modules/masters/modules/export-data.src.js +1 -1
  36. package/es-modules/masters/modules/exporting.src.js +1 -1
  37. package/es-modules/masters/modules/funnel.src.js +1 -1
  38. package/es-modules/masters/modules/gantt.src.js +2 -1
  39. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  40. package/es-modules/masters/modules/heatmap.src.js +1 -1
  41. package/es-modules/masters/modules/item-series.src.js +1 -1
  42. package/es-modules/masters/modules/map.src.js +1 -1
  43. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  44. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  45. package/es-modules/masters/modules/sankey.src.js +1 -1
  46. package/es-modules/masters/modules/series-label.src.js +1 -1
  47. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  48. package/es-modules/masters/modules/stock.src.js +1 -1
  49. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  50. package/es-modules/masters/modules/treegrid.src.js +12 -0
  51. package/es-modules/masters/modules/variwide.src.js +1 -1
  52. package/es-modules/masters/modules/vector.src.js +1 -1
  53. package/es-modules/masters/modules/windbarb.src.js +1 -1
  54. package/es-modules/masters/modules/xrange.src.js +1 -1
  55. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  56. package/es-modules/masters/themes/dark-green.src.js +1 -1
  57. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  58. package/es-modules/masters/themes/gray.src.js +1 -1
  59. package/es-modules/masters/themes/grid-light.src.js +1 -1
  60. package/es-modules/masters/themes/grid.src.js +1 -1
  61. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  62. package/es-modules/masters/themes/skies.src.js +1 -1
  63. package/es-modules/mixins/centered-series.js +36 -5
  64. package/es-modules/mixins/on-series.js +1 -1
  65. package/es-modules/mixins/polygon.js +4 -4
  66. package/es-modules/modules/annotations.src.js +2 -2
  67. package/es-modules/modules/boost-canvas.src.js +19 -8
  68. package/es-modules/modules/boost.src.js +300 -137
  69. package/es-modules/modules/broken-axis.src.js +169 -134
  70. package/es-modules/modules/bullet.src.js +2 -2
  71. package/es-modules/modules/data.src.js +8 -6
  72. package/es-modules/modules/draggable-points.src.js +2257 -0
  73. package/es-modules/modules/drilldown.src.js +4 -2
  74. package/es-modules/modules/export-data.src.js +11 -1
  75. package/es-modules/modules/exporting.src.js +62 -36
  76. package/es-modules/modules/funnel.src.js +5 -5
  77. package/es-modules/modules/histogram.src.js +30 -28
  78. package/es-modules/modules/item-series.src.js +36 -11
  79. package/es-modules/modules/keyboard-navigation.src.js +81 -44
  80. package/es-modules/modules/no-data-to-display.src.js +5 -5
  81. package/es-modules/modules/oldie.src.js +14 -9
  82. package/es-modules/modules/overlapping-datalabels.src.js +45 -21
  83. package/es-modules/modules/parallel-coordinates.src.js +4 -3
  84. package/es-modules/modules/pareto.src.js +1 -1
  85. package/es-modules/modules/sankey.src.js +28 -10
  86. package/es-modules/modules/series-label.src.js +6 -6
  87. package/es-modules/modules/solid-gauge.src.js +10 -7
  88. package/es-modules/modules/static-scale.src.js +67 -28
  89. package/es-modules/modules/streamgraph.src.js +4 -4
  90. package/es-modules/modules/sunburst.src.js +4 -4
  91. package/es-modules/modules/tilemap.src.js +231 -134
  92. package/es-modules/modules/treemap.src.js +30 -27
  93. package/es-modules/modules/variable-pie.src.js +3 -3
  94. package/es-modules/modules/variwide.src.js +36 -24
  95. package/es-modules/modules/vector.src.js +98 -28
  96. package/es-modules/modules/windbarb.src.js +4 -4
  97. package/es-modules/modules/wordcloud.src.js +133 -48
  98. package/es-modules/modules/xrange.src.js +258 -78
  99. package/es-modules/parts/AreaSeries.js +83 -50
  100. package/es-modules/parts/AreaSplineSeries.js +66 -29
  101. package/es-modules/parts/Axis.js +2184 -745
  102. package/es-modules/parts/BarSeries.js +70 -53
  103. package/es-modules/parts/CandlestickSeries.js +20 -10
  104. package/es-modules/parts/Chart.js +349 -157
  105. package/es-modules/parts/Color.js +74 -25
  106. package/es-modules/parts/ColumnSeries.js +274 -147
  107. package/es-modules/parts/DataGrouping.js +36 -3
  108. package/es-modules/parts/DataLabels.js +318 -144
  109. package/es-modules/parts/DateTimeAxis.js +27 -5
  110. package/es-modules/parts/Dynamics.js +236 -144
  111. package/es-modules/parts/FlagsSeries.js +49 -7
  112. package/es-modules/parts/Globals.js +4 -3
  113. package/es-modules/parts/Html.js +82 -16
  114. package/es-modules/parts/Interaction.js +198 -65
  115. package/es-modules/parts/Legend.js +181 -31
  116. package/es-modules/parts/LogarithmicAxis.js +36 -3
  117. package/es-modules/parts/MSPointer.js +31 -4
  118. package/es-modules/parts/Navigator.js +479 -187
  119. package/es-modules/parts/OHLCSeries.js +11 -5
  120. package/es-modules/parts/Options.js +1052 -686
  121. package/es-modules/parts/OrdinalAxis.js +20 -6
  122. package/es-modules/parts/PieSeries.js +258 -142
  123. package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  124. package/es-modules/parts/PlotLineOrBand.js +671 -35
  125. package/es-modules/parts/Point.js +189 -73
  126. package/es-modules/parts/Pointer.js +263 -62
  127. package/es-modules/parts/RangeSelector.js +601 -91
  128. package/es-modules/parts/Responsive.js +82 -36
  129. package/es-modules/parts/ScatterSeries.js +59 -27
  130. package/es-modules/parts/ScrollablePlotArea.js +30 -9
  131. package/es-modules/parts/Scrollbar.js +284 -113
  132. package/es-modules/parts/Series.js +1105 -836
  133. package/es-modules/parts/SplineSeries.js +53 -31
  134. package/es-modules/parts/Stacking.js +108 -7
  135. package/es-modules/parts/StockChart.js +26 -8
  136. package/es-modules/parts/SvgRenderer.js +1251 -613
  137. package/es-modules/parts/Tick.js +164 -30
  138. package/es-modules/parts/Time.js +171 -71
  139. package/es-modules/parts/Tooltip.js +271 -49
  140. package/es-modules/parts/TouchPointer.js +70 -3
  141. package/es-modules/parts/Utilities.js +1024 -429
  142. package/es-modules/parts-3d/Axis.js +4 -3
  143. package/es-modules/parts-3d/Chart.js +8 -9
  144. package/es-modules/parts-3d/Column.js +1 -1
  145. package/es-modules/parts-3d/Math.js +1 -1
  146. package/es-modules/parts-3d/Pie.js +1 -1
  147. package/es-modules/parts-3d/SVGRenderer.js +13 -10
  148. package/es-modules/parts-3d/Scatter.js +4 -4
  149. package/es-modules/parts-3d/Series.js +1 -1
  150. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  151. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  152. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  153. package/es-modules/parts-gantt/GanttChart.js +111 -0
  154. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  155. package/es-modules/parts-gantt/GridAxis.js +965 -0
  156. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  157. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  158. package/es-modules/parts-gantt/Tree.js +146 -0
  159. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  160. package/es-modules/parts-map/ColorAxis.js +4 -5
  161. package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  162. package/es-modules/parts-map/GeoJSON.js +1 -1
  163. package/es-modules/parts-map/HeatmapSeries.js +126 -55
  164. package/es-modules/parts-map/Map.js +144 -51
  165. package/es-modules/parts-map/MapAxis.js +1 -1
  166. package/es-modules/parts-map/MapBubbleSeries.js +6 -5
  167. package/es-modules/parts-map/MapLineSeries.js +4 -4
  168. package/es-modules/parts-map/MapNavigation.js +50 -12
  169. package/es-modules/parts-map/MapPointSeries.js +3 -3
  170. package/es-modules/parts-map/MapPointer.js +1 -1
  171. package/es-modules/parts-map/MapSeries.js +7 -7
  172. package/es-modules/parts-more/AreaRangeSeries.js +82 -40
  173. package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  174. package/es-modules/parts-more/BoxPlotSeries.js +3 -3
  175. package/es-modules/parts-more/BubbleSeries.js +9 -4
  176. package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  177. package/es-modules/parts-more/ErrorBarSeries.js +6 -4
  178. package/es-modules/parts-more/GaugeSeries.js +3 -3
  179. package/es-modules/parts-more/Pane.js +3 -2
  180. package/es-modules/parts-more/Polar.js +1 -1
  181. package/es-modules/parts-more/PolygonSeries.js +3 -3
  182. package/es-modules/parts-more/RadialAxis.js +5 -4
  183. package/es-modules/parts-more/WaterfallSeries.js +9 -4
  184. package/es-modules/supplemental.docs.js +0 -1955
  185. package/es-modules/themes/dark-blue.js +1 -1
  186. package/es-modules/themes/dark-green.js +1 -1
  187. package/es-modules/themes/dark-unica.js +1 -1
  188. package/es-modules/themes/gray.js +1 -1
  189. package/es-modules/themes/grid-light.js +1 -1
  190. package/es-modules/themes/grid.js +1 -1
  191. package/es-modules/themes/sand-signika.js +1 -1
  192. package/es-modules/themes/skies.js +1 -1
  193. package/highcharts-3d.js +77 -75
  194. package/highcharts-3d.js.map +1 -8
  195. package/highcharts-3d.src.js +39 -32
  196. package/highcharts-gantt.js +503 -0
  197. package/highcharts-gantt.js.map +1 -0
  198. package/highcharts-gantt.src.js +49289 -0
  199. package/highcharts-more.js +66 -64
  200. package/highcharts-more.js.map +1 -8
  201. package/highcharts-more.src.js +135 -75
  202. package/highcharts.js +413 -403
  203. package/highcharts.js.map +1 -8
  204. package/highcharts.src.js +11114 -4781
  205. package/highmaps.js +442 -433
  206. package/highmaps.js.map +1 -8
  207. package/highmaps.src.js +10740 -4598
  208. package/highstock.js +553 -540
  209. package/highstock.js.map +1 -8
  210. package/highstock.src.js +12807 -5343
  211. package/indicators/accumulation-distribution.js +4 -3
  212. package/indicators/accumulation-distribution.js.map +1 -8
  213. package/indicators/accumulation-distribution.src.js +6 -2
  214. package/indicators/atr.js +4 -3
  215. package/indicators/atr.js.map +1 -8
  216. package/indicators/atr.src.js +6 -2
  217. package/indicators/bollinger-bands.js +7 -6
  218. package/indicators/bollinger-bands.js.map +1 -8
  219. package/indicators/bollinger-bands.src.js +7 -3
  220. package/indicators/cci.js +4 -3
  221. package/indicators/cci.js.map +1 -8
  222. package/indicators/cci.src.js +6 -2
  223. package/indicators/cmf.js +5 -4
  224. package/indicators/cmf.js.map +1 -8
  225. package/indicators/cmf.src.js +6 -2
  226. package/indicators/ema.js +4 -3
  227. package/indicators/ema.js.map +1 -8
  228. package/indicators/ema.src.js +6 -2
  229. package/indicators/ichimoku-kinko-hyo.js +10 -9
  230. package/indicators/ichimoku-kinko-hyo.js.map +1 -8
  231. package/indicators/ichimoku-kinko-hyo.src.js +6 -2
  232. package/indicators/indicators.js +6 -5
  233. package/indicators/indicators.js.map +1 -8
  234. package/indicators/indicators.src.js +34 -15
  235. package/indicators/macd.js +11 -10
  236. package/indicators/macd.js.map +1 -8
  237. package/indicators/macd.src.js +10 -6
  238. package/indicators/mfi.js +5 -3
  239. package/indicators/mfi.js.map +1 -8
  240. package/indicators/mfi.src.js +6 -2
  241. package/indicators/momentum.js +4 -3
  242. package/indicators/momentum.js.map +1 -8
  243. package/indicators/momentum.src.js +7 -3
  244. package/indicators/pivot-points.js +8 -7
  245. package/indicators/pivot-points.js.map +1 -8
  246. package/indicators/pivot-points.src.js +12 -3
  247. package/indicators/price-envelopes.js +7 -6
  248. package/indicators/price-envelopes.js.map +1 -8
  249. package/indicators/price-envelopes.src.js +7 -3
  250. package/indicators/psar.js +5 -4
  251. package/indicators/psar.js.map +1 -8
  252. package/indicators/psar.src.js +6 -2
  253. package/indicators/roc.js +4 -3
  254. package/indicators/roc.js.map +1 -8
  255. package/indicators/roc.src.js +6 -2
  256. package/indicators/rsi.js +4 -3
  257. package/indicators/rsi.js.map +1 -8
  258. package/indicators/rsi.src.js +6 -2
  259. package/indicators/stochastic.js +7 -5
  260. package/indicators/stochastic.js.map +1 -8
  261. package/indicators/stochastic.src.js +14 -8
  262. package/indicators/volume-by-price.js +13 -12
  263. package/indicators/volume-by-price.js.map +1 -8
  264. package/indicators/volume-by-price.src.js +6 -2
  265. package/indicators/vwap.js +4 -3
  266. package/indicators/vwap.js.map +1 -8
  267. package/indicators/vwap.src.js +6 -2
  268. package/indicators/wma.js +4 -3
  269. package/indicators/wma.js.map +1 -8
  270. package/indicators/wma.src.js +6 -2
  271. package/indicators/zigzag.js +5 -3
  272. package/indicators/zigzag.js.map +1 -8
  273. package/indicators/zigzag.src.js +6 -2
  274. package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
  275. package/js/es-modules/indicators/atr.src.js +1 -1
  276. package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
  277. package/js/es-modules/indicators/cci.src.js +1 -1
  278. package/js/es-modules/indicators/cmf.src.js +1 -1
  279. package/js/es-modules/indicators/ema.src.js +1 -1
  280. package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  281. package/js/es-modules/indicators/indicators.src.js +29 -14
  282. package/js/es-modules/indicators/macd.src.js +4 -4
  283. package/js/es-modules/indicators/mfi.src.js +1 -1
  284. package/js/es-modules/indicators/momentum.src.js +2 -2
  285. package/js/es-modules/indicators/pivot-points.src.js +7 -2
  286. package/js/es-modules/indicators/price-envelopes.src.js +2 -2
  287. package/js/es-modules/indicators/psar.src.js +1 -1
  288. package/js/es-modules/indicators/roc.src.js +1 -1
  289. package/js/es-modules/indicators/rsi.src.js +1 -1
  290. package/js/es-modules/indicators/stochastic.src.js +9 -7
  291. package/js/es-modules/indicators/volume-by-price.src.js +1 -1
  292. package/js/es-modules/indicators/vwap.src.js +1 -1
  293. package/js/es-modules/indicators/wma.src.js +1 -1
  294. package/js/es-modules/indicators/zigzag.src.js +1 -1
  295. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  296. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  297. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  298. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  299. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  300. package/js/es-modules/masters/modules/data.src.js +1 -1
  301. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  302. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  305. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  306. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  307. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  308. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  309. package/js/es-modules/masters/modules/map.src.js +1 -1
  310. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  311. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  312. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  313. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  314. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  315. package/js/es-modules/masters/modules/stock.src.js +1 -1
  316. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  317. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  318. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  319. package/js/es-modules/masters/modules/vector.src.js +1 -1
  320. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  321. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  322. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  323. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  324. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  325. package/js/es-modules/masters/themes/gray.src.js +1 -1
  326. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  327. package/js/es-modules/masters/themes/grid.src.js +1 -1
  328. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  329. package/js/es-modules/masters/themes/skies.src.js +1 -1
  330. package/js/es-modules/mixins/centered-series.js +36 -5
  331. package/js/es-modules/mixins/on-series.js +1 -1
  332. package/js/es-modules/mixins/polygon.js +4 -4
  333. package/js/es-modules/modules/annotations.src.js +2 -2
  334. package/js/es-modules/modules/boost-canvas.src.js +19 -8
  335. package/js/es-modules/modules/boost.src.js +300 -137
  336. package/js/es-modules/modules/broken-axis.src.js +169 -134
  337. package/js/es-modules/modules/bullet.src.js +2 -2
  338. package/js/es-modules/modules/data.src.js +8 -6
  339. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  340. package/js/es-modules/modules/drilldown.src.js +4 -2
  341. package/js/es-modules/modules/export-data.src.js +11 -1
  342. package/js/es-modules/modules/exporting.src.js +62 -36
  343. package/js/es-modules/modules/funnel.src.js +5 -5
  344. package/js/es-modules/modules/histogram.src.js +30 -28
  345. package/js/es-modules/modules/item-series.src.js +36 -11
  346. package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
  347. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  348. package/js/es-modules/modules/oldie.src.js +14 -9
  349. package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
  350. package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
  351. package/js/es-modules/modules/pareto.src.js +1 -1
  352. package/js/es-modules/modules/sankey.src.js +23 -7
  353. package/js/es-modules/modules/series-label.src.js +6 -6
  354. package/js/es-modules/modules/solid-gauge.src.js +8 -5
  355. package/js/es-modules/modules/static-scale.src.js +67 -28
  356. package/js/es-modules/modules/streamgraph.src.js +4 -4
  357. package/js/es-modules/modules/sunburst.src.js +4 -4
  358. package/js/es-modules/modules/tilemap.src.js +231 -134
  359. package/js/es-modules/modules/treemap.src.js +29 -26
  360. package/js/es-modules/modules/variable-pie.src.js +3 -3
  361. package/js/es-modules/modules/variwide.src.js +36 -24
  362. package/js/es-modules/modules/vector.src.js +98 -28
  363. package/js/es-modules/modules/windbarb.src.js +4 -4
  364. package/js/es-modules/modules/wordcloud.src.js +133 -48
  365. package/js/es-modules/modules/xrange.src.js +256 -69
  366. package/js/es-modules/parts/AreaSeries.js +83 -50
  367. package/js/es-modules/parts/AreaSplineSeries.js +66 -29
  368. package/js/es-modules/parts/Axis.js +2089 -694
  369. package/js/es-modules/parts/BarSeries.js +70 -53
  370. package/js/es-modules/parts/CandlestickSeries.js +20 -10
  371. package/js/es-modules/parts/Chart.js +349 -157
  372. package/js/es-modules/parts/Color.js +74 -25
  373. package/js/es-modules/parts/ColumnSeries.js +241 -128
  374. package/js/es-modules/parts/DataGrouping.js +36 -3
  375. package/js/es-modules/parts/DataLabels.js +287 -116
  376. package/js/es-modules/parts/DateTimeAxis.js +27 -5
  377. package/js/es-modules/parts/Dynamics.js +236 -144
  378. package/js/es-modules/parts/FlagsSeries.js +49 -7
  379. package/js/es-modules/parts/Globals.js +4 -3
  380. package/js/es-modules/parts/Html.js +82 -16
  381. package/js/es-modules/parts/Interaction.js +187 -67
  382. package/js/es-modules/parts/Legend.js +181 -31
  383. package/js/es-modules/parts/LogarithmicAxis.js +36 -3
  384. package/js/es-modules/parts/MSPointer.js +31 -4
  385. package/js/es-modules/parts/Navigator.js +432 -162
  386. package/js/es-modules/parts/OHLCSeries.js +5 -5
  387. package/js/es-modules/parts/Options.js +855 -592
  388. package/js/es-modules/parts/OrdinalAxis.js +20 -6
  389. package/js/es-modules/parts/PieSeries.js +247 -134
  390. package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  391. package/js/es-modules/parts/PlotLineOrBand.js +671 -35
  392. package/js/es-modules/parts/Point.js +182 -70
  393. package/js/es-modules/parts/Pointer.js +263 -62
  394. package/js/es-modules/parts/RangeSelector.js +579 -91
  395. package/js/es-modules/parts/Responsive.js +82 -36
  396. package/js/es-modules/parts/ScatterSeries.js +58 -27
  397. package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
  398. package/js/es-modules/parts/Scrollbar.js +201 -71
  399. package/js/es-modules/parts/Series.js +995 -745
  400. package/js/es-modules/parts/SplineSeries.js +53 -31
  401. package/js/es-modules/parts/Stacking.js +108 -7
  402. package/js/es-modules/parts/StockChart.js +26 -8
  403. package/js/es-modules/parts/SvgRenderer.js +1208 -598
  404. package/js/es-modules/parts/Tick.js +164 -30
  405. package/js/es-modules/parts/Time.js +171 -71
  406. package/js/es-modules/parts/Tooltip.js +276 -49
  407. package/js/es-modules/parts/TouchPointer.js +70 -3
  408. package/js/es-modules/parts/Utilities.js +1024 -429
  409. package/js/es-modules/parts-3d/Axis.js +4 -3
  410. package/js/es-modules/parts-3d/Chart.js +8 -9
  411. package/js/es-modules/parts-3d/Column.js +1 -1
  412. package/js/es-modules/parts-3d/Math.js +1 -1
  413. package/js/es-modules/parts-3d/Pie.js +1 -1
  414. package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
  415. package/js/es-modules/parts-3d/Scatter.js +4 -4
  416. package/js/es-modules/parts-3d/Series.js +1 -1
  417. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  418. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  419. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  420. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  421. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  422. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  423. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  424. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  425. package/js/es-modules/parts-gantt/Tree.js +146 -0
  426. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  427. package/js/es-modules/parts-map/ColorAxis.js +4 -5
  428. package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  429. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  430. package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
  431. package/js/es-modules/parts-map/Map.js +136 -47
  432. package/js/es-modules/parts-map/MapAxis.js +1 -1
  433. package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
  434. package/js/es-modules/parts-map/MapLineSeries.js +4 -4
  435. package/js/es-modules/parts-map/MapNavigation.js +50 -12
  436. package/js/es-modules/parts-map/MapPointSeries.js +3 -3
  437. package/js/es-modules/parts-map/MapPointer.js +1 -1
  438. package/js/es-modules/parts-map/MapSeries.js +5 -5
  439. package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
  440. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  441. package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
  442. package/js/es-modules/parts-more/BubbleSeries.js +9 -4
  443. package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  444. package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
  445. package/js/es-modules/parts-more/GaugeSeries.js +3 -3
  446. package/js/es-modules/parts-more/Pane.js +3 -2
  447. package/js/es-modules/parts-more/Polar.js +1 -1
  448. package/js/es-modules/parts-more/PolygonSeries.js +3 -3
  449. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  450. package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
  451. package/js/es-modules/supplemental.docs.js +0 -1955
  452. package/js/es-modules/themes/dark-blue.js +1 -1
  453. package/js/es-modules/themes/dark-green.js +1 -1
  454. package/js/es-modules/themes/dark-unica.js +1 -1
  455. package/js/es-modules/themes/gray.js +1 -1
  456. package/js/es-modules/themes/grid-light.js +1 -1
  457. package/js/es-modules/themes/grid.js +1 -1
  458. package/js/es-modules/themes/sand-signika.js +1 -1
  459. package/js/es-modules/themes/skies.js +1 -1
  460. package/js/highcharts-3d.js +75 -74
  461. package/js/highcharts-3d.js.map +1 -8
  462. package/js/highcharts-3d.src.js +39 -32
  463. package/js/highcharts-gantt.js +480 -0
  464. package/js/highcharts-gantt.js.map +1 -0
  465. package/js/highcharts-gantt.src.js +47011 -0
  466. package/js/highcharts-more.js +63 -61
  467. package/js/highcharts-more.js.map +1 -8
  468. package/js/highcharts-more.src.js +135 -75
  469. package/js/highcharts.js +396 -387
  470. package/js/highcharts.js.map +1 -8
  471. package/js/highcharts.src.js +10765 -4659
  472. package/js/highmaps.js +419 -411
  473. package/js/highmaps.js.map +1 -8
  474. package/js/highmaps.src.js +10198 -4285
  475. package/js/highstock.js +529 -516
  476. package/js/highstock.js.map +1 -8
  477. package/js/highstock.src.js +12108 -4962
  478. package/js/indicators/accumulation-distribution.js +4 -3
  479. package/js/indicators/accumulation-distribution.js.map +1 -8
  480. package/js/indicators/accumulation-distribution.src.js +6 -2
  481. package/js/indicators/atr.js +4 -3
  482. package/js/indicators/atr.js.map +1 -8
  483. package/js/indicators/atr.src.js +6 -2
  484. package/js/indicators/bollinger-bands.js +7 -6
  485. package/js/indicators/bollinger-bands.js.map +1 -8
  486. package/js/indicators/bollinger-bands.src.js +7 -3
  487. package/js/indicators/cci.js +4 -3
  488. package/js/indicators/cci.js.map +1 -8
  489. package/js/indicators/cci.src.js +6 -2
  490. package/js/indicators/cmf.js +5 -4
  491. package/js/indicators/cmf.js.map +1 -8
  492. package/js/indicators/cmf.src.js +6 -2
  493. package/js/indicators/ema.js +4 -3
  494. package/js/indicators/ema.js.map +1 -8
  495. package/js/indicators/ema.src.js +6 -2
  496. package/js/indicators/ichimoku-kinko-hyo.js +10 -9
  497. package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
  498. package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
  499. package/js/indicators/indicators.js +6 -5
  500. package/js/indicators/indicators.js.map +1 -8
  501. package/js/indicators/indicators.src.js +34 -15
  502. package/js/indicators/macd.js +11 -10
  503. package/js/indicators/macd.js.map +1 -8
  504. package/js/indicators/macd.src.js +10 -6
  505. package/js/indicators/mfi.js +5 -3
  506. package/js/indicators/mfi.js.map +1 -8
  507. package/js/indicators/mfi.src.js +6 -2
  508. package/js/indicators/momentum.js +4 -3
  509. package/js/indicators/momentum.js.map +1 -8
  510. package/js/indicators/momentum.src.js +7 -3
  511. package/js/indicators/pivot-points.js +8 -7
  512. package/js/indicators/pivot-points.js.map +1 -8
  513. package/js/indicators/pivot-points.src.js +12 -3
  514. package/js/indicators/price-envelopes.js +7 -6
  515. package/js/indicators/price-envelopes.js.map +1 -8
  516. package/js/indicators/price-envelopes.src.js +7 -3
  517. package/js/indicators/psar.js +5 -4
  518. package/js/indicators/psar.js.map +1 -8
  519. package/js/indicators/psar.src.js +6 -2
  520. package/js/indicators/roc.js +4 -3
  521. package/js/indicators/roc.js.map +1 -8
  522. package/js/indicators/roc.src.js +6 -2
  523. package/js/indicators/rsi.js +4 -3
  524. package/js/indicators/rsi.js.map +1 -8
  525. package/js/indicators/rsi.src.js +6 -2
  526. package/js/indicators/stochastic.js +7 -5
  527. package/js/indicators/stochastic.js.map +1 -8
  528. package/js/indicators/stochastic.src.js +14 -8
  529. package/js/indicators/volume-by-price.js +13 -12
  530. package/js/indicators/volume-by-price.js.map +1 -8
  531. package/js/indicators/volume-by-price.src.js +6 -2
  532. package/js/indicators/vwap.js +4 -3
  533. package/js/indicators/vwap.js.map +1 -8
  534. package/js/indicators/vwap.src.js +6 -2
  535. package/js/indicators/wma.js +4 -3
  536. package/js/indicators/wma.js.map +1 -8
  537. package/js/indicators/wma.src.js +6 -2
  538. package/js/indicators/zigzag.js +5 -3
  539. package/js/indicators/zigzag.js.map +1 -8
  540. package/js/indicators/zigzag.src.js +6 -2
  541. package/js/modules/accessibility.js +52 -51
  542. package/js/modules/accessibility.js.map +1 -8
  543. package/js/modules/accessibility.src.js +86 -45
  544. package/js/modules/annotations.js +22 -21
  545. package/js/modules/annotations.js.map +1 -8
  546. package/js/modules/annotations.src.js +8 -4
  547. package/js/modules/arrow-symbols.js +13 -0
  548. package/js/modules/arrow-symbols.js.map +1 -0
  549. package/js/modules/arrow-symbols.src.js +138 -0
  550. package/js/modules/boost-canvas.js +15 -13
  551. package/js/modules/boost-canvas.js.map +1 -8
  552. package/js/modules/boost-canvas.src.js +24 -9
  553. package/js/modules/boost.js +57 -52
  554. package/js/modules/boost.js.map +1 -8
  555. package/js/modules/boost.src.js +305 -138
  556. package/js/modules/broken-axis.js +12 -10
  557. package/js/modules/broken-axis.js.map +1 -8
  558. package/js/modules/broken-axis.src.js +175 -136
  559. package/js/modules/bullet.js +3 -2
  560. package/js/modules/bullet.js.map +1 -8
  561. package/js/modules/bullet.src.js +7 -3
  562. package/js/modules/current-date-indicator.js +13 -0
  563. package/js/modules/current-date-indicator.js.map +1 -0
  564. package/js/modules/current-date-indicator.src.js +120 -0
  565. package/js/modules/data.js +25 -24
  566. package/js/modules/data.js.map +1 -8
  567. package/js/modules/data.src.js +14 -8
  568. package/js/modules/drag-panes.js +9 -8
  569. package/js/modules/drag-panes.js.map +1 -8
  570. package/js/modules/drag-panes.src.js +5 -1
  571. package/js/modules/draggable-points.js +38 -0
  572. package/js/modules/draggable-points.js.map +1 -0
  573. package/js/modules/draggable-points.src.js +2281 -0
  574. package/js/modules/drilldown.js +20 -19
  575. package/js/modules/drilldown.js.map +1 -8
  576. package/js/modules/drilldown.src.js +9 -3
  577. package/js/modules/export-data.js +20 -19
  578. package/js/modules/export-data.js.map +1 -8
  579. package/js/modules/export-data.src.js +17 -3
  580. package/js/modules/exporting.js +24 -23
  581. package/js/modules/exporting.js.map +1 -8
  582. package/js/modules/exporting.src.js +68 -38
  583. package/js/modules/funnel.js +8 -6
  584. package/js/modules/funnel.js.map +1 -8
  585. package/js/modules/funnel.src.js +11 -7
  586. package/js/modules/gantt.js +81 -18
  587. package/js/modules/gantt.js.map +1 -8
  588. package/js/modules/gantt.src.js +5494 -372
  589. package/js/modules/grid-axis.js +16 -10
  590. package/js/modules/grid-axis.js.map +1 -8
  591. package/js/modules/grid-axis.src.js +735 -293
  592. package/js/modules/heatmap.js +22 -21
  593. package/js/modules/heatmap.js.map +1 -8
  594. package/js/modules/heatmap.src.js +137 -62
  595. package/js/modules/histogram-bellcurve.js +9 -8
  596. package/js/modules/histogram-bellcurve.js.map +1 -8
  597. package/js/modules/histogram-bellcurve.src.js +35 -29
  598. package/js/modules/item-series.js +6 -4
  599. package/js/modules/item-series.js.map +1 -8
  600. package/js/modules/item-series.src.js +42 -13
  601. package/js/modules/map.js +63 -62
  602. package/js/modules/map.js.map +1 -8
  603. package/js/modules/map.src.js +353 -145
  604. package/js/modules/no-data-to-display.js +5 -4
  605. package/js/modules/no-data-to-display.js.map +1 -8
  606. package/js/modules/no-data-to-display.src.js +10 -6
  607. package/js/modules/offline-exporting.js +14 -13
  608. package/js/modules/offline-exporting.js.map +1 -8
  609. package/js/modules/offline-exporting.src.js +6 -2
  610. package/js/modules/oldie.js +29 -27
  611. package/js/modules/oldie.js.map +1 -8
  612. package/js/modules/oldie.src.js +20 -11
  613. package/js/modules/overlapping-datalabels.js +4 -3
  614. package/js/modules/overlapping-datalabels.js.map +1 -8
  615. package/js/modules/overlapping-datalabels.src.js +6 -2
  616. package/js/modules/parallel-coordinates.js +10 -9
  617. package/js/modules/parallel-coordinates.js.map +1 -8
  618. package/js/modules/parallel-coordinates.src.js +9 -4
  619. package/js/modules/pareto.js +5 -4
  620. package/js/modules/pareto.js.map +1 -8
  621. package/js/modules/pareto.src.js +6 -2
  622. package/js/modules/pathfinder.js +34 -0
  623. package/js/modules/pathfinder.js.map +1 -0
  624. package/js/modules/pathfinder.src.js +2106 -0
  625. package/js/modules/pattern-fill.js +13 -12
  626. package/js/modules/pattern-fill.js.map +1 -8
  627. package/js/modules/pattern-fill.src.js +5 -1
  628. package/js/modules/sankey.js +13 -12
  629. package/js/modules/sankey.js.map +1 -8
  630. package/js/modules/sankey.src.js +29 -9
  631. package/js/modules/series-label.js +17 -15
  632. package/js/modules/series-label.js.map +1 -8
  633. package/js/modules/series-label.src.js +12 -8
  634. package/js/modules/solid-gauge.js +9 -8
  635. package/js/modules/solid-gauge.js.map +1 -8
  636. package/js/modules/solid-gauge.src.js +14 -7
  637. package/js/modules/static-scale.js +4 -3
  638. package/js/modules/static-scale.js.map +1 -8
  639. package/js/modules/static-scale.src.js +69 -26
  640. package/js/modules/stock.js +136 -132
  641. package/js/modules/stock.js.map +1 -8
  642. package/js/modules/stock.src.js +1543 -499
  643. package/js/modules/streamgraph.js +4 -3
  644. package/js/modules/streamgraph.js.map +1 -8
  645. package/js/modules/streamgraph.src.js +10 -6
  646. package/js/modules/sunburst.js +40 -39
  647. package/js/modules/sunburst.js.map +1 -8
  648. package/js/modules/sunburst.src.js +38 -31
  649. package/js/modules/tilemap.js +19 -18
  650. package/js/modules/tilemap.js.map +1 -8
  651. package/js/modules/tilemap.src.js +363 -190
  652. package/js/modules/treegrid.js +51 -0
  653. package/js/modules/treegrid.js.map +1 -0
  654. package/js/modules/treegrid.src.js +2759 -0
  655. package/js/modules/treemap.js +27 -26
  656. package/js/modules/treemap.js.map +1 -8
  657. package/js/modules/treemap.src.js +34 -27
  658. package/js/modules/variable-pie.js +8 -7
  659. package/js/modules/variable-pie.js.map +1 -8
  660. package/js/modules/variable-pie.src.js +8 -4
  661. package/js/modules/variwide.js +8 -7
  662. package/js/modules/variwide.js.map +1 -8
  663. package/js/modules/variwide.src.js +42 -26
  664. package/js/modules/vector.js +7 -6
  665. package/js/modules/vector.js.map +1 -8
  666. package/js/modules/vector.src.js +104 -30
  667. package/js/modules/windbarb.js +11 -10
  668. package/js/modules/windbarb.js.map +1 -8
  669. package/js/modules/windbarb.src.js +11 -7
  670. package/js/modules/wordcloud.js +18 -15
  671. package/js/modules/wordcloud.js.map +1 -8
  672. package/js/modules/wordcloud.src.js +142 -53
  673. package/js/modules/xrange.js +12 -10
  674. package/js/modules/xrange.js.map +1 -8
  675. package/js/modules/xrange.src.js +262 -71
  676. package/js/themes/avocado.js +3 -2
  677. package/js/themes/avocado.js.map +1 -8
  678. package/js/themes/avocado.src.js +5 -1
  679. package/js/themes/dark-blue.js +9 -8
  680. package/js/themes/dark-blue.js.map +1 -8
  681. package/js/themes/dark-blue.src.js +7 -3
  682. package/js/themes/dark-green.js +9 -8
  683. package/js/themes/dark-green.js.map +1 -8
  684. package/js/themes/dark-green.src.js +7 -3
  685. package/js/themes/dark-unica.js +9 -7
  686. package/js/themes/dark-unica.js.map +1 -8
  687. package/js/themes/dark-unica.src.js +7 -3
  688. package/js/themes/gray.js +10 -8
  689. package/js/themes/gray.js.map +1 -8
  690. package/js/themes/gray.src.js +7 -3
  691. package/js/themes/grid-light.js +5 -4
  692. package/js/themes/grid-light.js.map +1 -8
  693. package/js/themes/grid-light.src.js +7 -3
  694. package/js/themes/grid.js +6 -5
  695. package/js/themes/grid.js.map +1 -8
  696. package/js/themes/grid.src.js +7 -3
  697. package/js/themes/sand-signika.js +6 -5
  698. package/js/themes/sand-signika.js.map +1 -8
  699. package/js/themes/sand-signika.src.js +7 -3
  700. package/js/themes/skies.js +6 -5
  701. package/js/themes/skies.js.map +1 -8
  702. package/js/themes/skies.src.js +7 -3
  703. package/js/themes/sunset.js +3 -2
  704. package/js/themes/sunset.js.map +1 -8
  705. package/js/themes/sunset.src.js +5 -1
  706. package/modules/accessibility.js +53 -51
  707. package/modules/accessibility.js.map +1 -8
  708. package/modules/accessibility.src.js +86 -45
  709. package/modules/annotations.js +24 -22
  710. package/modules/annotations.js.map +1 -8
  711. package/modules/annotations.src.js +8 -4
  712. package/modules/arrow-symbols.js +13 -0
  713. package/modules/arrow-symbols.js.map +1 -0
  714. package/modules/arrow-symbols.src.js +138 -0
  715. package/modules/boost-canvas.js +15 -13
  716. package/modules/boost-canvas.js.map +1 -8
  717. package/modules/boost-canvas.src.js +24 -9
  718. package/modules/boost.js +57 -52
  719. package/modules/boost.js.map +1 -8
  720. package/modules/boost.src.js +305 -138
  721. package/modules/broken-axis.js +12 -10
  722. package/modules/broken-axis.js.map +1 -8
  723. package/modules/broken-axis.src.js +175 -136
  724. package/modules/bullet.js +6 -5
  725. package/modules/bullet.js.map +1 -8
  726. package/modules/bullet.src.js +7 -3
  727. package/modules/current-date-indicator.js +13 -0
  728. package/modules/current-date-indicator.js.map +1 -0
  729. package/modules/current-date-indicator.src.js +120 -0
  730. package/modules/data.js +25 -24
  731. package/modules/data.js.map +1 -8
  732. package/modules/data.src.js +14 -8
  733. package/modules/drag-panes.js +9 -8
  734. package/modules/drag-panes.js.map +1 -8
  735. package/modules/drag-panes.src.js +5 -1
  736. package/modules/draggable-points.js +38 -0
  737. package/modules/draggable-points.js.map +1 -0
  738. package/modules/draggable-points.src.js +2281 -0
  739. package/modules/drilldown.js +16 -15
  740. package/modules/drilldown.js.map +1 -8
  741. package/modules/drilldown.src.js +9 -3
  742. package/modules/export-data.js +20 -19
  743. package/modules/export-data.js.map +1 -8
  744. package/modules/export-data.src.js +17 -3
  745. package/modules/exporting.js +23 -21
  746. package/modules/exporting.js.map +1 -8
  747. package/modules/exporting.src.js +68 -38
  748. package/modules/funnel.js +8 -7
  749. package/modules/funnel.js.map +1 -8
  750. package/modules/funnel.src.js +11 -7
  751. package/modules/gantt.js +84 -19
  752. package/modules/gantt.js.map +1 -8
  753. package/modules/gantt.src.js +5557 -379
  754. package/modules/grid-axis.js +17 -10
  755. package/modules/grid-axis.js.map +1 -8
  756. package/modules/grid-axis.src.js +736 -293
  757. package/modules/heatmap.js +22 -21
  758. package/modules/heatmap.js.map +1 -8
  759. package/modules/heatmap.src.js +139 -63
  760. package/modules/histogram-bellcurve.js +9 -8
  761. package/modules/histogram-bellcurve.js.map +1 -8
  762. package/modules/histogram-bellcurve.src.js +35 -29
  763. package/modules/item-series.js +6 -4
  764. package/modules/item-series.js.map +1 -8
  765. package/modules/item-series.src.js +42 -13
  766. package/modules/map.js +65 -64
  767. package/modules/map.js.map +1 -8
  768. package/modules/map.src.js +365 -152
  769. package/modules/no-data-to-display.js +5 -4
  770. package/modules/no-data-to-display.js.map +1 -8
  771. package/modules/no-data-to-display.src.js +10 -6
  772. package/modules/offline-exporting.js +14 -12
  773. package/modules/offline-exporting.js.map +1 -8
  774. package/modules/offline-exporting.src.js +6 -2
  775. package/modules/oldie.js +29 -27
  776. package/modules/oldie.js.map +1 -8
  777. package/modules/oldie.src.js +20 -11
  778. package/modules/overlapping-datalabels.js +4 -3
  779. package/modules/overlapping-datalabels.js.map +1 -8
  780. package/modules/overlapping-datalabels.src.js +6 -2
  781. package/modules/parallel-coordinates.js +10 -9
  782. package/modules/parallel-coordinates.js.map +1 -8
  783. package/modules/parallel-coordinates.src.js +9 -4
  784. package/modules/pareto.js +5 -4
  785. package/modules/pareto.js.map +1 -8
  786. package/modules/pareto.src.js +6 -2
  787. package/modules/pathfinder.js +35 -0
  788. package/modules/pathfinder.js.map +1 -0
  789. package/modules/pathfinder.src.js +2128 -0
  790. package/modules/pattern-fill.js +13 -12
  791. package/modules/pattern-fill.js.map +1 -8
  792. package/modules/pattern-fill.src.js +5 -1
  793. package/modules/sankey.js +13 -12
  794. package/modules/sankey.js.map +1 -8
  795. package/modules/sankey.src.js +34 -12
  796. package/modules/series-label.js +17 -15
  797. package/modules/series-label.js.map +1 -8
  798. package/modules/series-label.src.js +12 -8
  799. package/modules/solid-gauge.js +9 -8
  800. package/modules/solid-gauge.js.map +1 -8
  801. package/modules/solid-gauge.src.js +16 -9
  802. package/modules/static-scale.js +4 -3
  803. package/modules/static-scale.js.map +1 -8
  804. package/modules/static-scale.src.js +69 -26
  805. package/modules/stock.js +143 -139
  806. package/modules/stock.js.map +1 -8
  807. package/modules/stock.src.js +1701 -566
  808. package/modules/streamgraph.js +4 -3
  809. package/modules/streamgraph.js.map +1 -8
  810. package/modules/streamgraph.src.js +10 -6
  811. package/modules/sunburst.js +42 -41
  812. package/modules/sunburst.js.map +1 -8
  813. package/modules/sunburst.src.js +39 -32
  814. package/modules/tilemap.js +18 -17
  815. package/modules/tilemap.js.map +1 -8
  816. package/modules/tilemap.src.js +365 -191
  817. package/modules/treegrid.js +52 -0
  818. package/modules/treegrid.js.map +1 -0
  819. package/modules/treegrid.src.js +2797 -0
  820. package/modules/treemap.js +29 -28
  821. package/modules/treemap.js.map +1 -8
  822. package/modules/treemap.src.js +35 -28
  823. package/modules/variable-pie.js +8 -7
  824. package/modules/variable-pie.js.map +1 -8
  825. package/modules/variable-pie.src.js +8 -4
  826. package/modules/variwide.js +8 -7
  827. package/modules/variwide.js.map +1 -8
  828. package/modules/variwide.src.js +42 -26
  829. package/modules/vector.js +7 -6
  830. package/modules/vector.js.map +1 -8
  831. package/modules/vector.src.js +104 -30
  832. package/modules/windbarb.js +11 -10
  833. package/modules/windbarb.js.map +1 -8
  834. package/modules/windbarb.src.js +11 -7
  835. package/modules/wordcloud.js +18 -15
  836. package/modules/wordcloud.js.map +1 -8
  837. package/modules/wordcloud.src.js +142 -53
  838. package/modules/xrange.js +13 -11
  839. package/modules/xrange.js.map +1 -8
  840. package/modules/xrange.src.js +264 -80
  841. package/package.json +1 -1
  842. package/themes/avocado.js +3 -2
  843. package/themes/avocado.js.map +1 -8
  844. package/themes/avocado.src.js +5 -1
  845. package/themes/dark-blue.js +9 -8
  846. package/themes/dark-blue.js.map +1 -8
  847. package/themes/dark-blue.src.js +7 -3
  848. package/themes/dark-green.js +9 -8
  849. package/themes/dark-green.js.map +1 -8
  850. package/themes/dark-green.src.js +7 -3
  851. package/themes/dark-unica.js +9 -7
  852. package/themes/dark-unica.js.map +1 -8
  853. package/themes/dark-unica.src.js +7 -3
  854. package/themes/gray.js +10 -8
  855. package/themes/gray.js.map +1 -8
  856. package/themes/gray.src.js +7 -3
  857. package/themes/grid-light.js +5 -4
  858. package/themes/grid-light.js.map +1 -8
  859. package/themes/grid-light.src.js +7 -3
  860. package/themes/grid.js +6 -5
  861. package/themes/grid.js.map +1 -8
  862. package/themes/grid.src.js +7 -3
  863. package/themes/sand-signika.js +6 -5
  864. package/themes/sand-signika.js.map +1 -8
  865. package/themes/sand-signika.src.js +7 -3
  866. package/themes/skies.js +6 -5
  867. package/themes/skies.js.map +1 -8
  868. package/themes/skies.src.js +7 -3
  869. package/themes/sunset.js +3 -2
  870. package/themes/sunset.js.map +1 -8
  871. package/themes/sunset.src.js +5 -1
package/highmaps.js CHANGED
@@ -1,441 +1,450 @@
1
1
  /*
2
- Highmaps JS v6.1.1 (2018-06-27)
2
+ Highmaps JS v6.2.0 (2018-10-17)
3
3
 
4
4
  (c) 2011-2016 Torstein Honsi
5
5
 
6
6
  License: www.highcharts.com/license
7
7
  */
8
- (function(T,K){"object"===typeof module&&module.exports?module.exports=T.document?K(T):K:T.Highcharts=K(T)})("undefined"!==typeof window?window:this,function(T){var K=function(){var a="undefined"===typeof T?window:T,A=a.document,y=a.navigator&&a.navigator.userAgent||"",C=A&&A.createElementNS&&!!A.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,n=/(edge|msie|trident)/i.test(y)&&!a.opera,d=-1!==y.indexOf("Firefox"),l=-1!==y.indexOf("Chrome"),v=d&&4>parseInt(y.split("Firefox/")[1],
9
- 10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.1.1",deg2rad:2*Math.PI/360,doc:A,hasBidiBug:v,hasTouch:A&&void 0!==A.documentElement.ontouchstart,isMS:n,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:d,isChrome:l,isSafari:!l&&-1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},
10
- charts:[]}}();(function(a){a.timers=[];var A=a.charts,y=a.doc,C=a.win;a.error=function(n,d){n=a.isNumber(n)?"Highcharts error #"+n+": www.highcharts.com/errors/"+n:n;if(d)throw Error(n);C.console&&console.log(n)};a.Fx=function(a,d,l){this.options=d;this.elem=a;this.prop=l};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],l=[],v=this.now,u=a.length,t;if(1===v)l=this.toD;else if(u===d.length&&1>v)for(;u--;)t=parseFloat(a[u]),l[u]=isNaN(t)?d[u]:v*parseFloat(d[u]-t)+t;else l=d;this.elem.attr("d",
11
- l,null,!0)},update:function(){var a=this.elem,d=this.prop,l=this.now,v=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,l,null,!0):a.style[d]=l+this.unit;v&&v.call(a,l,this)},run:function(n,d,l){var v=this,u=v.options,t=function(a){return t.stopped?!1:v.step(a)},k=C.requestAnimationFrame||function(a){setTimeout(a,13)},g=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,1);a.timers.length&&k(g)};n!==d||this.elem["forceAnimate:"+
12
- this.prop]?(this.startTime=+new Date,this.start=n,this.end=d,this.unit=l,this.now=this.start,this.pos=0,t.elem=this.elem,t.prop=this.prop,t()&&1===a.timers.push(t)&&k(g)):(delete u.curAnim[this.prop],u.complete&&0===a.keys(u.curAnim).length&&u.complete.call(this.elem))},step:function(n){var d=+new Date,l,v=this.options,u=this.elem,t=v.complete,k=v.duration,g=v.curAnim;u.attr&&!u.element?n=!1:n||d>=k+this.startTime?(this.now=this.end,this.pos=1,this.update(),l=g[this.prop]=!0,a.objectEach(g,function(a){!0!==
13
- a&&(l=!1)}),l&&t&&t.call(u),n=!1):(this.pos=v.easing((d-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0);return n},initPath:function(n,d,l){function v(a){var b,e;for(c=a.length;c--;)b="M"===a[c]||"L"===a[c],e=/[a-zA-Z]/.test(a[c+3]),b&&e&&a.splice(c+1,0,a[c+1],a[c+2],a[c+1],a[c+2])}function u(a,b){for(;a.length<e;){a[0]=b[e-a.length];var f=a.slice(0,q);[].splice.apply(a,[0,0].concat(f));m&&(f=a.slice(a.length-q),[].splice.apply(a,[a.length,0].concat(f)),c--)}a[0]=
14
- "M"}function t(a,c){for(var f=(e-a.length)/q;0<f&&f--;)b=a.slice().splice(a.length/B-q,q*B),b[0]=c[e-q-f*q],h&&(b[q-6]=b[q-2],b[q-5]=b[q-1]),[].splice.apply(a,[a.length/B,0].concat(b)),m&&f--}d=d||"";var k,g=n.startX,f=n.endX,h=-1<d.indexOf("C"),q=h?7:3,e,b,c;d=d.split(" ");l=l.slice();var m=n.isArea,B=m?2:1,I;h&&(v(d),v(l));if(g&&f){for(c=0;c<g.length;c++)if(g[c]===f[0]){k=c;break}else if(g[0]===f[f.length-g.length+c]){k=c;I=!0;break}void 0===k&&(d=[])}d.length&&a.isNumber(k)&&(e=l.length+k*B*q,
15
- I?(u(d,l),t(l,d)):(u(l,d),t(d,l)));return[d,l]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.merge=function(){var n,d=arguments,l,v={},u=function(l,k){"object"!==typeof l&&(l={});a.objectEach(k,function(g,f){!a.isObject(g,!0)||a.isClass(g)||a.isDOMElement(g)?l[f]=k[f]:l[f]=u(l[f]||{},g)});return l};!0===d[0]&&(v=d[1],d=Array.prototype.slice.call(d,2));l=d.length;for(n=0;n<l;n++)v=u(v,
16
- d[n]);return v};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(n,d){return!!n&&"object"===typeof n&&(!d||!a.isArray(n))};a.isDOMElement=function(n){return a.isObject(n)&&"number"===typeof n.nodeType};a.isClass=function(n){var d=n&&n.constructor;return!(!a.isObject(n,!0)||a.isDOMElement(n)||!d||!d.name||"Object"===
17
- d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var l=a.length;l--;)if(a[l]===d){a.splice(l,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(n,d,l){var v;a.isString(d)?a.defined(l)?n.setAttribute(d,l):n&&n.getAttribute&&((v=n.getAttribute(d))||"class"!==d||(v=n.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&a.objectEach(d,function(a,l){n.setAttribute(l,a)});return v};a.splat=function(n){return a.isArray(n)?
18
- n:[n]};a.syncTimeout=function(a,d,l){if(d)return setTimeout(a,d,l);a.call(0,l)};a.clearTimeout=function(n){a.defined(n)&&clearTimeout(n)};a.extend=function(a,d){var l;a||(a={});for(l in d)a[l]=d[l];return a};a.pick=function(){var a=arguments,d,l,v=a.length;for(d=0;d<v;d++)if(l=a[d],void 0!==l&&null!==l)return l};a.css=function(n,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(n.style,d)};a.createElement=function(n,d,l,v,u){n=y.createElement(n);var t=
19
- a.css;d&&a.extend(n,d);u&&t(n,{padding:0,border:"none",margin:0});l&&t(n,l);v&&v.appendChild(n);return n};a.extendClass=function(n,d){var l=function(){};l.prototype=new n;a.extend(l.prototype,d);return l};a.pad=function(a,d,l){return Array((d||2)+1-String(a).replace("-","").length).join(l||0)+a};a.relativeLength=function(a,d,l){return/%$/.test(a)?d*parseFloat(a)/100+(l||0):parseFloat(a)};a.wrap=function(a,d,l){var n=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,k=this;
20
- k.proceed=function(){n.apply(k,arguments.length?arguments:d)};a.unshift(n);a=l.apply(this,a);k.proceed=null;return a}};a.formatSingle=function(n,d,l){var v=/\.([0-9])/,u=a.defaultOptions.lang;/f$/.test(n)?(l=(l=n.match(v))?l[1]:-1,null!==d&&(d=a.numberFormat(d,l,u.decimalPoint,-1<n.indexOf(",")?u.thousandsSep:""))):d=(l||a.time).dateFormat(n,d);return d};a.format=function(n,d,l){for(var v="{",u=!1,t,k,g,f,h=[],q;n;){v=n.indexOf(v);if(-1===v)break;t=n.slice(0,v);if(u){t=t.split(":");k=t.shift().split(".");
21
- f=k.length;q=d;for(g=0;g<f;g++)q&&(q=q[k[g]]);t.length&&(q=a.formatSingle(t.join(":"),q,l));h.push(q)}else h.push(t);n=n.slice(v+1);v=(u=!u)?"}":"{"}h.push(n);return h.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(n,d,l,v,u){var t,k=n;l=a.pick(l,1);t=n/l;d||(d=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===v&&(1===l?d=a.grep(d,function(a){return 0===a%1}):.1>=l&&(d=[1/l])));for(v=0;v<d.length&&!(k=d[v],u&&k*l>=n||
22
- !u&&t<=(d[v]+(d[v+1]||d[v]))/2);v++);return k=a.correctFloat(k*l,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var l=a.length,n,u;for(u=0;u<l;u++)a[u].safeI=u;a.sort(function(a,k){n=d(a,k);return 0===n?a.safeI-k.safeI:n});for(u=0;u<l;u++)delete a[u].safeI};a.arrayMin=function(a){for(var d=a.length,l=a[0];d--;)a[d]<l&&(l=a[d]);return l};a.arrayMax=function(a){for(var d=a.length,l=a[0];d--;)a[d]>l&&(l=a[d]);return l};a.destroyObjectProperties=function(n,d){a.objectEach(n,function(a,
23
- v){a&&a!==d&&a.destroy&&a.destroy();delete n[v]})};a.discardElement=function(n){var d=a.garbageBin;d||(d=a.createElement("div"));n&&d.appendChild(n);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(n,d){d.renderer.globalAnimation=a.pick(n,d.options.chart.animation,!0)};a.animObject=function(n){return a.isObject(n)?a.merge(n):{duration:n?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,
24
- year:314496E5};a.numberFormat=function(n,d,l,v){n=+n||0;d=+d;var u=a.defaultOptions.lang,t=(n.toString().split(".")[1]||"").split("e")[0].length,k,g,f=n.toString().split("e");-1===d?d=Math.min(t,20):a.isNumber(d)?d&&f[1]&&0>f[1]&&(k=d+ +f[1],0<=k?(f[0]=(+f[0]).toExponential(k).split("e")[0],d=k):(f[0]=f[0].split(".")[0]||0,n=20>d?(f[0]*Math.pow(10,f[1])).toFixed(d):0,f[1]=0)):d=2;g=(Math.abs(f[1]?f[0]:n)+Math.pow(10,-Math.max(d,t)-1)).toFixed(d);t=String(a.pInt(g));k=3<t.length?t.length%3:0;l=a.pick(l,
25
- u.decimalPoint);v=a.pick(v,u.thousandsSep);n=(0>n?"-":"")+(k?t.substr(0,k)+v:"");n+=t.substr(k).replace(/(\d{3})(?=\d)/g,"$1"+v);d&&(n+=l+g.slice(-d));f[1]&&0!==+n&&(n+="e"+f[1]);return n};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(n,d,l){if("width"===d)return Math.max(0,Math.min(n.offsetWidth,n.scrollWidth)-a.getStyle(n,"padding-left")-a.getStyle(n,"padding-right"));if("height"===d)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-a.getStyle(n,"padding-top")-
26
- a.getStyle(n,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(n=C.getComputedStyle(n,void 0))n=n.getPropertyValue(d),a.pick(l,"opacity"!==d)&&(n=a.pInt(n));return n};a.inArray=function(n,d,l){return(a.indexOfPolyfill||Array.prototype.indexOf).call(d,n,l)};a.grep=function(n,d){return(a.filterPolyfill||Array.prototype.filter).call(n,d)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:function(a,d){var l,n=a.length;for(l=0;l<n;l++)if(d(a[l],l))return a[l]};a.some=function(n,d,l){return(a.somePolyfill||
27
- Array.prototype.some).call(n,d,l)};a.map=function(a,d){for(var l=[],n=0,u=a.length;n<u;n++)l[n]=d.call(a[n],a[n],n,a);return l};a.keys=function(n){return(a.keysPolyfill||Object.keys).call(void 0,n)};a.reduce=function(n,d,l){return(a.reducePolyfill||Array.prototype.reduce).apply(n,2<arguments.length?[d,l]:[d])};a.offset=function(a){var d=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+
28
- (C.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(n,d){for(var l=a.timers.length;l--;)a.timers[l].elem!==n||d&&d!==a.timers[l].prop||(a.timers[l].stopped=!0)};a.each=function(n,d,l){return(a.forEachPolyfill||Array.prototype.forEach).call(n,d,l)};a.objectEach=function(a,d,l){for(var n in a)a.hasOwnProperty(n)&&d.call(l||a[n],a[n],n,a)};a.addEvent=function(n,d,l,v){var u,t=n.addEventListener||a.addEventListenerPolyfill;u="function"===typeof n&&n.prototype?n.prototype.protoEvents=n.prototype.protoEvents||
29
- {}:n.hcEvents=n.hcEvents||{};a.Point&&n instanceof a.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);t&&t.call(n,d,l,!1);u[d]||(u[d]=[]);u[d].push(l);v&&a.isNumber(v.order)&&(l.order=v.order,u[d].sort(function(a,g){return a.order-g.order}));return function(){a.removeEvent(n,d,l)}};a.removeEvent=function(n,d,l){function v(g,f){var k=n.removeEventListener||a.removeEventListenerPolyfill;k&&k.call(n,g,f,!1)}function u(g){var f,k;n.nodeName&&(d?(f={},f[d]=!0):f=g,a.objectEach(f,function(a,
30
- e){if(g[e])for(k=g[e].length;k--;)v(e,g[e][k])}))}var t,k;a.each(["protoEvents","hcEvents"],function(g){var f=n[g];f&&(d?(t=f[d]||[],l?(k=a.inArray(l,t),-1<k&&(t.splice(k,1),f[d]=t),v(d,l)):(u(f),f[d]=[])):(u(f),n[g]={}))})};a.fireEvent=function(n,d,l,v){var u,t,k,g,f;l=l||{};y.createEvent&&(n.dispatchEvent||n.fireEvent)?(u=y.createEvent("Events"),u.initEvent(d,!0,!0),a.extend(u,l),n.dispatchEvent?n.dispatchEvent(u):n.fireEvent(d,u)):a.each(["protoEvents","hcEvents"],function(h){if(n[h])for(t=n[h][d]||
31
- [],k=t.length,l.target||a.extend(l,{preventDefault:function(){l.defaultPrevented=!0},target:n,type:d}),g=0;g<k;g++)(f=t[g])&&!1===f.call(n,l)&&l.preventDefault()});v&&!l.defaultPrevented&&v.call(n,l)};a.animate=function(n,d,l){var v,u="",t,k,g;a.isObject(l)||(g=arguments,l={duration:g[2],easing:g[3],complete:g[4]});a.isNumber(l.duration)||(l.duration=400);l.easing="function"===typeof l.easing?l.easing:Math[l.easing]||Math.easeInOutSine;l.curAnim=a.merge(d);a.objectEach(d,function(f,g){a.stop(n,g);
32
- k=new a.Fx(n,l,g);t=null;"d"===g?(k.paths=k.initPath(n,n.d,d.d),k.toD=d.d,v=0,t=1):n.attr?v=n.attr(g):(v=parseFloat(a.getStyle(n,g))||0,"opacity"!==g&&(u="px"));t||(t=f);t&&t.match&&t.match("px")&&(t=t.replace(/px/g,""));k.run(v,t,u)})};a.seriesType=function(n,d,l,v,u){var t=a.getOptions(),k=a.seriesTypes;t.plotOptions[n]=a.merge(t.plotOptions[d],l);k[n]=a.extendClass(k[d]||function(){},v);k[n].prototype.type=n;u&&(k[n].prototype.pointClass=a.extendClass(a.Point,u));return k[n]};a.uniqueKey=function(){var a=
33
- Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();C.jQuery&&(C.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new (a[a.isString(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):A[a.attr(this[0],"data-highcharts-chart")]})})(K);(function(a){var A=a.each,y=a.isNumber,C=a.map,n=a.merge,d=a.pInt;a.Color=function(l){if(!(this instanceof a.Color))return new a.Color(l);this.init(l)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,
34
- parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(d){var l,n,t,k;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=C(d.stops,function(g){return new a.Color(g[1])});else if(d&&d.charAt&&"#"===d.charAt()&&(l=d.length,d=parseInt(d.substr(1),
35
- 16),7===l?n=[(d&16711680)>>16,(d&65280)>>8,d&255,1]:4===l&&(n=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!n)for(t=this.parsers.length;t--&&!n;)k=this.parsers[t],(l=k.regex.exec(d))&&(n=k.parse(l));this.rgba=n||[]},get:function(a){var d=this.input,l=this.rgba,t;this.stops?(t=n(d),t.stops=[].concat(t.stops),A(this.stops,function(k,g){t.stops[g]=[t.stops[g][0],k.get(a)]})):t=l&&y(l[0])?"rgb"===a||!a&&1===l[3]?"rgb("+l[0]+","+l[1]+","+l[2]+")":"a"===a?l[3]:"rgba("+l.join(",")+")":d;
36
- return t},brighten:function(a){var l,n=this.rgba;if(this.stops)A(this.stops,function(d){d.brighten(a)});else if(y(a)&&0!==a)for(l=0;3>l;l++)n[l]+=d(255*a),0>n[l]&&(n[l]=0),255<n[l]&&(n[l]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var l=this.rgba,t=a.rgba;t.length&&l&&l.length?(a=1!==t[3]||1!==l[3],d=(a?"rgba(":"rgb(")+Math.round(t[0]+(l[0]-t[0])*(1-d))+","+Math.round(t[1]+(l[1]-t[1])*(1-d))+","+Math.round(t[2]+(l[2]-t[2])*(1-d))+(a?","+(t[3]+(l[3]-
37
- t[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(d){return new a.Color(d)}})(K);(function(a){var A=a.defined,y=a.each,C=a.extend,n=a.merge,d=a.pick,l=a.timeUnits,v=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(l){var t=d(l&&l.useUTC,!0),k=this;this.options=l=n(!0,this.options||{},l);this.Date=l.Date||v.Date;this.timezoneOffset=(this.useUTC=t)&&l.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=
38
- !(t&&!l.getTimezoneOffset&&!l.timezone))||this.timezoneOffset?(this.get=function(a,f){var g=f.getTime(),q=g-k.getTimezoneOffset(f);f.setTime(q);a=f["getUTC"+a]();f.setTime(g);return a},this.set=function(g,f,h){var q;if(-1!==a.inArray(g,["Milliseconds","Seconds","Minutes"]))f["set"+g](h);else q=k.getTimezoneOffset(f),q=f.getTime()-q,f.setTime(q),f["setUTC"+g](h),g=k.getTimezoneOffset(f),q=f.getTime()+g,f.setTime(q)}):t?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,k){return f["setUTC"+
39
- a](k)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,k){return f["set"+a](k)})},makeTime:function(l,t,k,g,f,h){var q,e,b;this.useUTC?(q=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(q),q+=e,b=this.getTimezoneOffset(q),e!==b?q+=b-e:e-36E5!==this.getTimezoneOffset(q-36E5)||a.isSafari||(q-=36E5)):q=(new this.Date(l,t,d(k,1),d(g,0),d(f,0),d(h,0))).getTime();return q},timezoneOffsetFunction:function(){var d=this,l=this.options,k=v.moment;if(!this.useUTC)return function(a){return 6E4*
40
- (new Date(a)).getTimezoneOffset()};if(l.timezone){if(k)return function(a){return 6E4*-k.tz(a,l.timezone).utcOffset()};a.error(25)}return this.useUTC&&l.getTimezoneOffset?function(a){return 6E4*l.getTimezoneOffset(a)}:function(){return 6E4*(d.timezoneOffset||0)}},dateFormat:function(d,l,k){if(!a.defined(l)||isNaN(l))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var g=this,f=new this.Date(l),h=this.get("Hours",f),q=this.get("Day",f),e=this.get("Date",f),b=this.get("Month",
41
- f),c=this.get("FullYear",f),m=a.defaultOptions.lang,B=m.weekdays,I=m.shortWeekdays,x=a.pad,f=a.extend({a:I?I[q]:B[q].substr(0,3),A:B[q],d:x(e),e:x(e,2," "),w:q,b:m.shortMonths[b],B:m.months[b],m:x(b+1),o:b+1,y:c.toString().substr(2,2),Y:c,H:x(h),k:h,I:x(h%12||12),l:h%12||12,M:x(g.get("Minutes",f)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:x(f.getSeconds()),L:x(Math.round(l%1E3),3)},a.dateFormats);a.objectEach(f,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+b,"function"===typeof a?a.call(g,l):
42
- a)});return k?d.substr(0,1).toUpperCase()+d.substr(1):d},getTimeTicks:function(a,t,k,g){var f=this,h=[],q={},e,b=new f.Date(t),c=a.unitRange,m=a.count||1,B;if(A(t)){f.set("Milliseconds",b,c>=l.second?0:m*Math.floor(f.get("Milliseconds",b)/m));c>=l.second&&f.set("Seconds",b,c>=l.minute?0:m*Math.floor(f.get("Seconds",b)/m));c>=l.minute&&f.set("Minutes",b,c>=l.hour?0:m*Math.floor(f.get("Minutes",b)/m));c>=l.hour&&f.set("Hours",b,c>=l.day?0:m*Math.floor(f.get("Hours",b)/m));c>=l.day&&f.set("Date",b,c>=
43
- l.month?1:m*Math.floor(f.get("Date",b)/m));c>=l.month&&(f.set("Month",b,c>=l.year?0:m*Math.floor(f.get("Month",b)/m)),e=f.get("FullYear",b));c>=l.year&&f.set("FullYear",b,e-e%m);c===l.week&&f.set("Date",b,f.get("Date",b)-f.get("Day",b)+d(g,1));e=f.get("FullYear",b);g=f.get("Month",b);var I=f.get("Date",b),x=f.get("Hours",b);t=b.getTime();f.variableTimezone&&(B=k-t>4*l.month||f.getTimezoneOffset(t)!==f.getTimezoneOffset(k));b=b.getTime();for(t=1;b<k;)h.push(b),b=c===l.year?f.makeTime(e+t*m,0):c===
44
- l.month?f.makeTime(e,g+t*m):!B||c!==l.day&&c!==l.week?B&&c===l.hour&&1<m?f.makeTime(e,g,I,x+t*m):b+c*m:f.makeTime(e,g,I+t*m*(c===l.day?1:7)),t++;h.push(b);c<=l.hour&&1E4>h.length&&y(h,function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(q[a]="day")})}h.info=C(a,{higherRanks:q,totalRange:c*m});return h}}})(K);(function(a){var A=a.color,y=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond",
45
- "square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,
8
+ (function(R,M){"object"===typeof module&&module.exports?module.exports=R.document?M(R):M:"function"===typeof define&&define.amd?define(function(){return M(R)}):R.Highcharts=M(R)})("undefined"!==typeof window?window:this,function(R){var M=function(){var a="undefined"===typeof R?window:R,B=a.document,C=a.navigator&&a.navigator.userAgent||"",D=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,n=/(edge|msie|trident)/i.test(C)&&!a.opera,d=-1!==C.indexOf("Firefox"),
9
+ k=-1!==C.indexOf("Chrome"),u=d&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.2.0",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:u,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:n,isWebKit:-1!==C.indexOf("AppleWebKit"),isFirefox:d,isChrome:k,isSafari:!k&&-1!==C.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:D,win:a,marginNames:["plotTop",
10
+ "marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var B=a.charts,C=a.doc,D=a.win;a.error=function(n,d){n=a.isNumber(n)?"Highcharts error #"+n+": www.highcharts.com/errors/"+n:n;if(d)throw Error(n);D.console&&console.log(n)};a.Fx=function(a,d,k){this.options=d;this.elem=a;this.prop=k};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],k=[],u=this.now,v=a.length,q;if(1===u)k=this.toD;else if(v===d.length&&1>u)for(;v--;)q=parseFloat(a[v]),
11
+ k[v]=isNaN(q)?d[v]:u*parseFloat(d[v]-q)+q;else k=d;this.elem.attr("d",k,null,!0)},update:function(){var a=this.elem,d=this.prop,k=this.now,u=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,k,null,!0):a.style[d]=k+this.unit;u&&u.call(a,k,this)},run:function(n,d,k){var u=this,v=u.options,q=function(a){return q.stopped?!1:u.step(a)},p=D.requestAnimationFrame||function(a){setTimeout(a,13)},y=function(){for(var g=0;g<a.timers.length;g++)a.timers[g]()||a.timers.splice(g--,
12
+ 1);a.timers.length&&p(y)};n!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=n,this.end=d,this.unit=k,this.now=this.start,this.pos=0,q.elem=this.elem,q.prop=this.prop,q()&&1===a.timers.push(q)&&p(y)):(delete v.curAnim[this.prop],v.complete&&0===a.keys(v.curAnim).length&&v.complete.call(this.elem))},step:function(n){var d=+new Date,k,u=this.options,v=this.elem,q=u.complete,p=u.duration,y=u.curAnim;v.attr&&!v.element?n=!1:n||d>=p+this.startTime?(this.now=this.end,this.pos=
13
+ 1,this.update(),k=y[this.prop]=!0,a.objectEach(y,function(a){!0!==a&&(k=!1)}),k&&q&&q.call(v),n=!1):(this.pos=u.easing((d-this.startTime)/p),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0);return n},initPath:function(n,d,k){function u(a){var b,c;for(f=a.length;f--;)b="M"===a[f]||"L"===a[f],c=/[a-zA-Z]/.test(a[f+3]),b&&c&&a.splice(f+1,0,a[f+1],a[f+2],a[f+1],a[f+2])}function v(a,c){for(;a.length<b;){a[0]=c[b-a.length];var h=a.slice(0,m);[].splice.apply(a,[0,0].concat(h));e&&(h=
14
+ a.slice(a.length-m),[].splice.apply(a,[a.length,0].concat(h)),f--)}a[0]="M"}function q(a,f){for(var g=(b-a.length)/m;0<g&&g--;)c=a.slice().splice(a.length/w-m,m*w),c[0]=f[b-m-g*m],h&&(c[m-6]=c[m-2],c[m-5]=c[m-1]),[].splice.apply(a,[a.length/w,0].concat(c)),e&&g--}d=d||"";var p,y=n.startX,g=n.endX,h=-1<d.indexOf("C"),m=h?7:3,b,c,f;d=d.split(" ");k=k.slice();var e=n.isArea,w=e?2:1,G;h&&(u(d),u(k));if(y&&g){for(f=0;f<y.length;f++)if(y[f]===g[0]){p=f;break}else if(y[0]===g[g.length-y.length+f]){p=f;G=
15
+ !0;break}void 0===p&&(d=[])}d.length&&a.isNumber(p)&&(b=k.length+p*w*m,G?(v(d,k),q(k,d)):(v(k,d),q(d,k)));return[d,k]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var n,d=arguments,k,u={},v=function(q,p){"object"!==typeof q&&(q={});a.objectEach(p,function(n,g){!a.isObject(n,!0)||a.isClass(n)||a.isDOMElement(n)?q[g]=p[g]:q[g]=v(q[g]||{},
16
+ n)});return q};!0===d[0]&&(u=d[1],d=Array.prototype.slice.call(d,2));k=d.length;for(n=0;n<k;n++)u=v(u,d[n]);return u};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(n,d){return!!n&&"object"===typeof n&&(!d||!a.isArray(n))};a.isDOMElement=function(n){return a.isObject(n)&&"number"===typeof n.nodeType};a.isClass=function(n){var d=
17
+ n&&n.constructor;return!(!a.isObject(n,!0)||a.isDOMElement(n)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var k=a.length;k--;)if(a[k]===d){a.splice(k,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(n,d,k){var u;a.isString(d)?a.defined(k)?n.setAttribute(d,k):n&&n.getAttribute&&((u=n.getAttribute(d))||"class"!==d||(u=n.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&
18
+ a.objectEach(d,function(a,q){n.setAttribute(q,a)});return u};a.splat=function(n){return a.isArray(n)?n:[n]};a.syncTimeout=function(a,d,k){if(d)return setTimeout(a,d,k);a.call(0,k)};a.clearTimeout=function(n){a.defined(n)&&clearTimeout(n)};a.extend=function(a,d){var k;a||(a={});for(k in d)a[k]=d[k];return a};a.pick=function(){var a=arguments,d,k,u=a.length;for(d=0;d<u;d++)if(k=a[d],void 0!==k&&null!==k)return k};a.css=function(n,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+
19
+ 100*d.opacity+")");a.extend(n.style,d)};a.createElement=function(n,d,k,u,v){n=C.createElement(n);var q=a.css;d&&a.extend(n,d);v&&q(n,{padding:0,border:"none",margin:0});k&&q(n,k);u&&u.appendChild(n);return n};a.extendClass=function(n,d){var k=function(){};k.prototype=new n;a.extend(k.prototype,d);return k};a.pad=function(a,d,k){return Array((d||2)+1-String(a).replace("-","").length).join(k||0)+a};a.relativeLength=function(a,d,k){return/%$/.test(a)?d*parseFloat(a)/100+(k||0):parseFloat(a)};a.wrap=
20
+ function(a,d,k){var n=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),q=arguments,p=this;p.proceed=function(){n.apply(p,arguments.length?arguments:q)};a.unshift(n);a=k.apply(this,a);p.proceed=null;return a}};a.datePropsToTimestamps=function(n){a.objectEach(n,function(d,k){a.isObject(d)&&"function"===typeof d.getTime?n[k]=d.getTime():(a.isObject(d)||a.isArray(d))&&a.datePropsToTimestamps(d)})};a.formatSingle=function(n,d,k){var u=/\.([0-9])/,v=a.defaultOptions.lang;/f$/.test(n)?(k=
21
+ (k=n.match(u))?k[1]:-1,null!==d&&(d=a.numberFormat(d,k,v.decimalPoint,-1<n.indexOf(",")?v.thousandsSep:""))):d=(k||a.time).dateFormat(n,d);return d};a.format=function(n,d,k){for(var u="{",v=!1,q,p,y,g,h=[],m;n;){u=n.indexOf(u);if(-1===u)break;q=n.slice(0,u);if(v){q=q.split(":");p=q.shift().split(".");g=p.length;m=d;for(y=0;y<g;y++)m&&(m=m[p[y]]);q.length&&(m=a.formatSingle(q.join(":"),m,k));h.push(m)}else h.push(q);n=n.slice(u+1);u=(v=!v)?"}":"{"}h.push(n);return h.join("")};a.getMagnitude=function(a){return Math.pow(10,
22
+ Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(n,d,k,u,v){var q,p=n;k=a.pick(k,1);q=n/k;d||(d=v?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===k?d=a.grep(d,function(a){return 0===a%1}):.1>=k&&(d=[1/k])));for(u=0;u<d.length&&!(p=d[u],v&&p*k>=n||!v&&q<=(d[u]+(d[u+1]||d[u]))/2);u++);return p=a.correctFloat(p*k,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var k=a.length,n,v;for(v=0;v<k;v++)a[v].safeI=v;a.sort(function(a,p){n=d(a,p);return 0===n?
23
+ a.safeI-p.safeI:n});for(v=0;v<k;v++)delete a[v].safeI};a.arrayMin=function(a){for(var d=a.length,k=a[0];d--;)a[d]<k&&(k=a[d]);return k};a.arrayMax=function(a){for(var d=a.length,k=a[0];d--;)a[d]>k&&(k=a[d]);return k};a.destroyObjectProperties=function(n,d){a.objectEach(n,function(a,u){a&&a!==d&&a.destroy&&a.destroy();delete n[u]})};a.discardElement=function(n){var d=a.garbageBin;d||(d=a.createElement("div"));n&&d.appendChild(n);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||
24
+ 14))};a.setAnimation=function(n,d){d.renderer.globalAnimation=a.pick(n,d.options.chart.animation,!0)};a.animObject=function(n){return a.isObject(n)?a.merge(n):{duration:n?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(n,d,k,u){n=+n||0;d=+d;var v=a.defaultOptions.lang,q=(n.toString().split(".")[1]||"").split("e")[0].length,p,y,g=n.toString().split("e");-1===d?d=Math.min(q,20):a.isNumber(d)?d&&g[1]&&0>g[1]&&
25
+ (p=d+ +g[1],0<=p?(g[0]=(+g[0]).toExponential(p).split("e")[0],d=p):(g[0]=g[0].split(".")[0]||0,n=20>d?(g[0]*Math.pow(10,g[1])).toFixed(d):0,g[1]=0)):d=2;y=(Math.abs(g[1]?g[0]:n)+Math.pow(10,-Math.max(d,q)-1)).toFixed(d);q=String(a.pInt(y));p=3<q.length?q.length%3:0;k=a.pick(k,v.decimalPoint);u=a.pick(u,v.thousandsSep);n=(0>n?"-":"")+(p?q.substr(0,p)+u:"");n+=q.substr(p).replace(/(\d{3})(?=\d)/g,"$1"+u);d&&(n+=k+y.slice(-d));g[1]&&0!==+n&&(n+="e"+g[1]);return n};Math.easeInOutSine=function(a){return-.5*
26
+ (Math.cos(Math.PI*a)-1)};a.getStyle=function(n,d,k){if("width"===d)return Math.max(0,Math.min(n.offsetWidth,n.scrollWidth)-a.getStyle(n,"padding-left")-a.getStyle(n,"padding-right"));if("height"===d)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-a.getStyle(n,"padding-top")-a.getStyle(n,"padding-bottom"));D.getComputedStyle||a.error(27,!0);if(n=D.getComputedStyle(n,void 0))n=n.getPropertyValue(d),a.pick(k,"opacity"!==d)&&(n=a.pInt(n));return n};a.inArray=function(n,d,k){return(a.indexOfPolyfill||
27
+ Array.prototype.indexOf).call(d,n,k)};a.grep=function(n,d){return(a.filterPolyfill||Array.prototype.filter).call(n,d)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:function(a,d){var k,n=a.length;for(k=0;k<n;k++)if(d(a[k],k))return a[k]};a.some=function(n,d,k){return(a.somePolyfill||Array.prototype.some).call(n,d,k)};a.map=function(a,d){for(var k=[],n=0,v=a.length;n<v;n++)k[n]=d.call(a[n],a[n],n,a);return k};a.keys=function(n){return(a.keysPolyfill||Object.keys).call(void 0,n)};a.reduce=
28
+ function(n,d,k){return(a.reducePolyfill||Array.prototype.reduce).apply(n,2<arguments.length?[d,k]:[d])};a.offset=function(a){var d=C.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(D.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(D.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(n,d){for(var k=a.timers.length;k--;)a.timers[k].elem!==n||d&&d!==a.timers[k].prop||(a.timers[k].stopped=!0)};a.each=function(n,d,k){return(a.forEachPolyfill||
29
+ Array.prototype.forEach).call(n,d,k)};a.objectEach=function(a,d,k){for(var n in a)a.hasOwnProperty(n)&&d.call(k||a[n],a[n],n,a)};a.addEvent=function(n,d,k,u){var v,q=n.addEventListener||a.addEventListenerPolyfill;v="function"===typeof n&&n.prototype?n.prototype.protoEvents=n.prototype.protoEvents||{}:n.hcEvents=n.hcEvents||{};a.Point&&n instanceof a.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);q&&q.call(n,d,k,!1);v[d]||(v[d]=[]);v[d].push(k);u&&a.isNumber(u.order)&&(k.order=
30
+ u.order,v[d].sort(function(a,q){return a.order-q.order}));return function(){a.removeEvent(n,d,k)}};a.removeEvent=function(n,d,k){function u(p,g){var h=n.removeEventListener||a.removeEventListenerPolyfill;h&&h.call(n,p,g,!1)}function v(p){var g,h;n.nodeName&&(d?(g={},g[d]=!0):g=p,a.objectEach(g,function(a,b){if(p[b])for(h=p[b].length;h--;)u(b,p[b][h])}))}var q,p;a.each(["protoEvents","hcEvents"],function(y){var g=n[y];g&&(d?(q=g[d]||[],k?(p=a.inArray(k,q),-1<p&&(q.splice(p,1),g[d]=q),u(d,k)):(v(g),
31
+ g[d]=[])):(v(g),n[y]={}))})};a.fireEvent=function(n,d,k,u){var v,q,p,y,g;k=k||{};C.createEvent&&(n.dispatchEvent||n.fireEvent)?(v=C.createEvent("Events"),v.initEvent(d,!0,!0),a.extend(v,k),n.dispatchEvent?n.dispatchEvent(v):n.fireEvent(d,v)):a.each(["protoEvents","hcEvents"],function(h){if(n[h])for(q=n[h][d]||[],p=q.length,k.target||a.extend(k,{preventDefault:function(){k.defaultPrevented=!0},target:n,type:d}),y=0;y<p;y++)(g=q[y])&&!1===g.call(n,k)&&k.preventDefault()});u&&!k.defaultPrevented&&u.call(n,
32
+ k)};a.animate=function(n,d,k){var u,v="",q,p,y;a.isObject(k)||(y=arguments,k={duration:y[2],easing:y[3],complete:y[4]});a.isNumber(k.duration)||(k.duration=400);k.easing="function"===typeof k.easing?k.easing:Math[k.easing]||Math.easeInOutSine;k.curAnim=a.merge(d);a.objectEach(d,function(g,h){a.stop(n,h);p=new a.Fx(n,k,h);q=null;"d"===h?(p.paths=p.initPath(n,n.d,d.d),p.toD=d.d,u=0,q=1):n.attr?u=n.attr(h):(u=parseFloat(a.getStyle(n,h))||0,"opacity"!==h&&(v="px"));q||(q=g);q&&q.match&&q.match("px")&&
33
+ (q=q.replace(/px/g,""));p.run(u,q,v)})};a.seriesType=function(n,d,k,u,v){var q=a.getOptions(),p=a.seriesTypes;q.plotOptions[n]=a.merge(q.plotOptions[d],k);p[n]=a.extendClass(p[d]||function(){},u);p[n].prototype.type=n;v&&(p[n].prototype.pointClass=a.extendClass(a.Point,v));return p[n]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();D.jQuery&&(D.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?
34
+ (new (a[a.isString(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})})(M);(function(a){var B=a.each,C=a.isNumber,D=a.map,n=a.merge,d=a.pInt;a.Color=function(d){if(!(this instanceof a.Color))return new a.Color(d);this.init(d)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
35
+ parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(d){var k,n,q,p;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=D(d.stops,function(p){return new a.Color(p[1])});else if(d&&d.charAt&&"#"===d.charAt()&&(k=d.length,d=parseInt(d.substr(1),16),7===k?n=[(d&16711680)>>16,(d&65280)>>8,d&255,1]:4===k&&(n=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!n)for(q=this.parsers.length;q--&&!n;)p=this.parsers[q],
36
+ (k=p.regex.exec(d))&&(n=p.parse(k));this.rgba=n||[]},get:function(a){var d=this.input,k=this.rgba,q;this.stops?(q=n(d),q.stops=[].concat(q.stops),B(this.stops,function(p,d){q.stops[d]=[q.stops[d][0],p.get(a)]})):q=k&&C(k[0])?"rgb"===a||!a&&1===k[3]?"rgb("+k[0]+","+k[1]+","+k[2]+")":"a"===a?k[3]:"rgba("+k.join(",")+")":d;return q},brighten:function(a){var k,n=this.rgba;if(this.stops)B(this.stops,function(d){d.brighten(a)});else if(C(a)&&0!==a)for(k=0;3>k;k++)n[k]+=d(255*a),0>n[k]&&(n[k]=0),255<n[k]&&
37
+ (n[k]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var k=this.rgba,q=a.rgba;q.length&&k&&k.length?(a=1!==q[3]||1!==k[3],d=(a?"rgba(":"rgb(")+Math.round(q[0]+(k[0]-q[0])*(1-d))+","+Math.round(q[1]+(k[1]-q[1])*(1-d))+","+Math.round(q[2]+(k[2]-q[2])*(1-d))+(a?","+(q[3]+(k[3]-q[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(d){return new a.Color(d)}})(M);(function(a){var B=a.defined,C=a.each,D=a.extend,n=a.merge,d=a.pick,k=a.timeUnits,u=
38
+ a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var q=d(a&&a.useUTC,!0),p=this;this.options=a=n(!0,this.options||{},a);this.Date=a.Date||u.Date;this.timezoneOffset=(this.useUTC=q)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(q&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,g){var h=g.getTime(),m=h-p.getTimezoneOffset(g);g.setTime(m);a=g["getUTC"+a]();g.setTime(h);return a},
39
+ this.set=function(a,g,h){var m;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===g.getTimezoneOffset()%60)g["set"+a](h);else m=p.getTimezoneOffset(g),m=g.getTime()-m,g.setTime(m),g["setUTC"+a](h),a=p.getTimezoneOffset(g),m=g.getTime()+a,g.setTime(m)}):q?(this.get=function(a,g){return g["getUTC"+a]()},this.set=function(a,g,h){return g["setUTC"+a](h)}):(this.get=function(a,g){return g["get"+a]()},this.set=function(a,g,h){return g["set"+a](h)})},makeTime:function(k,q,p,y,g,h){var m,b,c;this.useUTC?
40
+ (m=this.Date.UTC.apply(0,arguments),b=this.getTimezoneOffset(m),m+=b,c=this.getTimezoneOffset(m),b!==c?m+=c-b:b-36E5!==this.getTimezoneOffset(m-36E5)||a.isSafari||(m-=36E5)):m=(new this.Date(k,q,d(p,1),d(y,0),d(g,0),d(h,0))).getTime();return m},timezoneOffsetFunction:function(){var d=this,q=this.options,p=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(q.timezone){if(p)return function(a){return 6E4*-p.tz(a,q.timezone).utcOffset()};a.error(25)}return this.useUTC&&
41
+ q.getTimezoneOffset?function(a){return 6E4*q.getTimezoneOffset(a)}:function(){return 6E4*(d.timezoneOffset||0)}},dateFormat:function(d,q,p){if(!a.defined(q)||isNaN(q))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var k=this,g=new this.Date(q),h=this.get("Hours",g),m=this.get("Day",g),b=this.get("Date",g),c=this.get("Month",g),f=this.get("FullYear",g),e=a.defaultOptions.lang,w=e.weekdays,G=e.shortWeekdays,t=a.pad,g=a.extend({a:G?G[m]:w[m].substr(0,3),A:w[m],d:t(b),e:t(b,
42
+ 2," "),w:m,b:e.shortMonths[c],B:e.months[c],m:t(c+1),o:c+1,y:f.toString().substr(2,2),Y:f,H:t(h),k:h,I:t(h%12||12),l:h%12||12,M:t(k.get("Minutes",g)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:t(g.getSeconds()),L:t(Math.floor(q%1E3),3)},a.dateFormats);a.objectEach(g,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+b,"function"===typeof a?a.call(k,q):a)});return p?d.substr(0,1).toUpperCase()+d.substr(1):d},resolveDTLFormat:function(d){return a.isObject(d,!0)?d:(d=a.splat(d),{main:d[0],from:d[1],
43
+ to:d[2]})},getTimeTicks:function(a,q,p,n){var g=this,h=[],m,b={},c;m=new g.Date(q);var f=a.unitRange,e=a.count||1,w;n=d(n,1);if(B(q)){g.set("Milliseconds",m,f>=k.second?0:e*Math.floor(g.get("Milliseconds",m)/e));f>=k.second&&g.set("Seconds",m,f>=k.minute?0:e*Math.floor(g.get("Seconds",m)/e));f>=k.minute&&g.set("Minutes",m,f>=k.hour?0:e*Math.floor(g.get("Minutes",m)/e));f>=k.hour&&g.set("Hours",m,f>=k.day?0:e*Math.floor(g.get("Hours",m)/e));f>=k.day&&g.set("Date",m,f>=k.month?1:e*Math.floor(g.get("Date",
44
+ m)/e));f>=k.month&&(g.set("Month",m,f>=k.year?0:e*Math.floor(g.get("Month",m)/e)),c=g.get("FullYear",m));f>=k.year&&g.set("FullYear",m,c-c%e);f===k.week&&(c=g.get("Day",m),g.set("Date",m,g.get("Date",m)-c+n+(c<n?-7:0)));c=g.get("FullYear",m);n=g.get("Month",m);var G=g.get("Date",m),t=g.get("Hours",m);q=m.getTime();g.variableTimezone&&(w=p-q>4*k.month||g.getTimezoneOffset(q)!==g.getTimezoneOffset(p));q=m.getTime();for(m=1;q<p;)h.push(q),q=f===k.year?g.makeTime(c+m*e,0):f===k.month?g.makeTime(c,n+m*
45
+ e):!w||f!==k.day&&f!==k.week?w&&f===k.hour&&1<e?g.makeTime(c,n,G,t+m*e):q+f*e:g.makeTime(c,n,G+m*e*(f===k.day?1:7)),m++;h.push(q);f<=k.hour&&1E4>h.length&&C(h,function(a){0===a%18E5&&"000000000"===g.dateFormat("%H%M%S%L",a)&&(b[a]="day")})}h.info=D(a,{higherRanks:b,totalRange:f*e});return h}}})(M);(function(a){var B=a.color,C=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle",
46
+ "triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,
46
47
  defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},
47
48
  borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",
48
- backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:A("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
49
- pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=y(!0,a.defaultOptions,C);a.time.update(y(a.defaultOptions.global,
50
- a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,n,d){return a.time.dateFormat(y,n,d)}})(K);(function(a){var A,y,C=a.addEvent,n=a.animate,d=a.attr,l=a.charts,v=a.color,u=a.css,t=a.createElement,k=a.defined,g=a.deg2rad,f=a.destroyObjectProperties,h=a.doc,q=a.each,e=a.extend,b=a.erase,c=a.grep,m=a.hasTouch,B=
51
- a.inArray,I=a.isArray,x=a.isFirefox,M=a.isMS,w=a.isObject,F=a.isString,p=a.isWebKit,G=a.merge,D=a.noop,J=a.objectEach,H=a.pick,r=a.pInt,z=a.removeEvent,N=a.stop,S=a.svg,L=a.SVG_NS,P=a.symbolSizes,O=a.win;A=a.SVGElement=function(){return this};e(A.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,b){this.element="span"===b?t(b):h.createElementNS(this.SVG_NS,
52
- b);this.renderer=a},animate:function(b,c,e){c=a.animObject(H(c,this.renderer.globalAnimation,!0));0!==c.duration?(e&&(c.complete=e),n(this,b,c)):(this.attr(b,null,e),c.step&&c.step.call(this));return this},complexColor:function(b,c,e){var E=this.renderer,r,z,p,m,f,L,g,Q,B,h,d,D=[],w;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?z="radialGradient":b.linearGradient&&(z="linearGradient");z&&(p=b[z],f=E.gradients,g=b.stops,h=e.radialReference,I(p)&&(b[z]=p={x1:p[0],
53
- y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===z&&h&&!k(p.gradientUnits)&&(m=p,p=G(p,E.getRadialAttr(h,m),{gradientUnits:"userSpaceOnUse"})),J(p,function(a,b){"id"!==b&&D.push(b,a)}),J(g,function(a){D.push(a)}),D=D.join(","),f[D]?d=f[D].attr("id"):(p.id=d=a.uniqueKey(),f[D]=L=E.createElement(z).attr(p).add(E.defs),L.radAttr=m,L.stops=[],q(g,function(b){0===b[1].indexOf("rgba")?(r=a.color(b[1]),Q=r.get("rgb"),B=r.get("a")):(Q=b[1],B=1);b=E.createElement("stop").attr({offset:b[0],
54
- "stop-color":Q,"stop-opacity":B}).add(L);L.stops.push(b)})),w="url("+E.url+"#"+d+")",e.setAttribute(c,w),e.gradient=D,b.toString=function(){return w})})},applyTextOutline:function(E){var c=this.element,e,r,z,p,m;-1!==E.indexOf("contrast")&&(E=E.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));E=E.split(" ");r=E[E.length-1];if((z=E[0])&&"none"!==z&&a.svg){this.fakeTS=!0;E=[].slice.call(c.getElementsByTagName("tspan"));this.ySetter=this.xSetter;z=z.replace(/(^[\d\.]+)(.*?)$/g,function(a,
55
- b,c){return 2*b+c});for(m=E.length;m--;)e=E[m],"highcharts-text-outline"===e.getAttribute("class")&&b(E,c.removeChild(e));p=c.firstChild;q(E,function(a,b){0===b&&(a.setAttribute("x",c.getAttribute("x")),b=c.getAttribute("y"),a.setAttribute("y",b||0),null===b&&c.setAttribute("y",0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:r,stroke:r,"stroke-width":z,"stroke-linejoin":"round"});c.insertBefore(a,p)})}},attr:function(a,b,c,e){var E,r=this.element,z,p=this,m,f;"string"===typeof a&&
56
- void 0!==b&&(E=a,a={},a[E]=b);"string"===typeof a?p=(this[a+"Getter"]||this._defaultGetter).call(this,a,r):(J(a,function(b,c){m=!1;e||N(this,c);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(c)&&(z||(this.symbolAttr(a),z=!0),m=!0);!this.rotation||"x"!==c&&"y"!==c||(this.doTransform=!0);m||(f=this[c+"Setter"]||this._defaultSetter,f.call(this,b,c,r),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c)&&this.updateShadows(c,b,f))},this),this.afterSetters());
57
- c&&c.call(this);return p},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,c){for(var e=this.shadows,E=e.length;E--;)c.call(e[E],"height"===a?Math.max(b-(e[E].cutHeight||0),0):"d"===a?this.d:b,a,e[E])},addClass:function(a,b){var c=this.attr("class")||"";-1===c.indexOf(a)&&(b||(a=(c+(c?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==B(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",
58
- (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;q("x y r start end width height innerR anchorX anchorY".split(" "),function(c){b[c]=H(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var c;b=b||a.strokeWidth||0;c=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+c;a.y=Math.floor(a.y||this.y||0)+c;a.width=Math.floor((a.width||
59
- this.width||0)-2*c);a.height=Math.floor((a.height||this.height||0)-2*c);k(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,c={},E=this.element,z,p="",m,f=!b,L=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&J(a,function(a,e){a!==b[e]&&(c[e]=a,f=!0)});f&&(b&&(a=e(b,c)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===E.nodeName.toLowerCase()&&a.width&&(z=this.textWidth=r(a.width))),this.styles=a,z&&!S&&this.renderer.forExport&&
60
- delete a.width,E.namespaceURI===this.SVG_NS?(m=function(a,b){return"-"+b.toLowerCase()},J(a,function(a,b){-1===B(b,L)&&(p+=b.replace(/([A-Z])/g,m)+":"+a+";")}),p&&d(E,"style",p)):u(E,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var c=this,e=c.element;m&&"click"===a?(e.ontouchstart=function(a){c.touchEventFired=Date.now();a.preventDefault();
61
- b.call(e,a)},e.onclick=function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&b.call(e,a)}):e["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=
62
- this.translateX||0,b=this.translateY||0,c=this.scaleX,e=this.scaleY,r=this.inverted,z=this.rotation,p=this.matrix,m=this.element;r&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];k(p)&&a.push("matrix("+p.join(",")+")");r?a.push("rotate(90) scale(-1,1)"):z&&a.push("rotate("+z+" "+H(this.rotationOriginX,m.getAttribute("x"),0)+" "+H(this.rotationOriginY,m.getAttribute("y")||0)+")");(k(c)||k(e))&&a.push("scale("+H(c,1)+" "+H(e,1)+")");a.length&&m.setAttribute("transform",a.join(" "))},toFront:function(){var a=
63
- this.element;a.parentNode.appendChild(a);return this},align:function(a,c,e){var r,E,z,p,m={};E=this.renderer;z=E.alignedObjects;var f,L;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!e||F(e))this.alignTo=r=e||"renderer",b(z,this),z.push(this),e=null}else a=this.alignOptions,c=this.alignByTranslate,r=this.alignTo;e=H(e,E[r],E);r=a.align;E=a.verticalAlign;z=(e.x||0)+(a.x||0);p=(e.y||0)+(a.y||0);"right"===r?f=1:"center"===r&&(f=2);f&&(z+=(e.width-(a.width||0))/f);m[c?"translateX":"x"]=Math.round(z);
64
- "bottom"===E?L=1:"middle"===E&&(L=2);L&&(p+=(e.height-(a.height||0))/L);m[c?"translateY":"y"]=Math.round(p);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(a,b){var c,r=this.renderer,z,E=this.element,p=this.styles,m,f=this.textStr,L,B=r.cache,D=r.cacheKeys,h;b=H(b,this.rotation);z=b*g;m=p&&p.fontSize;k(f)&&(h=f.toString(),-1===h.indexOf("\x3c")&&(h=h.replace(/[0-9]/g,"0")),h+=["",b||0,m,this.textWidth,p&&p.textOverflow].join());h&&!a&&(c=B[h]);if(!c){if(E.namespaceURI===
65
- this.SVG_NS||r.forExport){try{(L=this.fakeTS&&function(a){q(E.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&L("none"),c=E.getBBox?e({},E.getBBox()):{width:E.offsetWidth,height:E.offsetHeight},L&&L("")}catch(X){}if(!c||0>c.width)c={width:0,height:0}}else c=this.htmlGetBBox();r.isSVG&&(a=c.width,r=c.height,p&&"11px"===p.fontSize&&17===Math.round(r)&&(c.height=r=14),b&&(c.width=Math.abs(r*Math.sin(z))+Math.abs(a*Math.cos(z)),c.height=Math.abs(r*Math.cos(z))+Math.abs(a*
66
- Math.sin(z))));if(h&&0<c.height){for(;250<D.length;)delete B[D.shift()];B[h]||D.push(h);B[h]=c}}return c},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=this.element,e;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=
67
- !0;if(!a||a.handleZ||this.zIndex)e=this.zIndexSetter();e||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},e=a.renderer.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,r=c.ownerSVGElement,z=a.clipPath;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;N(a);z&&r&&(q(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),
68
- c=z.element.id;(-1<b.indexOf("(#"+c+")")||-1<b.indexOf('("#'+c+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=z.destroy());if(a.stops){for(r=0;r<a.stops.length;r++)a.stops[r]=a.stops[r].destroy();a.stops=null}a.safeRemoveChild(c);for(a.destroyShadows();e&&e.div&&0===e.div.childNodes.length;)c=e.parentGroup,a.safeRemoveChild(e.div),delete e.div,e=c;a.alignTo&&b(a.renderer.alignedObjects,a);J(a,function(b,c){delete a[c]});return null},shadow:function(a,b,c){var e=[],r,z,E=this.element,p,m,f,L;
69
- if(!a)this.destroyShadows();else if(!this.shadows){m=H(a.width,3);f=(a.opacity||.15)/m;L=this.parentInverted?"(-1,-1)":"("+H(a.offsetX,1)+", "+H(a.offsetY,1)+")";for(r=1;r<=m;r++)z=E.cloneNode(0),p=2*m+1-2*r,d(z,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":f*r,"stroke-width":p,transform:"translate"+L,fill:"none"}),c&&(d(z,"height",Math.max(d(z,"height")-p,0)),z.cutHeight=p),b?b.element.appendChild(z):E.parentNode&&E.parentNode.insertBefore(z,E),e.push(z);this.shadows=e}return this},
70
- destroyShadows:function(){q(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=H(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,c){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(c.setAttribute(b,
71
- a),this[b]=a)},dashstyleSetter:function(a){var b,c=this["stroke-width"];"inherit"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=r(a[b])*c;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=
72
- a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,c){this[b]=a;c.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=h.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(h.createTextNode(String(H(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&
73
- (delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.complexColor(a,b,c)},visibilitySetter:function(a,b,c){"inherit"===a?c.removeAttribute(b):this[b]!==a&&c.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var c=this.renderer,e=this.parentGroup,z=(e||c).element||c.box,p,m=this.element,f,L,c=z===c.box;p=this.added;var E;k(a)?(m.setAttribute("data-z-index",a),a=+a,this[b]===a&&(p=!1)):k(this[b])&&
74
- m.removeAttribute("data-z-index");this[b]=a;if(p){(a=this.zIndex)&&e&&(e.handleZ=!0);b=z.childNodes;for(E=b.length-1;0<=E&&!f;E--)if(e=b[E],p=e.getAttribute("data-z-index"),L=!k(p),e!==m)if(0>a&&L&&!c&&!E)z.insertBefore(m,b[E]),f=!0;else if(r(p)<=a||L&&(!k(a)||0<=a))z.insertBefore(m,b[E+1]||null),f=!0;f||(z.insertBefore(m,b[c?3:0]||null),f=!0)}return f},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}});A.prototype.yGetter=A.prototype.xGetter;A.prototype.translateXSetter=A.prototype.translateYSetter=
75
- A.prototype.rotationSetter=A.prototype.verticalAlignSetter=A.prototype.rotationOriginXSetter=A.prototype.rotationOriginYSetter=A.prototype.scaleXSetter=A.prototype.scaleYSetter=A.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};A.prototype["stroke-widthSetter"]=A.prototype.strokeSetter=function(a,b,c){this[b]=a;this.stroke&&this["stroke-width"]?(A.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===
76
- b&&0===a&&this.hasStroke&&(c.removeAttribute("stroke"),this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(y.prototype,{Element:A,SVG_NS:L,init:function(a,b,c,e,r,z){var m;e=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(e));m=e.element;a.appendChild(m);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(m,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=m;this.boxWrapper=e;this.alignedObjects=[];this.url=(x||p)&&h.getElementsByTagName("base").length?
77
- O.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(h.createTextNode("Created with Highmaps 6.1.1"));this.defs=this.createElement("defs").add();this.allowHTML=z;this.forExport=r;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var f;x&&a.getBoundingClientRect&&(b=function(){u(a,{left:0,top:0});f=a.getBoundingClientRect();u(a,{left:Math.ceil(f.left)-
78
- f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},b(),this.unSubPixelFix=C(O,"resize",b))},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();f(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());
79
- this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:D,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},getSpanWidth:function(a){return a.getBBox(!0).width},applyEllipsis:function(a,b,c,e){var r=a.rotation,z=c,p,m=0,f=c.length,L=function(a){b.removeChild(b.firstChild);a&&b.appendChild(h.createTextNode(a))},g;a.rotation=0;z=this.getSpanWidth(a,b);if(g=
80
- z>e){for(;m<=f;)p=Math.ceil((m+f)/2),z=c.substring(0,p)+"\u2026",L(z),z=this.getSpanWidth(a,b),m===f?m=f+1:z>e?f=p-1:m=p;0===f&&L("")}a.rotation=r;return g},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,e=this,z=e.forExport,p=H(a.textStr,"").toString(),m=-1!==p.indexOf("\x3c"),f=b.childNodes,g,k=d(b,"x"),E=a.styles,D=a.textWidth,w=E&&E.lineHeight,G=E&&E.textOutline,x=E&&"ellipsis"===E.textOverflow,N=E&&"nowrap"===
81
- E.whiteSpace,l=E&&E.fontSize,I,t,P=f.length,E=D&&!a.added&&this.box,F=function(a){var c;c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:l||e.style.fontSize||12;return w?r(w):e.fontMetrics(c,a.getAttribute("style")?a:b).h},n=function(a,b){J(e.escapes,function(c,e){b&&-1!==B(c,b)||(a=a.toString().replace(new RegExp(c,"g"),e))});return a},O=function(a,b){var c;c=a.indexOf("\x3c");a=a.substring(c,a.indexOf("\x3e")-c);c=a.indexOf(b+"\x3d");if(-1!==c&&(c=c+b.length+1,b=a.charAt(c),'"'===b||"'"===
82
- b))return a=a.substring(c+1),a.substring(0,a.indexOf(b))};I=[p,x,N,w,G,l,D].join();if(I!==a.textCache){for(a.textCache=I;P--;)b.removeChild(f[P]);m||G||x||D||-1!==p.indexOf(" ")?(E&&E.appendChild(b),p=m?p.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[p],p=c(p,function(a){return""!==a}),q(p,function(c,r){var p,m=0;c=c.replace(/^\s+|\s+$/g,
83
- "").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");p=c.split("|||");q(p,function(c){if(""!==c||1===p.length){var f={},E=h.createElementNS(e.SVG_NS,"tspan"),q,B;(q=O(c,"class"))&&d(E,"class",q);if(q=O(c,"style"))q=q.replace(/(;| |^)color([ :])/,"$1fill$2"),d(E,"style",q);(B=O(c,"href"))&&!z&&(d(E,"onclick",'location.href\x3d"'+B+'"'),d(E,"class","highcharts-anchor"),u(E,{cursor:"pointer"}));c=n(c.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==c){E.appendChild(h.createTextNode(c));
84
- m?f.dx=0:r&&null!==k&&(f.x=k);d(E,f);b.appendChild(E);!m&&t&&(!S&&z&&u(E,{display:"block"}),d(E,"dy",F(E)));if(D){f=c.replace(/([^\^])-/g,"$1- ").split(" ");B=1<p.length||r||1<f.length&&!N;var w=[],G,l=F(E),I=a.rotation;for(x&&(g=e.applyEllipsis(a,E,c,D));!x&&B&&(f.length||w.length);)a.rotation=0,G=e.getSpanWidth(a,E),c=G>D,void 0===g&&(g=c),c&&1!==f.length?(E.removeChild(E.firstChild),w.unshift(f.pop())):(f=w,w=[],f.length&&!N&&(E=h.createElementNS(L,"tspan"),d(E,{dy:l,x:k}),q&&d(E,"style",q),b.appendChild(E)),
85
- G>D&&(D=G+1)),f.length&&E.appendChild(h.createTextNode(f.join(" ").replace(/- /g,"-")));a.rotation=I}m++}}});t=t||b.childNodes.length}),x&&g&&a.attr("title",n(a.textStr,["\x26lt;","\x26gt;"])),E&&E.removeChild(b),G&&a.applyTextOutline&&a.applyTextOutline(G)):b.appendChild(h.createTextNode(n(p)))}},getContrast:function(a){a=v(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,c,r,z,p,m,f,L){var g=this.label(a,b,c,L,null,null,null,null,"button"),E=0;g.attr(G({padding:8,r:2},
86
- z));var k,q,D,B;z=G({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},z);k=z.style;delete z.style;p=G(z,{fill:"#e6e6e6"},p);q=p.style;delete p.style;m=G(z,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);D=m.style;delete m.style;f=G(z,{style:{color:"#cccccc"}},f);B=f.style;delete f.style;C(g.element,M?"mouseover":"mouseenter",function(){3!==E&&g.setState(1)});C(g.element,M?"mouseout":"mouseleave",function(){3!==E&&g.setState(E)});
87
- g.setState=function(a){1!==a&&(g.state=E=a);g.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);g.attr([z,p,m,f][a||0]).css([k,q,D,B][a||0])};g.attr(z).css(e({cursor:"default"},k));return g.on("click",function(a){3!==E&&r.call(g,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={fill:"none"};I(a)?b.d=
88
- a:w(a)&&e(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=w(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,c){c.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,c,e,r,z){w(a)?(e=a,b=e.y,c=e.r,a=e.x):e={innerR:e,start:r,end:z};a=this.symbol("arc",a,b,c,c,e);a.r=c;return a},rect:function(a,b,c,e,r,z){r=w(a)?a.r:r;var p=this.createElement("rect");a=w(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(c,0),height:Math.max(e,0)};void 0!==z&&
89
- (a.strokeWidth=z,a=p.crisp(a));a.fill="none";r&&(a.r=r);p.rSetter=function(a,b,c){d(c,{rx:a,ry:a})};return p.attr(a)},setSize:function(a,b,c){var e=this.alignedObjects,r=e.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:H(c,!0)?void 0:0});r--;)e[r].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,r,
90
- z,p){var m={preserveAspectRatio:"none"},f,L=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},g=function(b){L(f.element,a);p.call(f,b)};1<arguments.length&&e(m,{x:b,y:c,width:r,height:z});f=this.createElement("image").attr(m);p?(L(f.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),m=new O.Image,C(m,"load",g),m.src=a,m.complete&&g({})):L(f.element,a);return f},symbol:function(a,b,c,r,
91
- z,p){var m=this,f,L=/^url\((.*?)\)$/,g=L.test(a),D=!g&&(this.symbols[a]?a:"circle"),B=D&&this.symbols[D],d=k(b)&&B&&B.call(this.symbols,Math.round(b),Math.round(c),r,z,p),w,E;B?(f=this.path(d),f.attr("fill","none"),e(f,{symbolName:D,x:b,y:c,width:r,height:z}),p&&e(f,p)):g&&(w=a.match(L)[1],f=this.image(w),f.imgwidth=H(P[w]&&P[w].width,p&&p.width),f.imgheight=H(P[w]&&P[w].height,p&&p.height),E=function(){f.attr({width:f.width,height:f.height})},q(["width","height"],function(a){f[a+"Setter"]=function(a,
92
- b){var c={},e=this["img"+b],r="width"===b?"translateX":"translateY";this[b]=a;k(e)&&(this.element&&this.element.setAttribute(b,e),this.alignByTranslate||(c[r]=((this[b]||0)-e)/2,this.attr(c)))}}),k(b)&&f.attr({x:b,y:c}),f.isImg=!0,k(f.imgwidth)&&k(f.imgheight)?E():(f.attr({width:0,height:0}),t("img",{onload:function(){var a=l[m.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),h.body.appendChild(this));P[w]={width:this.width,height:this.height};f.imgwidth=this.width;f.imgheight=
93
- this.height;f.element&&E();this.parentNode&&this.parentNode.removeChild(this);m.imgCount--;if(!m.imgCount&&a&&a.onload)a.onload()},src:w}),this.imgCount++));return f},symbols:{circle:function(a,b,c,e){return this.arc(a+c/2,b+e/2,c/2,e/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,c,e){return["M",a,b,"L",a+c,b,a+c,b+e,a,b+e,"Z"]},triangle:function(a,b,c,e){return["M",a+c/2,b,"L",a+c,b+e,a,b+e,"Z"]},"triangle-down":function(a,b,c,e){return["M",a,b,"L",a+c,b,a+c/2,b+e,"Z"]},diamond:function(a,
94
- b,c,e){return["M",a+c/2,b,"L",a+c,b+e/2,a+c/2,b+e,a,b+e/2,"Z"]},arc:function(a,b,c,e,r){var z=r.start,p=r.r||c,f=r.r||e||c,m=r.end-.001;c=r.innerR;e=H(r.open,.001>Math.abs(r.end-r.start-2*Math.PI));var L=Math.cos(z),g=Math.sin(z),q=Math.cos(m),m=Math.sin(m);r=.001>r.end-z-Math.PI?0:1;p=["M",a+p*L,b+f*g,"A",p,f,0,r,1,a+p*q,b+f*m];k(c)&&p.push(e?"M":"L",a+c*q,b+c*m,"A",c,c,0,r,0,a+c*L,b+c*g);p.push(e?"":"Z");return p},callout:function(a,b,c,e,r){var z=Math.min(r&&r.r||0,c,e),p=z+6,f=r&&r.anchorX;r=
95
- r&&r.anchorY;var m;m=["M",a+z,b,"L",a+c-z,b,"C",a+c,b,a+c,b,a+c,b+z,"L",a+c,b+e-z,"C",a+c,b+e,a+c,b+e,a+c-z,b+e,"L",a+z,b+e,"C",a,b+e,a,b+e,a,b+e-z,"L",a,b+z,"C",a,b,a,b,a+z,b];f&&f>c?r>b+p&&r<b+e-p?m.splice(13,3,"L",a+c,r-6,a+c+6,r,a+c,r+6,a+c,b+e-z):m.splice(13,3,"L",a+c,e/2,f,r,a+c,e/2,a+c,b+e-z):f&&0>f?r>b+p&&r<b+e-p?m.splice(33,3,"L",a,r+6,a-6,r,a,r-6,a,b+z):m.splice(33,3,"L",a,e/2,f,r,a,e/2,a,b+z):r&&r>e&&f>a+p&&f<a+c-p?m.splice(23,3,"L",f+6,b+e,f,b+e+6,f-6,b+e,a+z,b+e):r&&0>r&&f>a+p&&f<a+c-
96
- p&&m.splice(3,3,"L",f-6,b,f,b-6,f+6,b,c-z,b);return m}},clipRect:function(b,c,e,r){var z=a.uniqueKey(),p=this.createElement("clipPath").attr({id:z}).add(this.defs);b=this.rect(b,c,e,r,0).add(p);b.id=z;b.clipPath=p;b.count=0;return b},text:function(a,b,c,e){var r={};if(e&&(this.allowHTML||!this.forExport))return this.html(a,b,c);r.x=Math.round(b||0);c&&(r.y=Math.round(c));if(a||0===a)r.text=a;a=this.createElement("text").attr(r);e||(a.xSetter=function(a,b,c){var e=c.getElementsByTagName("tspan"),r,
97
- z=c.getAttribute(b),p;for(p=0;p<e.length;p++)r=e[p],r.getAttribute(b)===z&&r.setAttribute(b,a);c.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?r(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,c){var e=a;b&&c&&(e=Math.max(e*Math.cos(b*g),4));return{x:-a/3*Math.sin(b*g),y:e}},label:function(b,
98
- c,r,p,f,m,L,g,D){var B=this,h=B.g("button"!==D&&"label"),w=h.text=B.text("",0,0,L).attr({zIndex:1}),d,x,S=0,N=3,l=0,I,H,t,P,E,F={},n,O,J=/^url\((.*?)\)$/.test(p),M=J,u,v,Q,U;D&&h.addClass("highcharts-"+D);M=J;u=function(){return(n||0)%2/2};v=function(){var a=w.element.style,b={};x=(void 0===I||void 0===H||E)&&k(w.textStr)&&w.getBBox();h.width=(I||x.width||0)+2*N+l;h.height=(H||x.height||0)+2*N;O=N+B.fontMetrics(a&&a.fontSize,w).b;M&&(d||(h.box=d=B.symbols[p]||J?B.symbol(p):B.rect(),d.addClass(("button"===
99
- D?"":"highcharts-label-box")+(D?" highcharts-"+D+"-box":"")),d.add(h),a=u(),b.x=a,b.y=(g?-O:0)+a),b.width=Math.round(h.width),b.height=Math.round(h.height),d.attr(e(b,F)),F={})};Q=function(){var a=l+N,b;b=g?0:O;k(I)&&x&&("center"===E||"right"===E)&&(a+={center:.5,right:1}[E]*(I-x.width));if(a!==w.x||b!==w.y)w.attr("x",a),w.hasBoxWidthChanged&&(x=w.getBBox(!0),v()),void 0!==b&&w.attr("y",b);w.x=a;w.y=b};U=function(a,b){d?d.attr(a,b):F[a]=b};h.onAdd=function(){w.add(h);h.attr({text:b||0===b?b:"",x:c,
100
- y:r});d&&k(f)&&h.attr({anchorX:f,anchorY:m})};h.widthSetter=function(b){I=a.isNumber(b)?b:null};h.heightSetter=function(a){H=a};h["text-alignSetter"]=function(a){E=a};h.paddingSetter=function(a){k(a)&&a!==N&&(N=h.padding=a,Q())};h.paddingLeftSetter=function(a){k(a)&&a!==l&&(l=a,Q())};h.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==S&&(S=a,x&&h.attr({x:t}))};h.textSetter=function(a){void 0!==a&&w.textSetter(a);v();Q()};h["stroke-widthSetter"]=function(a,b){a&&(M=!0);n=this["stroke-width"]=
101
- a;U(b,a)};h.strokeSetter=h.fillSetter=h.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(M=!0),h[b]=a);U(b,a)};h.anchorXSetter=function(a,b){f=h.anchorX=a;U(b,Math.round(a)-u()-t)};h.anchorYSetter=function(a,b){m=h.anchorY=a;U(b,a-P)};h.xSetter=function(a){h.x=a;S&&(a-=S*((I||x.width)+2*N),h["forceAnimate:x"]=!0);t=Math.round(a);h.attr("translateX",t)};h.ySetter=function(a){P=h.y=Math.round(a);h.attr("translateY",P)};var R=h.css;return e(h,{css:function(a){if(a){var b={};a=G(a);q(h.textProps,function(c){void 0!==
102
- a[c]&&(b[c]=a[c],delete a[c])});w.css(b);"width"in b&&v()}return R.call(h,a)},getBBox:function(){return{width:x.width+2*N,height:x.height+2*N,x:x.x-N,y:x.y-N}},shadow:function(a){a&&(v(),d&&d.shadow(a));return h},destroy:function(){z(h.element,"mouseenter");z(h.element,"mouseleave");w&&(w=w.destroy());d&&(d=d.destroy());A.prototype.destroy.call(h);h=B=v=Q=U=null}})}});a.Renderer=y})(K);(function(a){var A=a.attr,y=a.createElement,C=a.css,n=a.defined,d=a.each,l=a.extend,v=a.isFirefox,u=a.isMS,t=a.isWebKit,
103
- k=a.pick,g=a.pInt,f=a.SVGRenderer,h=a.win,q=a.wrap;l(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.htmlUpdateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=
104
- this.renderer,b=this.element,c=this.translateX||0,f=this.translateY||0,h=this.x||0,k=this.y||0,q=this.textAlign||"left",l={left:0,center:.5,right:1}[q],w=this.styles,t=w&&w.whiteSpace;C(b,{marginLeft:c,marginTop:f});this.shadows&&d(this.shadows,function(a){C(a,{marginLeft:c+1,marginTop:f+1})});this.inverted&&d(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var w=this.rotation,p=this.textWidth&&g(this.textWidth),G=[w,q,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=p!==
105
- this.oldTextWidth)&&!(D=p>this.oldTextWidth)&&((D=this.textPxLength)||(C(b,{width:"",whiteSpace:t||"nowrap"}),D=b.offsetWidth),D=D>p);D&&/[ \-]/.test(b.textContent||b.innerText)?(C(b,{width:p+"px",display:"block",whiteSpace:t||"normal"}),this.oldTextWidth=p,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;G!==this.cTT&&(t=a.fontMetrics(b.style.fontSize).b,n(w)&&w!==(this.oldRotation||0)&&this.setSpanRotation(w,l,t),this.getSpanCorrection(!n(w)&&this.textPxLength||b.offsetWidth,t,l,w,q));C(b,
106
- {left:h+(this.xCorr||0)+"px",top:k+(this.yCorr||0)+"px"});this.cTT=G;this.oldRotation=w}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var e={},f=this.renderer.getTransformKey();e[f]=e.transform="rotate("+a+"deg)";e[f+(v?"Origin":"-origin")]=e.transformOrigin=100*b+"% "+c+"px";C(this.element,e)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});l(f.prototype,{getTransformKey:function(){return u&&!/Edge/.test(h.navigator.userAgent)?"-ms-transform":t?"-webkit-transform":
107
- v?"MozTransform":h.opera?"-o-transform":""},html:function(a,b,c){var e=this.createElement("span"),f=e.element,g=e.renderer,h=g.isSVG,t=function(a,b){d(["opacity","visibility"],function(c){q(a,c+"Setter",function(a,c,e,p){a.call(this,c,e,p);b[e]=c})});a.addedSetters=!0};e.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=k(a,"");e.doTransform=!0};h&&t(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){"align"===b&&(b="textAlign");e[b]=
108
- a;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});f.style.whiteSpace="nowrap";e.css=e.htmlCss;h&&(e.add=function(a){var b,c=g.box.parentNode,m=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)m.push(a),a=a.parentGroup;d(m.reverse(),function(a){function p(b,c){a[c]=b;"translateX"===c?f.left=b+"px":f.top=
109
- b+"px";a.doTransform=!0}var f,r=A(a.element,"class");r&&(r={className:r});b=a.div=a.div||y("div",r,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);f=b.style;l(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){m[0].div&&e.on.apply({element:m[0].div},arguments);return a},translateXSetter:p,translateYSetter:p});a.addedSetters||
110
- t(a,f)})}}else b=c;b.appendChild(f);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(K);(function(a){var A=a.correctFloat,y=a.defined,C=a.destroyObjectProperties,n=a.fireEvent,d=a.isNumber,l=a.merge,v=a.pick,u=a.deg2rad;a.Tick=function(a,k,g,f){this.axis=a;this.pos=k;this.type=g||"";this.isNewLabel=this.isNew=!0;g||f||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,k=a.options,g=a.chart,f=a.categories,h=a.names,q=this.pos,e=k.labels,b=a.tickPositions,
111
- c=q===b[0],m=q===b[b.length-1],h=f?v(f[q],h[q],q):q,f=this.label,b=b.info,B;a.isDatetimeAxis&&b&&(B=k.dateTimeLabelFormats[b.higherRanks[q]||b.unitName]);this.isFirst=c;this.isLast=m;k=a.labelFormatter.call({axis:a,chart:g,isFirst:c,isLast:m,dateTimeLabelFormat:B,value:a.isLog?A(a.lin2log(h)):h,pos:q});if(y(f))f&&f.attr({text:k});else{if(this.label=f=y(k)&&e.enabled?g.renderer.text(k,0,0,e.useHTML).css(l(e.style)).add(a.labelGroup):null)f.textPxLength=f.getBBox().width;this.rotation=0}},getLabelSize:function(){return this.label?
112
- this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var k=this.axis,g=k.options.labels,f=a.x,h=k.chart.chartWidth,q=k.chart.spacing,e=v(k.labelLeft,Math.min(k.pos,q[3])),q=v(k.labelRight,Math.max(k.isRadial?0:k.pos+k.len,h-q[1])),b=this.label,c=this.rotation,m={left:0,center:.5,right:1}[k.labelAlign||b.attr("align")],B=b.getBBox().width,d=k.getSlotWidth(this),x=d,l=1,w,t={};if(c||!1===g.overflow)0>c&&f-m*B<e?w=Math.round(f/Math.cos(c*u)-e):0<c&&f+m*B>q&&(w=Math.round((h-
113
- f)/Math.cos(c*u)));else if(h=f+(1-m)*B,f-m*B<e?x=a.x+x*(1-m)-e:h>q&&(x=q-a.x+x*m,l=-1),x=Math.min(d,x),x<d&&"center"===k.labelAlign&&(a.x+=l*(d-x-m*(d-Math.min(B,x)))),B>x||k.autoRotation&&(b.styles||{}).width)w=x;w&&(t.width=w,(g.style||{}).textOverflow||(t.textOverflow="ellipsis"),b.css(t))},getPosition:function(d,k,g,f){var h=this.axis,q=h.chart,e=f&&q.oldChartHeight||q.chartHeight;d={x:d?a.correctFloat(h.translate(k+g,null,null,f)+h.transB):h.left+h.offset+(h.opposite?(f&&q.oldChartWidth||q.chartWidth)-
114
- h.right-h.left:0),y:d?e-h.bottom+h.offset-(h.opposite?h.height:0):a.correctFloat(e-h.translate(k+g,null,null,f)-h.transB)};n(this,"afterGetPosition",{pos:d});return d},getLabelPosition:function(a,k,g,f,h,q,e,b){var c=this.axis,m=c.transA,d=c.reversed,l=c.staggerLines,x=c.tickRotCorr||{x:0,y:0},t=h.y,w=f||c.reserveSpaceDefault?0:-c.labelOffset*("center"===c.labelAlign?.5:1),F={};y(t)||(t=0===c.side?g.rotation?-8:-g.getBBox().height:2===c.side?x.y+8:Math.cos(g.rotation*u)*(x.y-g.getBBox(!1,0).height/
115
- 2));a=a+h.x+w+x.x-(q&&f?q*m*(d?-1:1):0);k=k+t-(q&&!f?q*m*(d?1:-1):0);l&&(g=e/(b||1)%l,c.opposite&&(g=l-g-1),k+=c.labelOffset/l*g);F.x=a;F.y=Math.round(k);n(this,"afterGetLabelPosition",{pos:F});return F},getMarkPath:function(a,k,g,f,h,q){return q.crispLine(["M",a,k,"L",a+(h?0:-g),k+(h?g:0)],f)},renderGridLine:function(a,k,g){var f=this.axis,h=f.options,q=this.gridLine,e={},b=this.pos,c=this.type,m=f.tickmarkOffset,d=f.chart.renderer,l=c?c+"Grid":"grid",x=h[l+"LineWidth"],t=h[l+"LineColor"],h=h[l+
116
- "LineDashStyle"];q||(e.stroke=t,e["stroke-width"]=x,h&&(e.dashstyle=h),c||(e.zIndex=1),a&&(e.opacity=0),this.gridLine=q=d.path().attr(e).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(f.gridGroup));if(!a&&q&&(a=f.getPlotLinePath(b+m,q.strokeWidth()*g,a,!0)))q[this.isNew?"attr":"animate"]({d:a,opacity:k})},renderMark:function(a,k,g){var f=this.axis,h=f.options,q=f.chart.renderer,e=this.type,b=e?e+"Tick":"tick",c=f.tickSize(b),m=this.mark,d=!m,l=a.x;a=a.y;var x=v(h[b+"Width"],!e&&f.isXAxis?1:
117
- 0),h=h[b+"Color"];c&&(f.opposite&&(c[0]=-c[0]),d&&(this.mark=m=q.path().addClass("highcharts-"+(e?e+"-":"")+"tick").add(f.axisGroup),m.attr({stroke:h,"stroke-width":x})),m[d?"attr":"animate"]({d:this.getMarkPath(l,a,c[0],m.strokeWidth()*g,f.horiz,q),opacity:k}))},renderLabel:function(a,k,g,f){var h=this.axis,q=h.horiz,e=h.options,b=this.label,c=e.labels,m=c.step,h=h.tickmarkOffset,B=!0,l=a.x;a=a.y;b&&d(l)&&(b.xy=a=this.getLabelPosition(l,a,b,q,c,h,f,m),this.isFirst&&!this.isLast&&!v(e.showFirstLabel,
118
- 1)||this.isLast&&!this.isFirst&&!v(e.showLastLabel,1)?B=!1:!q||c.step||c.rotation||k||0===g||this.handleOverflow(a),m&&f%m&&(B=!1),B&&d(a.y)?(a.opacity=g,b[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(b.attr("y",-9999),this.isNewLabel=!0))},render:function(d,k,g){var f=this.axis,h=f.horiz,q=this.getPosition(h,this.pos,f.tickmarkOffset,k),e=q.x,b=q.y,f=h&&e===f.pos+f.len||!h&&b===f.pos?-1:1;g=v(g,1);this.isActive=!0;this.renderGridLine(k,g,f);this.renderMark(q,g,f);this.renderLabel(q,
119
- k,g,d);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}})(K);var W=function(a){var A=a.addEvent,y=a.animObject,C=a.arrayMax,n=a.arrayMin,d=a.color,l=a.correctFloat,v=a.defaultOptions,u=a.defined,t=a.deg2rad,k=a.destroyObjectProperties,g=a.each,f=a.extend,h=a.fireEvent,q=a.format,e=a.getMagnitude,b=a.grep,c=a.inArray,m=a.isArray,B=a.isNumber,I=a.isString,x=a.merge,M=a.normalizeTickInterval,w=a.objectEach,F=a.pick,p=a.removeEvent,G=a.splat,D=a.syncTimeout,J=a.Tick,
120
- H=function(){this.init.apply(this,arguments)};a.extend(H.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",
121
- title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",
122
- fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var e=b.isX,r=this;r.chart=a;r.horiz=a.inverted&&!r.isZAxis?!e:e;r.isXAxis=e;r.coll=r.coll||(e?"xAxis":"yAxis");h(this,
123
- "init",{userOptions:b});r.opposite=b.opposite;r.side=b.side||(r.horiz?r.opposite?0:2:r.opposite?1:3);r.setOptions(b);var z=this.options,f=z.type;r.labelFormatter=z.labels.formatter||r.defaultLabelFormatter;r.userOptions=b;r.minPixelPadding=0;r.reversed=z.reversed;r.visible=!1!==z.visible;r.zoomEnabled=!1!==z.zoomEnabled;r.hasNames="category"===f||!0===z.categories;r.categories=z.categories||r.hasNames;r.names||(r.names=[],r.names.keys={});r.plotLinesAndBandsGroups={};r.isLog="logarithmic"===f;r.isDatetimeAxis=
124
- "datetime"===f;r.positiveValuesOnly=r.isLog&&!r.allowNegativeLog;r.isLinked=u(z.linkedTo);r.ticks={};r.labelEdge=[];r.minorTicks={};r.plotLinesAndBands=[];r.alternateBands={};r.len=0;r.minRange=r.userMinRange=z.minRange||z.maxZoom;r.range=z.range;r.offset=z.offset||0;r.stacks={};r.oldStacks={};r.stacksTouched=0;r.max=null;r.min=null;r.crosshair=F(z.crosshair,G(a.options.tooltip.crosshairs)[e?0:1],!1);b=r.options.events;-1===c(r,a.axes)&&(e?a.axes.splice(a.xAxis.length,0,r):a.axes.push(r),a[r.coll].push(r));
125
- r.series=r.series||[];a.inverted&&!r.isZAxis&&e&&void 0===r.reversed&&(r.reversed=!0);w(b,function(a,b){A(r,b,a)});r.lin2log=z.linearToLogConverter||r.lin2log;r.isLog&&(r.val2lin=r.log2lin,r.lin2val=r.lin2log);h(this,"afterInit")},setOptions:function(a){this.options=x(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(v[this.coll],a));h(this,"afterSetOptions",
126
- {userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,c=this.value,e=b.chart.time,f=b.categories,p=this.dateTimeLabelFormat,m=v.lang,g=m.numericSymbols,m=m.numericSymbolMagnitude||1E3,h=g&&g.length,k,d=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(d)k=q(d,this,e);else if(f)k=c;else if(p)k=e.dateFormat(p,c);else if(h&&1E3<=b)for(;h--&&void 0===k;)e=Math.pow(m,h+1),b>=e&&0===10*c%e&&null!==g[h]&&0!==c&&(k=a.numberFormat(c/e,-1)+g[h]);void 0===k&&(k=1E4<=Math.abs(c)?a.numberFormat(c,
127
- -1):a.numberFormat(c,-1,void 0,""));return k},getSeriesExtremes:function(){var a=this,c=a.chart;h(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();g(a.series,function(e){if(e.visible||!c.options.chart.ignoreHiddenSeries){var r=e.options,z=r.threshold,f;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=z&&(z=null);if(a.isXAxis)r=e.xData,r.length&&(e=n(r),f=C(r),B(e)||e instanceof Date||(r=b(r,
128
- B),e=n(r),f=C(r)),r.length&&(a.dataMin=Math.min(F(a.dataMin,r[0],e),e),a.dataMax=Math.max(F(a.dataMax,r[0],f),f)));else if(e.getExtremes(),f=e.dataMax,e=e.dataMin,u(e)&&u(f)&&(a.dataMin=Math.min(F(a.dataMin,e),e),a.dataMax=Math.max(F(a.dataMax,f),f)),u(z)&&(a.threshold=z),!r.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")},translate:function(a,b,c,e,f,p){var r=this.linkedParent||this,z=1,m=0,g=e?r.oldTransA:r.transA;e=e?r.oldMin:r.min;var h=r.minPixelPadding;
129
- f=(r.isOrdinal||r.isBroken||r.isLog&&f)&&r.lin2val;g||(g=r.transA);c&&(z*=-1,m=r.len);r.reversed&&(z*=-1,m-=z*(r.sector||r.len));b?(a=(a*z+m-h)/g+e,f&&(a=r.lin2val(a))):(f&&(a=r.val2lin(a)),a=B(e)?z*(a-e)*g+m+z*h+(B(p)?g*p:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,e,f){var r=this.chart,z=this.left,p=this.top,m,g,h=c&&
130
- r.oldChartHeight||r.chartHeight,k=c&&r.oldChartWidth||r.chartWidth,L;m=this.transB;var q=function(a,b,c){if(a<b||a>c)e?a=Math.min(Math.max(b,a),c):L=!0;return a};f=F(f,this.translate(a,null,null,c));f=Math.min(Math.max(-1E5,f),1E5);a=c=Math.round(f+m);m=g=Math.round(h-f-m);B(f)?this.horiz?(m=p,g=h-this.bottom,a=c=q(a,z,z+this.width)):(a=z,c=k-this.right,m=g=q(m,p,p+this.height)):(L=!0,e=!1);return L&&!e?null:r.renderer.crispLine(["M",a,m,"L",c,g],b||1)},getLinearTickPositions:function(a,b,c){var e,
131
- r=l(Math.floor(b/a)*a);c=l(Math.ceil(c/a)*a);var z=[],f;l(r+a)===r&&(f=20);if(this.single)return[b];for(b=r;b<=c;){z.push(b);b=l(b+a,f);if(b===e)break;e=b}return z},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?F(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,e=a.minorTickInterval,f=[],p=a.pointRangePadding||0,m=a.min-p,p=a.max+p,h=p-m;if(h&&h/e<a.len/3)if(a.isLog)g(this.paddedTicks,
132
- function(b,c,r){c&&f.push.apply(f,a.getLogTickPositions(e,r[c-1],r[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())f=f.concat(a.getTimeTicks(a.normalizeTimeTickInterval(e),m,p,b.startOfWeek));else for(b=m+(c[0]-m)%e;b<=p&&b!==f[0];b+=e)f.push(b);0!==f.length&&a.trimTicks(f);return f},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,e,f,p,m,h,k,q,d;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(u(a.min)||u(a.max)?this.minRange=null:(g(this.series,
133
- function(a){k=a.xData;for(m=q=a.xIncrement?1:k.length-1;0<m;m--)if(h=k[m]-k[m-1],void 0===p||h<p)p=h}),this.minRange=Math.min(5*p,this.dataMax-this.dataMin)));c-b<this.minRange&&(f=this.dataMax-this.dataMin>=this.minRange,d=this.minRange,e=(d-c+b)/2,e=[b-e,F(a.min,b-e)],f&&(e[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(e),c=[b+d,F(a.max,b+d)],f&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=n(c),c-b<d&&(e[0]=c-d,e[1]=F(a.min,c-d),b=C(e)));this.min=b;this.max=c},getClosest:function(){var a;
134
- this.categories?a=1:g(this.series,function(b){var c=b.closestPointRange,e=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&u(c)&&e&&(a=u(a)?Math.min(a,c):c)});return a},nameToX:function(a){var b=m(this.categories),e=b?this.categories:this.names,r=a.options.x,f;a.series.requireSorting=!1;u(r)||(r=!1===this.options.uniqueNames?a.series.autoIncrement():b?c(a.name,e):F(e.keys[a.name],-1));-1===r?b||(f=e.length):f=r;void 0!==f&&(this.names[f]=a.name,this.names.keys[a.name]=f);return f},
135
- updateNames:function(){var b=this,c=this.names;0<c.length&&(g(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,g(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();g(a.points,function(c,e){var r;c.options&&(r=b.nameToX(c),void 0!==r&&r!==c.x&&(c.x=r,a.xData[e]=r))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,e=b.axisPointRange||0,r,f=0,p=0,m=b.linkedParent,k=!!b.categories,d=b.transA,
136
- q=b.isXAxis;if(q||k||e)r=b.getClosest(),m?(f=m.minPointOffset,p=m.pointRangePadding):g(b.series,function(a){var c=k?1:q?F(a.options.pointRange,r,0):b.axisPointRange||0;a=a.options.pointPlacement;e=Math.max(e,c);b.single||(f=Math.max(f,I(a)?0:c/2),p=Math.max(p,"on"===a?0:c))}),m=b.ordinalSlope&&r?b.ordinalSlope/r:1,b.minPointOffset=f*=m,b.pointRangePadding=p*=m,b.pointRange=Math.min(e,c),q&&(b.closestPointRange=r);a&&(b.oldTransA=d);b.translationSlope=b.transA=d=b.options.staticScale||b.len/(c+p||
137
- 1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=d*f;h(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,r=c.chart,f=c.options,p=c.isLog,m=c.isDatetimeAxis,k=c.isXAxis,d=c.isLinked,q=f.maxPadding,D=f.minPadding,w=f.tickInterval,x=f.tickPixelInterval,G=c.categories,H=B(c.threshold)?c.threshold:null,I=c.softThreshold,n,t,J,v;m||G||d||this.getTickAmount();J=F(c.userMin,f.min);v=F(c.userMax,f.max);d?(c.linkedParent=r[c.coll][f.linkedTo],
138
- r=c.linkedParent.getExtremes(),c.min=F(r.min,r.dataMin),c.max=F(r.max,r.dataMax),f.type!==c.linkedParent.options.type&&a.error(11,1)):(!I&&u(H)&&(c.dataMin>=H?(n=H,D=0):c.dataMax<=H&&(t=H,q=0)),c.min=F(J,n,c.dataMin),c.max=F(v,t,c.dataMax));p&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,F(c.dataMin,c.min))&&a.error(10,1),c.min=l(c.log2lin(c.min),15),c.max=l(c.log2lin(c.max),15));c.range&&u(c.max)&&(c.userMin=c.min=J=Math.max(c.dataMin,c.minFromRange()),c.userMax=v=c.max,c.range=null);h(c,"foundExtremes");
139
- c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(G||c.axisPointRange||c.usePercentage||d)&&u(c.min)&&u(c.max)&&(r=c.max-c.min)&&(!u(J)&&D&&(c.min-=r*D),!u(v)&&q&&(c.max+=r*q));B(f.softMin)&&!B(c.userMin)&&(c.min=Math.min(c.min,f.softMin));B(f.softMax)&&!B(c.userMax)&&(c.max=Math.max(c.max,f.softMax));B(f.floor)&&(c.min=Math.max(c.min,f.floor));B(f.ceiling)&&(c.max=Math.min(c.max,f.ceiling));I&&u(c.dataMin)&&(H=H||0,!u(J)&&c.min<H&&c.dataMin>=H?c.min=H:!u(v)&&c.max>H&&c.dataMax<=H&&(c.max=
140
- H));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:d&&!w&&x===c.linkedParent.options.tickPixelInterval?w=c.linkedParent.tickInterval:F(w,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,G?1:(c.max-c.min)*x/Math.max(c.len,x));k&&!b&&g(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));
141
- c.pointRange&&!w&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=F(f.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!w&&c.tickInterval<b&&(c.tickInterval=b);m||p||w||(c.tickInterval=M(c.tickInterval,null,e(c.tickInterval),F(f.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions;b=this.getMinorTickInterval();
142
- var e=a.tickPositioner,f=a.startOnTick,p=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&u(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,
143
- a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=b=e);this.paddedTicks=b.slice(0);this.trimTicks(b,f,p);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||e||this.adjustTickAmount());
144
- h(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var e=a[0],r=a[a.length-1],f=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==e)this.min=e;else for(;this.min-f>a[0];)a.shift();if(c)this.max=r;else for(;this.max+f<a[a.length-1];)a.pop();0===a.length&&u(e)&&!this.options.tickPositions&&a.push((r+e)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||g(this.chart[this.coll],
145
- function(c){var e=c.options,e=[c.horiz?e.left:e.top,e.width,e.height,e.pane].join();c.series.length&&(a[e]?b=!0:a[e]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!u(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,
146
- e=this.finalTickAmt,f=b&&b.length,p=F(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(f<c){for(;b.length<c;)b.length%2||this.min===p?b.push(l(b[b.length-1]+a)):b.unshift(l(b[0]-a));this.transA*=(f-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else f>c&&(this.tickInterval*=2,this.setTickPositions());if(u(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=
147
- this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;g(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):
148
- this.cleanStacks&&this.cleanStacks();h(this,"afterSetScale")},setExtremes:function(a,b,c,e,p){var r=this,m=r.chart;c=F(c,!0);g(r.series,function(a){delete a.kdTree});p=f(p,{min:a,max:b});h(r,"setExtremes",p,function(){r.userMin=a;r.userMax=b;r.eventArgs=p;c&&m.redraw(e)})},zoom:function(a,b){var c=this.dataMin,e=this.dataMax,f=this.options,r=Math.min(c,F(f.min,c)),f=Math.max(e,F(f.max,e));if(a!==this.min||b!==this.max)this.allowZoomOutside||(u(c)&&(a<r&&(a=r),a>f&&(a=f)),u(e)&&(b<r&&(b=r),b>f&&(b=
149
- f))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,e=c.offsets||[0,0,0,0],f=this.horiz,p=this.width=Math.round(a.relativeLength(F(c.width,b.plotWidth-e[3]+e[1]),b.plotWidth)),m=this.height=Math.round(a.relativeLength(F(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),g=this.top=Math.round(a.relativeLength(F(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(F(c.left,
150
- b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-m-g;this.right=b.chartWidth-p-c;this.len=Math.max(f?p:m,0);this.pos=f?c:g},getExtremes:function(){var a=this.isLog;return{min:a?l(this.lin2log(this.min)):this.min,max:a?l(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===
151
- a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(F(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],e=F(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(e&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,e]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,
152
- this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,f=this.len/(((this.categories?1:0)+this.max-this.min)/c),p,m=a.rotation,h=this.labelMetrics(),k,d=Number.MAX_VALUE,q,w=function(a){a/=f||1;a=1<a?Math.ceil(a):1;return l(a*c)};b?(q=!a.staggerLines&&!a.step&&(u(m)?[m]:f<F(a.autoRotationLimit,80)&&a.autoRotation))&&g(q,function(a){var b;if(a===m||a&&-90<=a&&90>=a)k=w(Math.abs(h.h/Math.sin(t*a))),b=k+Math.abs(a/360),b<d&&(d=b,p=a,e=
153
- k)}):a.step||(e=w(h.h));this.autoRotation=q;this.labelRotation=F(p,m);return e},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),f=a.margin[3];return b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/e||!b&&(c.style&&parseInt(c.style.width,10)||f&&f-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,e=this.ticks,f=this.options.labels,p=f&&
154
- f.style||{},m=this.horiz,h=this.getSlotWidth(),k=Math.max(1,Math.round(h-2*(f.padding||5))),d={},q=this.labelMetrics(),w=f.style&&f.style.textOverflow,D,B,x=0,G;I(f.rotation)||(d.rotation=f.rotation||0);g(c,function(a){(a=e[a])&&a.label&&a.label.textPxLength>x&&(x=a.label.textPxLength)});this.maxLabelLength=x;if(this.autoRotation)x>k&&x>q.h?d.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(D=k,!w))for(B="clip",k=c.length;!m&&k--;)if(G=c[k],G=e[G].label)G.styles&&"ellipsis"===G.styles.textOverflow?
155
- G.css({textOverflow:"clip"}):G.textPxLength>h&&G.css({width:h+"px"}),G.getBBox().height>this.len/c.length-(q.h-q.f)&&(G.specificTextOverflow="ellipsis");d.rotation&&(D=x>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight,w||(B="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))d.align=this.labelAlign;g(c,function(a){var b=(a=e[a])&&a.label,c=p.width,f={};b&&(b.attr(d),D&&!c&&"nowrap"!==p.whiteSpace&&(D<b.textPxLength||"SPAN"===b.element.tagName)?(f.width=D,w||(f.textOverflow=
156
- b.specificTextOverflow||B),b.css(f)):b.styles&&b.styles.width&&!f.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=d.rotation)});this.tickRotCorr=b.rotCorr(q.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||u(this.min)&&u(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,e=this.opposite,f=this.options.title,p;this.axisTitle||((p=f.textAlign)||(p=(c?{low:"left",middle:"center",
157
- high:"right"}:{low:e?"right":"left",middle:"center",high:e?"left":"right"})[f.align]),this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:p}).addClass("highcharts-axis-title").css(x(f.style)).add(this.axisGroup),this.axisTitle.isNew=!0);f.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new J(this,a)},getOffset:function(){var a=this,b=a.chart,
158
- c=b.renderer,e=a.options,f=a.tickPositions,p=a.ticks,m=a.horiz,h=a.side,k=b.inverted&&!a.isZAxis?[1,0,3,2][h]:h,d,q,D=0,B,x=0,G=e.title,l=e.labels,H=0,I=b.axisOffset,b=b.clipOffset,n=[-1,1,1,-1][h],t=e.className,J=a.axisParent,M=this.tickSize("tick");d=a.hasData();a.showAxis=q=d||F(e.showEmpty,!0);a.staggerLines=a.horiz&&l.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:e.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(t||"")).add(J),a.axisGroup=c.g("axis").attr({zIndex:e.zIndex||
159
- 2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(t||"")).add(J),a.labelGroup=c.g("axis-labels").attr({zIndex:l.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(t||"")).add(J));d||a.isLinked?(g(f,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===h||2===h||{1:"left",3:"right"}[h]===a.labelAlign,F(l.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&g(f,function(a){H=Math.max(p[a].getLabelSize(),H)}),a.staggerLines&&(H*=a.staggerLines),
160
- a.labelOffset=H*(a.opposite?-1:1)):w(p,function(a,b){a.destroy();delete p[b]});G&&G.text&&!1!==G.enabled&&(a.addTitle(q),q&&!1!==G.reserveSpace&&(a.titleOffset=D=a.axisTitle.getBBox()[m?"height":"width"],B=G.offset,x=u(B)?0:F(G.margin,m?5:10)));a.renderLine();a.offset=n*F(e.offset,I[h]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===h?-a.labelMetrics().h:2===h?a.tickRotCorr.y:0;x=Math.abs(H)+x;H&&(x=x-c+n*(m?F(l.y,a.tickRotCorr.y+8*n):l.x));a.axisTitleMargin=F(B,x);I[h]=Math.max(I[h],a.axisTitleMargin+
161
- D+n*a.offset,x,d&&f.length&&M?M[0]+n*a.offset:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[k]=Math.max(b[k],e)},getLinePath:function(a){var b=this.chart,c=this.opposite,e=this.offset,f=this.horiz,p=this.left+(c?this.width:0)+e,e=b.chartHeight-this.bottom-(c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:p,f?e:this.top,"L",f?b.chartWidth-this.right:p,f?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),
162
- this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,f=this.options.title,p=a?b:c,m=this.opposite,h=this.offset,g=f.x||0,k=f.y||0,d=this.axisTitle,q=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,d),d=Math.max(d.getBBox(null,0).height-q.h-1,0),e={low:p+(a?0:e),middle:p+e/2,high:p+(a?e:0)}[f.align],b=(a?c+this.height:b)+(a?1:-1)*(m?-1:1)*this.axisTitleMargin+[-d,
163
- d,q.f,-d][this.side];return{x:a?e+g:b+(m?this.width:0)+h+g,y:a?b+k-(m?this.height:0)+h:e+k}},renderMinorTick:function(a){var b=this.chart.hasRendered&&B(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new J(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,e=this.ticks,f=this.chart.hasRendered&&B(this.oldMin);if(!c||a>=this.min&&a<=this.max)e[a]||(e[a]=new J(this,a)),f&&e[a].isNew&&e[a].render(b,!0,.1),e[a].render(b)},render:function(){var b=
164
- this,c=b.chart,e=b.options,f=b.isLog,p=b.isLinked,m=b.tickPositions,k=b.axisTitle,d=b.ticks,q=b.minorTicks,x=b.alternateBands,G=e.stackLabels,l=e.alternateGridColor,H=b.tickmarkOffset,I=b.axisLine,n=b.showAxis,t=y(c.renderer.globalAnimation),F,M;b.labelEdge.length=0;b.overlap=!1;g([d,q,x],function(a){w(a,function(a){a.isActive=!1})});if(b.hasData()||p)b.minorTickInterval&&!b.categories&&g(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),m.length&&(g(m,function(a,c){b.renderTick(a,c)}),
165
- H&&(0===b.min||b.single)&&(d[-1]||(d[-1]=new J(b,-1,null,!0)),d[-1].render(-1))),l&&g(m,function(e,p){M=void 0!==m[p+1]?m[p+1]+H:b.max-H;0===p%2&&e<b.max&&M<=b.max+(c.polar?-H:H)&&(x[e]||(x[e]=new a.PlotLineOrBand(b)),F=e+H,x[e].options={from:f?b.lin2log(F):F,to:f?b.lin2log(M):M,color:l},x[e].render(),x[e].isActive=!0)}),b._addedPlotLB||(g((e.plotLines||[]).concat(e.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);g([d,q,x],function(a){var b,e=[],f=t.duration;w(a,function(a,
166
- b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});D(function(){for(b=e.length;b--;)a[e[b]]&&!a[e[b]].isActive&&(a[e[b]].destroy(),delete a[e[b]])},a!==x&&c.hasRendered&&f?f:0)});I&&(I[I.isPlaced?"animate":"attr"]({d:this.getLinePath(I.strokeWidth())}),I.isPlaced=!0,I[n?"show":"hide"](!0));k&&n&&(e=b.getTitlePosition(),B(e.y)?(k[k.isNew?"attr":"animate"](e),k.isNew=!1):(k.attr("y",-9999),k.isNew=!0));G&&G.enabled&&b.renderStackTotals();b.isDirty=!1;h(this,"afterRender")},redraw:function(){this.visible&&
167
- (this.render(),g(this.plotLinesAndBands,function(a){a.render()}));g(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,e=b.stacks,f=b.plotLinesAndBands,m;h(this,"destroy",{keepEvents:a});a||p(b);w(e,function(a,b){k(a);e[b]=null});g([b.ticks,b.minorTicks,b.alternateBands],function(a){k(a)});if(f)for(a=f.length;a--;)f[a].destroy();g("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),
168
- function(a){b[a]&&(b[a]=b[a].destroy())});for(m in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[m]=b.plotLinesAndBandsGroups[m].destroy();w(b,function(a,e){-1===c(e,b.keepProps)&&delete b[e]})},drawCrosshair:function(a,b){var c,e=this.crosshair,f=F(e.snap,!0),p,m=this.cross;h(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(u(b)||!f)){f?u(b)&&(p=F(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):p=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+
169
- this.pos);u(p)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:F(b.stackY,b.y)),null,null,null,p)||null);if(!u(c)){this.hideCrosshair();return}f=this.categories&&!this.isRadial;m||(this.cross=m=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(f?"category ":"thin ")+e.className).attr({zIndex:F(e.zIndex,2)}).add(),m.attr({stroke:e.color||(f?d("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":F(e.width,1)}).css({"pointer-events":"none"}),e.dashStyle&&m.attr({dashstyle:e.dashStyle}));
170
- m.show().attr({d:c});f&&!e.width&&m.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=H}(K);(function(a){var A=a.Axis,y=a.getMagnitude,C=a.map,n=a.normalizeTickInterval,d=a.pick;A.prototype.getLogTickPositions=function(a,v,u,t){var k=this.options,g=this.len,f=[];t||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,v,u);
171
- else if(.08<=a)for(var g=Math.floor(v),h,q,e,b,c,k=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];g<u+1&&!c;g++)for(q=k.length,h=0;h<q&&!c;h++)e=this.log2lin(this.lin2log(g)*k[h]),e>v&&(!t||b<=u)&&void 0!==b&&f.push(b),b>u&&(c=!0),b=e;else v=this.lin2log(v),u=this.lin2log(u),a=t?this.getMinorTickInterval():k.tickInterval,a=d("auto"===a?null:a,this._minorAutoInterval,k.tickPixelInterval/(t?5:1)*(u-v)/((t?g/this.tickPositions.length:g)||1)),a=n(a,null,y(a)),f=C(this.getLinearTickPositions(a,v,u),
172
- this.log2lin),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=a);return f};A.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};A.prototype.lin2log=function(a){return Math.pow(10,a)}})(K);(function(a,A){var y=a.arrayMax,C=a.arrayMin,n=a.defined,d=a.destroyObjectProperties,l=a.each,v=a.erase,u=a.merge,t=a.pick;a.PlotLineOrBand=function(a,g){this.axis=a;g&&(this.options=g,this.id=g.id)};a.PlotLineOrBand.prototype={render:function(){var k=this,g=k.axis,f=g.horiz,h=k.options,d=h.label,
173
- e=k.label,b=h.to,c=h.from,m=h.value,B=n(c)&&n(b),l=n(m),x=k.svgElem,M=!x,w=[],F=h.color,p=t(h.zIndex,0),G=h.events,w={"class":"highcharts-plot-"+(B?"band ":"line ")+(h.className||"")},D={},J=g.chart.renderer,H=B?"bands":"lines";g.isLog&&(c=g.log2lin(c),b=g.log2lin(b),m=g.log2lin(m));l?(w.stroke=F,w["stroke-width"]=h.width,h.dashStyle&&(w.dashstyle=h.dashStyle)):B&&(F&&(w.fill=F),h.borderWidth&&(w.stroke=h.borderColor,w["stroke-width"]=h.borderWidth));D.zIndex=p;H+="-"+p;(F=g.plotLinesAndBandsGroups[H])||
174
- (g.plotLinesAndBandsGroups[H]=F=J.g("plot-"+H).attr(D).add());M&&(k.svgElem=x=J.path().attr(w).add(F));if(l)w=g.getPlotLinePath(m,x.strokeWidth());else if(B)w=g.getPlotBandPath(c,b,h);else return;M&&w&&w.length?(x.attr({d:w}),G&&a.objectEach(G,function(a,b){x.on(b,function(a){G[b].apply(k,[a])})})):x&&(w?(x.show(),x.animate({d:w})):(x.hide(),e&&(k.label=e=e.destroy())));d&&n(d.text)&&w&&w.length&&0<g.width&&0<g.height&&!w.isFlat?(d=u({align:f&&B&&"center",x:f?!B&&4:10,verticalAlign:!f&&B&&"middle",
175
- y:f?B?16:10:B?6:-4,rotation:f&&!B&&90},d),this.renderLabel(d,w,B,p)):e&&e.hide();return k},renderLabel:function(a,g,f,h){var d=this.label,e=this.axis.chart.renderer;d||(d={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||"")},d.zIndex=h,this.label=d=e.text(a.text,0,0,a.useHTML).attr(d).add(),d.css(a.style));h=g.xBounds||[g[1],g[4],f?g[6]:g[1]];g=g.yBounds||[g[2],g[5],f?g[7]:g[2]];f=C(h);e=C(g);d.align(a,!1,{x:f,y:e,width:y(h)-f,height:y(g)-
176
- e});d.show()},destroy:function(){v(this.axis.plotLinesAndBands,this);delete this.axis;d(this)}};a.extend(A.prototype,{getPlotBandPath:function(a,d){var f=this.getPlotLinePath(d,null,null,!0),h=this.getPlotLinePath(a,null,null,!0),g=[],e=this.horiz,b=1,c;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(h&&f)for(a&&(c=h.toString()===f.toString(),b=0),a=0;a<h.length;a+=6)e&&f[a+1]===h[a+1]?(f[a+1]+=b,f[a+4]+=b):e||f[a+2]!==h[a+2]||(f[a+2]+=b,f[a+5]+=b),g.push("M",h[a+1],h[a+2],"L",h[a+4],h[a+5],f[a+
177
- 4],f[a+5],f[a+1],f[a+2],"z"),g.isFlat=c;return g},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,g){var f=(new a.PlotLineOrBand(this,d)).render(),h=this.userOptions;f&&(g&&(h[g]=h[g]||[],h[g].push(d)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,f=this.options,h=this.userOptions,q=d.length;q--;)d[q].id===a&&d[q].destroy();
178
- l([f.plotLines||[],h.plotLines||[],f.plotBands||[],h.plotBands||[]],function(e){for(q=e.length;q--;)e[q].id===a&&v(e,e[q])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(K,W);(function(a){var A=a.doc,y=a.each,C=a.extend,n=a.format,d=a.isNumber,l=a.map,v=a.merge,u=a.pick,t=a.splat,k=a.syncTimeout,g=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=
179
- d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split;this.outside=d.outside&&!this.split},cleanSplit:function(a){y(this.chart.series,function(f){var d=f&&f.tt;d&&(!d.isActive||a?f.tt=d.destroy():d.isActive=!1)})},getLabel:function(){var f=this.chart.renderer,d=this.options,g;this.label||(this.outside&&(this.container=g=a.doc.createElement("div"),g.className="highcharts-tooltip-container",a.css(g,{position:"absolute",top:"1px",pointerEvents:"none"}),
180
- a.doc.body.appendChild(g),this.renderer=f=new a.Renderer(g,0,0)),this.split?this.label=f.g("tooltip"):(this.label=f.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor,"stroke-width":d.borderWidth}).css(d.style).shadow(d.shadow)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){g.style.left=a+"px"},this.label.ySetter=function(a){g.style.top=a+"px"}),this.label.attr({zIndex:8}).add());
181
- return this.label},update:function(a){this.destroy();v(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,v(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(f,d,g,e){var b=this,c=b.now,m=!1!==b.options.animation&&
182
- !b.isHidden&&(1<Math.abs(f-c.x)||1<Math.abs(d-c.y)),h=b.followPointer||1<b.len;C(c,{x:m?(2*c.x+f)/3:f,y:m?(c.y+d)/2:d,anchorX:h?void 0:m?(2*c.anchorX+g)/3:g,anchorY:h?void 0:m?(c.anchorY+e)/2:e});b.getLabel().attr(c);m&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(f,d,g,e)},32))},hide:function(f){var d=this;a.clearTimeout(this.hideTimer);f=u(f,this.options.hideDelay,500);this.isHidden||(this.hideTimer=k(function(){d.getLabel()[f?"fadeOut":"hide"]();d.isHidden=
183
- !0},f))},getAnchor:function(a,d){var f,e=this.chart,b=e.inverted,c=e.plotTop,m=e.plotLeft,g=0,h=0,k,n;a=t(a);f=a[0].tooltipPos;this.followPointer&&d&&(void 0===d.chartX&&(d=e.pointer.normalize(d)),f=[d.chartX-e.plotLeft,d.chartY-c]);f||(y(a,function(a){k=a.series.yAxis;n=a.series.xAxis;g+=a.plotX+(!b&&n?n.left-m:0);h+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&k?k.top-c:0)}),g/=a.length,h/=a.length,f=[b?e.plotWidth-h:g,this.shared&&!b&&1<a.length&&d?d.chartY-c:b?e.plotHeight-g:h]);return l(f,
184
- Math.round)},getPosition:function(a,d,g){var e=this.chart,b=this.distance,c={},f=e.inverted&&g.h||0,h,k=this.outside,q=k?A.documentElement.clientWidth-2*b:e.chartWidth,l=k?Math.max(A.body.scrollHeight,A.documentElement.scrollHeight,A.body.offsetHeight,A.documentElement.offsetHeight,A.documentElement.clientHeight):e.chartHeight,w=e.pointer.chartPosition,n=["y",l,d,(k?w.top-b:0)+g.plotY+e.plotTop,k?0:e.plotTop,k?l:e.plotTop+e.plotHeight],p=["x",q,a,(k?w.left-b:0)+g.plotX+e.plotLeft,k?0:e.plotLeft,k?
185
- q:e.plotLeft+e.plotWidth],G=!this.followPointer&&u(g.ttBelow,!e.inverted===!!g.negative),D=function(a,e,p,m,d,g){var h=p<m-b,r=m+b+p<e,k=m-b-p;m+=b;if(G&&r)c[a]=m;else if(!G&&h)c[a]=k;else if(h)c[a]=Math.min(g-p,0>k-f?k:k-f);else if(r)c[a]=Math.max(d,m+f+p>e?m:m+f);else return!1},t=function(a,e,f,p){var m;p<b||p>e-b?m=!1:c[a]=p<f/2?1:p>e-f/2?e-f-2:p-f/2;return m},H=function(a){var b=n;n=p;p=b;h=a},r=function(){!1!==D.apply(0,n)?!1!==t.apply(0,p)||h||(H(!0),r()):h?c.x=c.y=0:(H(!0),r())};(e.inverted||
186
- 1<this.len)&&H();r();return c},defaultFormatter:function(a){var f=this.points||t(this),d;d=[a.tooltipFooterHeaderFormatter(f[0])];d=d.concat(a.bodyFormatter(f));d.push(a.tooltipFooterHeaderFormatter(f[0],!0));return d},refresh:function(f,d){var g,e=this.options,b,c=f,m,h={},k=[];g=e.formatter||this.defaultFormatter;var h=this.shared,x;e.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=t(c)[0].series.tooltipOptions.followPointer,m=this.getAnchor(c,d),d=m[0],b=m[1],!h||c.series&&c.series.noSharedTooltip?
187
- h=c.getLabelConfig():(y(c,function(a){a.setState("hover");k.push(a.getLabelConfig())}),h={x:c[0].category,y:c[0].y},h.points=k,c=c[0]),this.len=k.length,h=g.call(h,this),x=c.series,this.distance=u(x.tooltipOptions.distance,16),!1===h?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(h,t(f)):(e.style.width||g.css({width:this.chart.spacingBox.width}),g.attr({text:h&&h.join?h.join(""):h}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+
188
- u(c.colorIndex,x.colorIndex)),g.attr({stroke:e.borderColor||c.color||x.color||"#666666"}),this.updatePosition({plotX:d,plotY:b,negative:c.negative,ttBelow:c.ttBelow,h:m[2]||0})),this.isHidden=!1))},renderSplit:function(f,d){var g=this,e=[],b=this.chart,c=b.renderer,m=!0,h=this.options,k=0,x=this.getLabel();a.isString(f)&&(f=[!1,f]);y(f.slice(0,d.length+1),function(a,f){if(!1!==a){f=d[f-1]||{isHeader:!0,plotX:d[0].plotX};var q=f.series||g,p=q.tt,G=f.series||{},D="highcharts-color-"+u(f.colorIndex,
189
- G.colorIndex,"none");p||(q.tt=p=c.label(null,null,null,"callout",null,null,h.useHTML).addClass("highcharts-tooltip-box "+D).attr({padding:h.padding,r:h.borderRadius,fill:h.backgroundColor,stroke:h.borderColor||f.color||G.color||"#333333","stroke-width":h.borderWidth}).add(x));p.isActive=!0;p.attr({text:a});p.css(h.style).shadow(h.shadow);a=p.getBBox();G=a.width+p.strokeWidth();f.isHeader?(k=a.height,G=Math.max(0,Math.min(f.plotX+b.plotLeft-G/2,b.chartWidth-G))):G=f.plotX+b.plotLeft-u(h.distance,16)-
190
- G;0>G&&(m=!1);a=(f.series&&f.series.yAxis&&f.series.yAxis.pos)+(f.plotY||0);a-=b.plotTop;e.push({target:f.isHeader?b.plotHeight+k:a,rank:f.isHeader?1:0,size:q.tt.getBBox().height+1,point:f,x:G,tt:p})}});this.cleanSplit();a.distribute(e,b.plotHeight+k);y(e,function(a){var c=a.point,e=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:m||c.isHeader?a.x:c.plotX+b.plotLeft+u(h.distance,16),y:a.pos+b.plotTop,anchorX:c.isHeader?c.plotX+b.plotLeft:c.plotX+e.xAxis.pos,anchorY:c.isHeader?a.pos+
191
- b.plotTop-15:c.plotY+e.yAxis.pos})})},updatePosition:function(a){var f=this.chart,d=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a),b=a.plotX+f.plotLeft;a=a.plotY+f.plotTop;var c;this.outside&&(c=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(d.width+c,d.height+c,!1),b+=f.pointer.chartPosition.left-e.x,a+=f.pointer.chartPosition.top-e.y);this.move(Math.round(e.x),Math.round(e.y||0),b,a)},getDateFormat:function(a,d,k,e){var b=this.chart.time,
192
- c=b.dateFormat("%m-%d %H:%M:%S.%L",d),f,h,q={millisecond:15,second:12,minute:9,hour:6,day:3},x="millisecond";for(h in g){if(a===g.week&&+b.dateFormat("%w",d)===k&&"00:00:00.000"===c.substr(6)){h="week";break}if(g[h]>a){h=x;break}if(q[h]&&c.substr(q[h])!=="01-01 00:00:00.000".substr(q[h]))break;"week"!==h&&(x=h)}h&&(f=e[h]);return f},getXDateFormat:function(a,d,g){d=d.dateTimeLabelFormats;var e=g&&g.closestPointRange;return(e?this.getDateFormat(e,a.x,g.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,
193
- g){g=g?"footer":"header";var f=a.series,e=f.tooltipOptions,b=e.xDateFormat,c=f.xAxis,m=c&&"datetime"===c.options.type&&d(a.key),h=e[g+"Format"];m&&!b&&(b=this.getXDateFormat(a,e,c));m&&b&&y(a.point&&a.point.tooltipDateKeys||["key"],function(a){h=h.replace("{point."+a+"}","{point."+a+":"+b+"}")});return n(h,{point:a,series:f},this.chart.time)},bodyFormatter:function(a){return l(a,function(a){var f=a.series.tooltipOptions;return(f[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,
194
- f[(a.point.formatPrefix||"point")+"Format"])})}}})(K);(function(a){var A=a.addEvent,y=a.attr,C=a.charts,n=a.color,d=a.css,l=a.defined,v=a.each,u=a.extend,t=a.find,k=a.fireEvent,g=a.isNumber,f=a.isObject,h=a.offset,q=a.pick,e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,e.tooltip),this.followTouchMove=
195
- q(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,e=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=q(c.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=a||e},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=h(this.chart.container));return u(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-
196
- b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};v(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,e){var c;v(a,function(a){var m=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,m);if((m=f(a,!0))&&!(m=!f(c,!0)))var m=c.distX-a.distX,d=c.dist-a.dist,g=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),m=0<
197
- (0!==m&&b?m:0!==d?d:0!==g?g:c.series.index>a.series.index?-1:1);m&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,e=c.xAxis,c=c.yAxis,f=q(a.clientX,a.plotX),m=a.shapeArgs;if(e&&c)return b?{chartX:e.len+e.pos-f,chartY:c.len+c.pos-a.plotY}:{chartX:f+e.pos,chartY:a.plotY+c.pos};if(m&&m.x&&m.y)return{chartX:m.x,chartY:m.y}},getHoverData:function(b,e,d,g,h,k,w){var c,p=[],m=w&&w.isBoosting;
198
- g=!(!g||!b);w=e&&!e.stickyTracking?[e]:a.grep(d,function(a){return a.visible&&!(!h&&a.directTouch)&&q(a.options.enableMouseTracking,!0)&&a.stickyTracking});e=(c=g?b:this.findNearestKDPoint(w,h,k))&&c.series;c&&(h&&!e.noSharedTooltip?(w=a.grep(d,function(a){return a.visible&&!(!h&&a.directTouch)&&q(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),v(w,function(a){var b=t(a.points,function(a){return a.x===c.x&&!a.isNull});f(b)&&(m&&(b=a.getPoint(b)),p.push(b))})):p.push(c));return{hoverPoint:c,
199
- hoverSeries:e,hoverPoints:p}},runPointActions:function(b,e){var c=this.chart,f=c.tooltip&&c.tooltip.options.enabled?c.tooltip:void 0,m=f?f.shared:!1,d=e||c.hoverPoint,g=d&&d.series||c.hoverSeries,g=this.getHoverData(d,g,c.series,!!e||g&&g.directTouch&&this.isDirectTouch,m,b,{isBoosting:c.isBoosting}),h,d=g.hoverPoint;h=g.hoverPoints;e=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;m=m&&g&&!g.noSharedTooltip;if(d&&(d!==c.hoverPoint||f&&f.isHidden)){v(c.hoverPoints||[],function(b){-1===a.inArray(b,
200
- h)&&b.setState()});v(h||[],function(a){a.setState("hover")});if(c.hoverSeries!==g)g.onMouseOver();c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut");if(!d.series)return;d.firePointEvent("mouseOver");c.hoverPoints=h;c.hoverPoint=d;f&&f.refresh(m?h:d,b)}else e&&f&&!f.isHidden&&(d=f.getAnchor([{}],b),f.updatePosition({plotX:d[0],plotY:d[1]}));this.unDocMouseMove||(this.unDocMouseMove=A(c.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));
201
- v(c.axes,function(c){var e=q(c.crosshair.snap,!0),f=e?a.find(h,function(a){return a.series[c.coll]===c}):void 0;f||!e?c.drawCrosshair(b,f):c.hideCrosshair()})},reset:function(a,b){var c=this.chart,f=c.hoverSeries,d=c.hoverPoint,m=c.hoverPoints,g=c.tooltip,h=g&&g.shared?m:d;a&&h&&v(e(h),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)g&&h&&(g.refresh(h),d&&(d.setState(d.state,!0),v(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();m&&v(m,function(a){a.setState()});
202
- if(f)f.onMouseOut();g&&g.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());v(c.axes,function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,e;v(c.series,function(f){e=a||f.getPlotBox();f.xAxis&&f.xAxis.zoomEnabled&&f.group&&(f.group.attr(e),f.markerGroup&&(f.markerGroup.attr(e),f.markerGroup.clip(b?c.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(e))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=
203
- this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,e=a.chartX,f=a.chartY,d=this.zoomHor,g=this.zoomVert,h=b.plotLeft,p=b.plotTop,k=b.plotWidth,D=b.plotHeight,q,l=this.selectionMarker,r=this.mouseDownX,z=this.mouseDownY,t=c.panKey&&a[c.panKey+"Key"];l&&l.touch||(e<h?e=h:e>h+k&&(e=h+k),f<p?f=p:f>p+D&&(f=p+D),this.hasDragged=Math.sqrt(Math.pow(r-e,2)+Math.pow(z-f,2)),10<this.hasDragged&&
204
- (q=b.isInsidePlot(r-h,z-p),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&q&&!t&&!l&&(this.selectionMarker=l=b.renderer.rect(h,p,d?1:k,g?1:D,0).attr({fill:c.selectionMarkerFill||n("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),l&&d&&(e-=r,l.attr({width:Math.abs(e),x:(0<e?0:e)+r})),l&&g&&(e=f-z,l.attr({height:Math.abs(e),y:(0<e?0:e)+z})),q&&!l&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,e=this.hasPinched;if(this.selectionMarker){var f=
205
- {originalEvent:a,xAxis:[],yAxis:[]},h=this.selectionMarker,q=h.attr?h.attr("x"):h.x,n=h.attr?h.attr("y"):h.y,p=h.attr?h.attr("width"):h.width,G=h.attr?h.attr("height"):h.height,D;if(this.hasDragged||e)v(c.axes,function(c){if(c.zoomEnabled&&l(c.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var d=c.horiz,m="touchend"===a.type?c.minPixelPadding:0,g=c.toValue((d?q:n)+m),d=c.toValue((d?q+p:n+G)-m);f[c.coll].push({axis:c,min:Math.min(g,d),max:Math.max(g,d)});D=!0}}),D&&k(c,"selection",f,function(a){c.zoom(u(a,
206
- e?{animation:!1}:null))});g(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());e&&this.scaleGroups()}c&&g(c.index)&&(d(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=
207
- this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=C[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;l(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=
208
- !1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=y(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||
209
- this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(k(c.series,"click",u(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(u(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-f)&&k(b,"click",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,f=e.ownerDocument;
210
- e.onmousedown=function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=A(e,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=A(f,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=A(f,"touchend",b.onDocumentTouchEnd)))},
211
- destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}})(K);(function(a){var A=a.charts,y=a.each,C=a.extend,n=a.map,d=a.noop,l=a.pick;C(a.Pointer.prototype,{pinchTranslate:function(a,d,l,k,g,f){this.zoomHor&&
212
- this.pinchTranslateDirection(!0,a,d,l,k,g,f);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,l,k,g,f)},pinchTranslateDirection:function(a,d,l,k,g,f,h,q){var e=this.chart,b=a?"x":"y",c=a?"X":"Y",m="chart"+c,n=a?"width":"height",t=e["plot"+(a?"Left":"Top")],x,v,w=q||1,F=e.inverted,p=e.bounds[a?"h":"v"],G=1===d.length,D=d[0][m],J=l[0][m],H=!G&&d[1][m],r=!G&&l[1][m],z;l=function(){!G&&20<Math.abs(D-H)&&(w=q||Math.abs(J-r)/Math.abs(D-H));v=(t-J)/w+D;x=e["plot"+(a?"Width":"Height")]/w};l();d=v;d<p.min?
213
- (d=p.min,z=!0):d+x>p.max&&(d=p.max-x,z=!0);z?(J-=.8*(J-h[b][0]),G||(r-=.8*(r-h[b][1])),l()):h[b]=[J,r];F||(f[b]=v-t,f[n]=x);f=F?1/w:w;g[n]=x;g[b]=d;k[F?a?"scaleY":"scaleX":"scale"+c]=w;k["translate"+c]=f*t+(J-f*D)},pinch:function(a){var u=this,t=u.chart,k=u.pinchDown,g=a.touches,f=g.length,h=u.lastValidTouch,q=u.hasZoom,e=u.selectionMarker,b={},c=1===f&&(u.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||u.runChartClick),m={};1<f&&(u.initiated=!0);q&&u.initiated&&!c&&a.preventDefault();
214
- n(g,function(a){return u.normalize(a)});"touchstart"===a.type?(y(g,function(a,b){k[b]={chartX:a.chartX,chartY:a.chartY}}),h.x=[k[0].chartX,k[1]&&k[1].chartX],h.y=[k[0].chartY,k[1]&&k[1].chartY],y(t.axes,function(a){if(a.zoomEnabled){var b=t.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(l(a.options.min,a.dataMin)),f=a.toPixels(l(a.options.max,a.dataMax)),d=Math.max(e,f);b.min=Math.min(a.pos,Math.min(e,f)-c);b.max=Math.max(a.pos+a.len,d+c)}}),u.res=!0):u.followTouchMove&&1===f?this.runPointActions(u.normalize(a)):
215
- k.length&&(e||(u.selectionMarker=e=C({destroy:d,touch:!0},t.plotBox)),u.pinchTranslate(k,g,b,e,m,h),u.hasPinched=q,u.scaleGroups(b,m),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(d,n){var t=this.chart,k,g;if(t.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=t.index;1===d.touches.length?(d=this.normalize(d),(g=t.isInsidePlot(d.chartX-t.plotLeft,d.chartY-t.plotTop))&&!t.openMenu?(n&&this.runPointActions(d),"touchmove"===d.type&&(n=this.pinchDown,k=n[0]?
216
- 4<=Math.sqrt(Math.pow(n[0].chartX-d.chartX,2)+Math.pow(n[0].chartY-d.chartY,2)):!1),l(k,!0)&&this.pinch(d)):n&&this.reset()):2===d.touches.length&&this.pinch(d)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){A[a.hoverChartIndex]&&A[a.hoverChartIndex].pointer.drop(d)}})})(K);(function(a){var A=a.addEvent,y=a.charts,C=a.css,n=a.doc,d=a.extend,l=a.noop,v=a.Pointer,u=a.removeEvent,t=a.win,k=a.wrap;
217
- if(!a.hasTouch&&(t.PointerEvent||t.MSPointerEvent)){var g={},f=!!t.PointerEvent,h=function(){var e=[];e.item=function(a){return this[a]};a.objectEach(g,function(a){e.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return e},q=function(e,b,c,f){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(f(e),f=y[a.hoverChartIndex].pointer,f[b]({type:c,target:e.currentTarget,preventDefault:l,touches:h()}))};d(v.prototype,{onContainerPointerDown:function(a){q(a,"onContainerTouchStart",
218
- "touchstart",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){q(a,"onContainerTouchMove","touchmove",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){q(a,"onDocumentTouchEnd","touchend",function(a){delete g[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);
219
- a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(n,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});k(v.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&C(b.container,{"-ms-touch-action":"none","touch-action":"none"})});k(v.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(A)});k(v.prototype,"destroy",function(a){this.batchMSEvents(u);a.call(this)})}})(K);(function(a){var A=a.addEvent,
220
- y=a.css,C=a.discardElement,n=a.defined,d=a.each,l=a.fireEvent,v=a.isFirefox,u=a.marginNames,t=a.merge,k=a.pick,g=a.setAnimation,f=a.stableSort,h=a.win,q=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),A(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=A(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
221
- this.unchartrender())},setOptions:function(a){var b=k(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=t(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=k(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(t(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;k(b,!0)&&c.redraw();l(this,
222
- "afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");var c=this.options,e=a.legendItem,f=a.legendLine,d=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.color||g:g,k=a.options&&a.options.marker,q={fill:h};e&&e.css({fill:c,color:c});f&&f.attr({stroke:h});d&&(k&&d.isMarker&&(q=a.pointAttribs(),b||(q.stroke=q.fill=g)),d.attr(q));l(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){d(this.allItems,
223
- this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,f=e[0],e=e[1],d=a.checkbox;if((a=a.legendGroup)&&a.element)a[n(a.translateY)?"animate":"attr"]({translateX:b?f:this.legendWidth-f-2*c-4,translateY:e});d&&(d.x=f,d.y=e)},destroyItem:function(a){var b=a.checkbox;d(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&C(a.checkbox)},destroy:function(){function a(a){this[a]&&
224
- (this[a]=this[a].destroy())}d(this.getAllItems(),function(b){d(["legendItem","legendGroup"],a,b)});d("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,c=this.clipHeight||this.legendHeight,f=this.titleHeight;a&&(b=a.translateY,d(this.allItems,function(e){var d=e.checkbox,g;d&&(g=b+f+d.y+(this.scrollOffset||0)+3,y(d,{left:a.translateX+e.checkboxOffset+d.x-20+"px",top:g+"px",display:g>b-6&&g<b+c-6?
225
- "":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,c=a.title,f=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).css(c.style).add(this.group)),a=this.title.getBBox(),f=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:f}));this.titleHeight=f},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},
226
- renderItem:function(a){var b=this.chart,c=b.renderer,e=this.options,f=this.symbolWidth,d=e.symbolPadding,g=this.itemStyle,h=this.itemHiddenStyle,q="horizontal"===e.layout?k(e.itemDistance,20):0,l=!e.rtl,p=a.legendItem,G=!a.series,D=!G&&a.series.drawLegendSymbol?a.series:a,n=D.options,n=this.createCheckboxForItem&&n&&n.showCheckbox,q=f+d+q+(n?20:0),H=e.useHTML,r=a.options.className;p||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+a.colorIndex+(r?" "+r:
227
- "")+(G?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=p=c.text("",l?f+d:-d,this.baseline||0,H).css(t(a.visible?g:h)).attr({align:l?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(f=g.fontSize,this.fontMetrics=c.fontMetrics(f,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,D.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,p,H),n&&this.createCheckboxForItem(a));
228
- this.colorizeItem(a,a.visible);g.width||p.css({width:(e.itemWidth||e.width||b.spacingBox.width)-q});this.setText(a);b=p.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+q;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,c=this.padding,e="horizontal"===b.layout,f=a.itemHeight,d=b.itemMarginBottom||
229
- 0,g=this.itemMarginTop,h=e?k(b.itemDistance,20):0,q=b.width,l=q||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:a.itemWidth;e&&this.itemX-c+b>l&&(this.itemX=c,this.itemY+=g+this.lastLineHeight+d,this.lastLineHeight=0);this.lastItemY=g+this.itemY+d;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=g+f+d,this.lastLineHeight=f);this.offsetWidth=q||Math.max((e?this.itemX-c-(a.checkbox?
230
- 0:h):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var c=b&&b.options;b&&k(c.showInLegend,n(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});l(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,e=this.options,
231
- f=this.getAlignment();f&&d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,g){d.test(f)&&!n(a[g])&&(c[u[g]]=Math.max(c[u[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+k(e.margin,12)+b[g]+(0===g&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var e=this.chart,b=[],c="left"===this.options.align;d(this.allItems,function(f){var d,g;d=c;f.xAxis&&f.points&&(f.xAxis.options.reversed&&(d=
232
- !d),d=a.find(d?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),g=f.legendGroup.getBBox().height,b.push({target:f.visible?d.plotY-.3*g:e.plotHeight,size:g,item:f}))},this);a.distribute(b,e.plotHeight);d(b,function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,c=this.group,g,h,k,q=this.box,l=this.options,w=this.padding;this.itemX=w;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;c||(this.group=
233
- c=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(c),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();g=this.getAllItems();f(g,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});l.reversed&&g.reverse();this.allItems=g;this.display=h=!!g.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d(g,this.renderItem,this);d(g,this.layoutItem,this);g=(l.width||this.offsetWidth)+w;
234
- k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);k+=w;q||(this.box=q=b.rect().addClass("highcharts-legend-box").attr({r:l.borderRadius}).add(c),q.isNew=!0);q.attr({stroke:l.borderColor,"stroke-width":l.borderWidth||0,fill:l.backgroundColor||"none"}).shadow(l.shadow);0<g&&0<k&&(q[q.isNew?"attr":"animate"](q.crisp.call({},{x:0,y:0,width:g,height:k},q.strokeWidth())),q.isNew=!1);q[h?"show":"hide"]();this.legendWidth=g;this.legendHeight=k;h&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&
235
- (b=t(b,{y:b.y+a.titleOffset+a.options.title.margin})),c.align(t(l,{width:g,height:k,verticalAlign:this.proximate?"top":l.verticalAlign}),!0,b));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,c=this.chart,e=c.renderer,f=this.options,g=f.y,h=this.padding,c=c.spacingBox.height+("top"===f.verticalAlign?-g:g)-h,g=f.maxHeight,q,l=this.clipRect,n=f.navigation,p=k(n.animation,!0),G=n.arrowSize||12,D=this.nav,t=this.pages,H,r=this.allItems,z=function(a){"number"===typeof a?l.attr({height:a}):
236
- l&&(b.clipRect=l.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+h+"px,9999px,"+(h+a)+"px,0)":"auto")};"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(c/=2);g&&(c=Math.min(c,g));t.length=0;a>c&&!1!==n.enabled?(this.clipHeight=q=Math.max(c-20-this.titleHeight-h,0),this.currentPage=k(this.currentPage,1),this.fullHeight=a,d(r,function(a,b){var c=a._legendItemPos[1],e=Math.round(a.legendItem.getBBox().height),f=t.length;if(!f||c-t[f-1]>q&&
237
- (H||c)!==t[f-1])t.push(H||c),f++;a.pageIx=f-1;H&&(r[b-1].pageIx=f-1);b===r.length-1&&c+e-t[f-1]>q&&(t.push(c),a.pageIx=f);c!==H&&(H=c)}),l||(l=b.clipRect=e.clipRect(0,h,9999,0),b.contentGroup.clip(l)),z(q),D||(this.nav=D=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,G,G).on("click",function(){b.scroll(-1,p)}).add(D),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(D),this.down=e.symbol("triangle-down",0,0,G,G).on("click",function(){b.scroll(1,
238
- p)}).add(D)),b.scroll(0),a=c):D&&(z(),this.nav=D.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,e=c.length;a=this.currentPage+a;var f=this.clipHeight,d=this.options.navigation,h=this.pager,k=this.padding;a>e&&(a=e);0<a&&(void 0!==b&&g(b,this.chart),this.nav.attr({translateX:k,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),
239
- h.attr({text:a+"/"+e}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?d.inactiveColor:d.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===e?d.inactiveColor:d.activeColor}).css({cursor:a===e?"default":"pointer"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin=
240
- {drawRectangle:function(a,b){var c=a.symbolHeight,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-c)/2:0,a.baseline-c+1,e?c:a.symbolWidth,c,k(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,e=a.symbolWidth,f=a.symbolHeight,d=f/2,g=this.chart.renderer,h=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var q;q={"stroke-width":b.lineWidth||0};b.dashStyle&&
241
- (q.dashstyle=b.dashStyle);this.legendLine=g.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(q).add(h);c&&!1!==c.enabled&&e&&(b=Math.min(k(c.radius,d),d),0===this.symbol.indexOf("url")&&(c=t(c,{width:f,height:f}),b=0),this.legendSymbol=c=g.symbol(this.symbol,e/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(h),c.isMarker=!0)}};(/Trident\/7\.0/.test(h.navigator.userAgent)||v)&&q(a.Legend.prototype,"positionItem",function(a,b){var c=this,e=function(){b._legendItemPos&&a.call(c,b)};e();
242
- setTimeout(e)})})(K);(function(a){var A=a.addEvent,y=a.animate,C=a.animObject,n=a.attr,d=a.doc,l=a.Axis,v=a.createElement,u=a.defaultOptions,t=a.discardElement,k=a.charts,g=a.css,f=a.defined,h=a.each,q=a.extend,e=a.find,b=a.fireEvent,c=a.grep,m=a.isNumber,B=a.isObject,I=a.isString,x=a.Legend,M=a.marginNames,w=a.merge,F=a.objectEach,p=a.Pointer,G=a.pick,D=a.pInt,J=a.removeEvent,H=a.seriesTypes,r=a.splat,z=a.syncTimeout,N=a.win,S=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,
243
- b,c){return new S(a,b,c)};q(S.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(I(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,e){var f,d,p=c.series,g=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;f=w(u,c);for(d in f.plotOptions)f.plotOptions[d].tooltip=g[d]&&w(g[d].tooltip)||void 0;f.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;f.series=c.series=p;this.userOptions=c;var h=
244
- f.chart,r=h.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=e;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.time=c.time&&a.keys(c.time).length?new a.Time(c.time):a.time;this.hasCartesianSeries=h.showAxes;var m=this;m.index=k.length;k.push(m);a.chartCount++;r&&F(r,function(a,b){A(m,b,a)});m.xAxis=[];m.yAxis=[];m.pointCount=m.colorCounter=m.symbolCounter=0;b(m,"afterInit");m.firstRender()})},initSeries:function(b){var c=this.options.chart;
245
- (c=H[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var e=c?b:a;a=c?a:b;return 0<=e&&e<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,"beforeRedraw");var e=this.axes,f=this.series,d=this.pointer,p=this.legend,g=this.isDirtyLegend,k,r,m=this.hasCartesianSeries,l=this.isDirtyBox,D,G=this.renderer,
246
- n=G.isHidden(),H=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);n&&this.temporaryDisplay();this.layOutTitles();for(c=f.length;c--;)if(D=f[c],D.options.stacking&&(k=!0,D.isDirty)){r=!0;break}if(r)for(c=f.length;c--;)D=f[c],D.options.stacking&&(D.isDirty=!0);h(f,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),g=!0);a.isDirtyData&&b(a,"updatedData")});g&&p.options.enabled&&(p.render(),this.isDirtyLegend=!1);k&&this.getStacks();m&&h(e,function(a){a.updateNames();
247
- a.setScale()});this.getMargins();m&&(h(e,function(a){a.isDirty&&(l=!0)}),h(e,function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,H.push(function(){b(a,"afterSetExtremes",q(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(l||k)&&a.redraw()}));l&&this.drawChartBox();b(this,"predraw");h(f,function(a){(l||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});d&&d.reset(!0);G.draw();b(this,"redraw");b(this,"render");n&&this.temporaryDisplay(!0);h(H,function(a){a.call()})},get:function(a){function b(b){return b.id===
248
- a||b.options&&b.options.id===a}var c,f=this.series,d;c=e(this.axes,b)||e(this.series,b);for(d=0;!c&&d<f.length;d++)c=e(f[d].points||[],b);return c},getAxes:function(){var a=this,c=this.options,e=c.xAxis=r(c.xAxis||{}),c=c.yAxis=r(c.yAxis||{});b(this,"getAxes");h(e,function(a,b){a.index=b;a.isX=!0});h(c,function(a,b){a.index=b});e=e.concat(c);h(e,function(b){new l(a,b)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];h(this.series,function(b){a=a.concat(c(b.data||[],function(a){return a.selected}))});
249
- return a},getSelectedSeries:function(){return c(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var e=this,f=e.options,d;d=f.title=w({style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,a);f=f.subtitle=w({style:{color:"#666666"}},f.subtitle,b);h([["title",a,d],["subtitle",b,f]],function(a,b){var c=a[0],f=e[c],d=a[1];a=a[2];f&&d&&(e[c]=f=f.destroy());a&&!f&&(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),
250
- e[c].update=function(a){e.setTitle(!b&&a,b&&a)},e[c].css(a.style))});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,e=this.renderer,f=this.spacingBox;h(["title","subtitle"],function(a){var c=this[a],d=this.options[a];a="title"===a?-3:d.verticalAlign?0:b+2;var p;c&&(p=d.style.fontSize,p=e.fontMetrics(p,c).b,c.css({width:(d.width||f.width+d.widthAdjust)+"px"}).align(q({y:a+p},d),!1,"spacingBox"),d.floating||d.verticalAlign||(b=Math.ceil(b+c.getBBox(d.useHTML).height)))},this);c=this.titleOffset!==
251
- b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&G(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,e=this.renderTo;f(c)||(this.containerWidth=a.getStyle(e,"width"));f(b)||(this.containerHeight=a.getStyle(e,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},
252
- temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(d.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){d.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,d.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&
253
- (b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===d.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,e=this.options,f=e.chart,p,g;c=this.renderTo;var h=a.uniqueKey(),r;c||(this.renderTo=c=f.renderTo);I(c)&&(this.renderTo=c=d.getElementById(c));c||a.error(13,!0);p=D(n(c,"data-highcharts-chart"));m(p)&&k[p]&&k[p].hasRendered&&k[p].destroy();n(c,"data-highcharts-chart",
254
- this.index);c.innerHTML="";f.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();p=this.chartWidth;g=this.chartHeight;r=q({position:"relative",overflow:"hidden",width:p+"px",height:g+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},f.style);this.container=c=v("div",{id:h},r,c);this._cursor=c.style.cursor;this.renderer=new (a[f.renderer]||a.Renderer)(c,p,g,null,f.forExport,e.exporting&&e.exporting.allowHTML);this.setClassName(f.className);
255
- this.renderer.setStyle(f.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,e=this.margin,d=this.titleOffset;this.resetMargins();d&&!f(e[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(e,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&h(a.axes,function(a){a.visible&&
256
- a.getOffset()});h(M,function(e,d){f(c[d])||(a[e]+=b[d])});a.setChartSize()},reflow:function(b){var c=this,e=c.options.chart,p=c.renderTo,g=f(e.width)&&f(e.height),h=e.width||a.getStyle(p,"width"),e=e.height||a.getStyle(p,"height"),p=b?b.target:N;if(!g&&!c.isPrinting&&h&&e&&(p===N||p===d)){if(h!==c.containerWidth||e!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=z(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=h;c.containerHeight=e}},setReflow:function(a){var b=
257
- this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=A(N,"resize",function(a){b.reflow(a)}),A(this,"destroy",this.unbindReflow))},setSize:function(c,e,f){var d=this,p=d.renderer;d.isResizing+=1;a.setAnimation(f,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;void 0!==c&&(d.options.chart.width=c);void 0!==e&&(d.options.chart.height=e);d.getChartSize();c=p.globalAnimation;(c?y:g)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+
258
- "px"},c);d.setChartSize(!0);p.setSize(d.chartWidth,d.chartHeight,f);h(d.axes,function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(f);d.oldChartHeight=null;b(d,"resize");z(function(){d&&b(d,"endResize",null,function(){--d.isResizing})},C(c).duration)},setChartSize:function(a){var c=this.inverted,e=this.renderer,f=this.chartWidth,d=this.chartHeight,p=this.options.chart,g=this.spacing,k=this.clipOffset,r,m,q,l;this.plotLeft=r=Math.round(this.plotLeft);
259
- this.plotTop=m=Math.round(this.plotTop);this.plotWidth=q=Math.max(0,Math.round(f-r-this.marginRight));this.plotHeight=l=Math.max(0,Math.round(d-m-this.marginBottom));this.plotSizeX=c?l:q;this.plotSizeY=c?q:l;this.plotBorderWidth=p.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:g[3],y:g[0],width:f-g[3]-g[1],height:d-g[0]-g[2]};this.plotBox=e.plotBox={x:r,y:m,width:q,height:l};f=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(f,k[3])/2);e=Math.ceil(Math.max(f,k[0])/2);this.clipBox={x:c,
260
- y:e,width:Math.floor(this.plotSizeX-Math.max(f,k[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(f,k[2])/2-e))};a||h(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;h(["margin","spacing"],function(c){var e=b[c],f=B(e)?e:[e,e,e,e];h(["Top","Right","Bottom","Left"],function(e,d){a[c][d]=G(b[c+e],f[d])})});h(M,function(b,c){a[b]=G(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,
261
- 0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,e=this.chartWidth,f=this.chartHeight,d=this.chartBackground,p=this.plotBackground,g=this.plotBorder,h,k=this.plotBGImage,r=a.backgroundColor,m=a.plotBackgroundColor,q=a.plotBackgroundImage,l,D=this.plotLeft,G=this.plotTop,n=this.plotWidth,H=this.plotHeight,w=this.plotBox,t=this.clipRect,z=this.clipBox,x="animate";d||(this.chartBackground=d=c.rect().addClass("highcharts-background").add(),x="attr");h=a.borderWidth||
262
- 0;l=h+(a.shadow?8:0);r={fill:r||"none"};if(h||d["stroke-width"])r.stroke=a.borderColor,r["stroke-width"]=h;d.attr(r).shadow(a.shadow);d[x]({x:l/2,y:l/2,width:e-l-h%2,height:f-l-h%2,r:a.borderRadius});x="animate";p||(x="attr",this.plotBackground=p=c.rect().addClass("highcharts-plot-background").add());p[x](w);p.attr({fill:m||"none"}).shadow(a.plotShadow);q&&(k?k.animate(w):this.plotBGImage=c.image(q,D,G,n,H).add());t?t.animate({width:z.width,height:z.height}):this.clipRect=c.clipRect(z);x="animate";
263
- g||(x="attr",this.plotBorder=g=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());g.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});g[x](g.crisp({x:D,y:G,width:n,height:H},-g.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,f,d;h(["inverted","angular","polar"],function(p){c=H[b.type||b.defaultSeriesType];d=b[p]||c&&c.prototype[p];for(f=e&&e.length;!d&&f--;)(c=
264
- H[e[f].type])&&c.prototype[p]&&(d=!0);a[p]=d})},linkSeries:function(){var a=this,c=a.series;h(c,function(a){a.linkedSeries.length=0});h(c,function(b){var c=b.options.linkedTo;I(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=G(b.options.visible,c.options.visible,b.visible))});b(this,"afterLinkSeries")},renderSeries:function(){h(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;
265
- b.items&&h(b.items,function(c){var e=q(b.style,c.style),f=D(e.left)+a.plotLeft,d=D(e.top)+a.plotTop+12;delete e.left;delete e.top;a.renderer.text(c.html,f,d).attr({zIndex:2}).css(e).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,e,f,d;this.setTitle();this.legend=new x(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight=Math.max(this.plotHeight-21,0);h(a,function(a){a.setScale()});this.getAxisMargins();
266
- f=1.1<c/this.plotWidth;d=1.05<e/this.plotHeight;if(f||d)h(a,function(a){(a.horiz&&f||!a.horiz&&d)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&h(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=w(!0,this.options.credits,a);a.enabled&&
267
- !this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var c=this,e=c.axes,f=c.series,d=c.container,p,g=d&&d.parentNode;b(c,"destroy");c.renderer.forExport?a.erase(k,c):k[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");
268
- J(c);for(p=e.length;p--;)e[p]=e[p].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(p=f.length;p--;)f[p]=f[p].destroy();h("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});d&&(d.innerHTML="",J(d),g&&t(d));F(c,function(a,b){delete c[b]})},firstRender:function(){var a=this,c=a.options;if(!a.isReadyToRender||
269
- a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();h(c.series||[],function(b){a.initSeries(b)});a.linkSeries();b(a,"beforeRender");p&&(a.pointer=new p(a,c));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){h([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");f(this.index)&&this.setReflow(this.options.chart.reflow);
270
- this.onload=null}})})(K);(function(a){var A,y=a.each,C=a.extend,n=a.erase,d=a.fireEvent,l=a.format,v=a.isArray,u=a.isNumber,t=a.pick,k=a.removeEvent;a.Point=A=function(){};a.Point.prototype={init:function(a,f,h){this.series=a;this.color=a.color;this.applyOptions(f,h);a.options.colorByPoint?(f=a.options.colors||a.chart.options.colors,this.color=this.color||f[a.colorCounter],f=f.length,h=a.colorCounter,a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):h=a.colorIndex;this.colorIndex=t(this.colorIndex,
271
- h);a.chart.pointCount++;d(this,"afterInit");return this},applyOptions:function(a,f){var d=this.series,g=d.options.pointValKey||d.pointValKey;a=A.prototype.optionsToObject.call(this,a);C(this,a);this.options=this.options?C(this.options,a):a;a.group&&delete this.group;g&&(this.y=this[g]);this.isNull=t(this.isValid&&!this.isValid(),null===this.x||!u(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===f&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));void 0===this.x&&d&&
272
- (this.x=void 0===f?d.autoIncrement(this):f);return this},setNestedProperty:function(d,f,h){h=h.split(".");a.reduce(h,function(d,e,b,c){d[e]=c.length-1===b?f:a.isObject(d[e],!0)?d[e]:{};return d[e]},d);return d},optionsToObject:function(d){var f={},g=this.series,k=g.options.keys,e=k||g.pointArrayMap||["y"],b=e.length,c=0,m=0;if(u(d)||null===d)f[e[0]]=d;else if(v(d))for(!k&&d.length>b&&(g=typeof d[0],"string"===g?f.name=d[0]:"number"===g&&(f.x=d[0]),c++);m<b;)k&&void 0===d[c]||(0<e[m].indexOf(".")?
273
- a.Point.prototype.setNestedProperty(f,d[c],e[m]):f[e[m]]=d[c]),c++,m++;else"object"===typeof d&&(f=d,d.dataLabels&&(g._hasPointLabels=!0),d.marker&&(g._hasPointMarkers=!0));return f},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?
274
- " "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,f=a.zones,a=a.zoneAxis||"y",d=0,k;for(k=f[d];this[a]>=k.value;)k=f[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=k&&k.color&&!this.options.color?k.color:this.nonZonedColor;return k},destroy:function(){var a=this.series.chart,f=a.hoverPoints,d;a.pointCount--;f&&(this.setState(),n(f,this),f.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)k(this),
275
- this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(d in this)this[d]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],f,d=6;d--;)f=a[d],this[f]&&(this[f]=this[f].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var f=
276
- this.series,d=f.tooltipOptions,g=t(d.valueDecimals,""),e=d.valuePrefix||"",b=d.valueSuffix||"";y(f.pointArrayMap||["y"],function(c){c="{point."+c;if(e||b)a=a.replace(RegExp(c+"}","g"),e+c+"}"+b);a=a.replace(RegExp(c+"}","g"),c+":,."+g+"f}")});return l(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,f,h){var g=this,e=this.series.options;(e.point.events[a]||g.options&&g.options.events&&g.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(h=function(a){g.select&&
277
- g.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});d(this,a,f,h)},visible:!0}})(K);(function(a){var A=a.addEvent,y=a.animObject,C=a.arrayMax,n=a.arrayMin,d=a.correctFloat,l=a.defaultOptions,v=a.defaultPlotOptions,u=a.defined,t=a.each,k=a.erase,g=a.extend,f=a.fireEvent,h=a.grep,q=a.isArray,e=a.isNumber,b=a.isString,c=a.merge,m=a.objectEach,B=a.pick,I=a.removeEvent,x=a.splat,M=a.SVGElement,w=a.syncTimeout,F=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},
278
- events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,
279
- pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,e,d=a.series,p;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();g(c,
280
- {name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;m(e,function(a,b){A(c,b,a)});if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();t(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);d.length&&(p=d[d.length-1]);c._i=B(p&&p._i,-1)+1;a.orderSeries(this.insert(d));f(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(e(b)){for(c=
281
- a.length;c--;)if(b>=B(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return B(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,f;t(b.axisTypes||[],function(d){t(e[d],function(a){f=a.options;if(c[d]===f.index||void 0!==c[d]&&c[d]===f.id||void 0===c[d]&&0===f.index)b.insert(a.series),b[d]=a,a.isDirty=!0});b[d]||b.optionalAxis===d||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,f=arguments,d=e(b)?function(e){var f=
282
- "y"===e&&c.toYData?c.toYData(a):a[e];c[e+"Data"][b]=f}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(f,2))};t(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,e=a.pointIntervalUnit,f=this.chart.time,b=B(b,a.pointStart,0);this.pointInterval=c=B(this.pointInterval,a.pointInterval,1);e&&(a=new f.Date(b),"day"===e?f.set("Date",a,f.get("Date",a)+c):"month"===e?f.set("Month",a,f.get("Month",a)+c):"year"===e&&f.set("FullYear",a,f.get("FullYear",
283
- a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,e=b.options,d=e.plotOptions,p=(b.userOptions||{}).plotOptions||{},g=d[this.type];this.userOptions=a;b=c(g,d.series,a);this.tooltipOptions=c(l.tooltip,l.plotOptions.series&&l.plotOptions.series.tooltip,l.plotOptions[this.type].tooltip,e.tooltip.userOptions,d.series&&d.series.tooltip,d[this.type].tooltip,a.tooltip);this.stickyTracking=B(a.stickyTracking,p[this.type]&&p[this.type].stickyTracking,p.series&&p.series.stickyTracking,
284
- this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===g.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});f(this,"afterSetOptions",{options:b});return b},getName:function(){return this.name||
285
- "Series "+(this.index+1)},getCyclic:function(a,b,c){var e,f=this.chart,d=this.userOptions,p=a+"Index",g=a+"Counter",h=c?c.length:B(f.options.chart[a+"Count"],f[a+"Count"]);b||(e=B(d[p],d["_"+p]),u(e)||(f.series.length||(f[g]=0),d["_"+p]=e=f[g]%h,f[g]+=1),c&&(b=c[e]));void 0!==e&&(this[p]=e);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",
286
- this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,f=this.points,d=[],p,g,h,k=this.requireSorting;t(b,function(b){var g;g=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;e(g)&&(g=a.inArray(g,this.xData,h),-1===g?d.push(b):b!==c.data[g]?(f[g].update(b,!1,null,!1),f[g].touched=!0,k&&(h=g)):f[g]&&(f[g].touched=!0),p=!0)},this);if(p)for(b=f.length;b--;)g=f[b],g.touched||g.remove(!1),
287
- g.touched=!1;else if(b.length===f.length)t(b,function(a,b){f[b].update&&a!==c.data[b]&&f[b].update(a,!1,null,!1)});else return!1;t(d,function(a){this.addPoint(a,!1)},this);return!0},setData:function(c,f,d,g){var p=this,h=p.points,k=h&&h.length||0,m,l=p.options,G=p.chart,n=null,w=p.xAxis,D=l.turboThreshold,x=this.xData,F=this.yData,u=(m=p.pointArrayMap)&&m.length,J;c=c||[];m=c.length;f=B(f,!0);!1!==g&&m&&k&&!p.cropped&&!p.hasGroupedData&&p.visible&&(J=this.updateData(c));if(!J){p.xIncrement=null;p.colorCounter=
288
- 0;t(this.parallelArrays,function(a){p[a+"Data"].length=0});if(D&&m>D){for(d=0;null===n&&d<m;)n=c[d],d++;if(e(n))for(d=0;d<m;d++)x[d]=this.autoIncrement(),F[d]=c[d];else if(q(n))if(u)for(d=0;d<m;d++)n=c[d],x[d]=n[0],F[d]=n.slice(1,u+1);else for(d=0;d<m;d++)n=c[d],x[d]=n[0],F[d]=n[1];else a.error(12)}else for(d=0;d<m;d++)void 0!==c[d]&&(n={series:p},p.pointClass.prototype.applyOptions.apply(n,[c[d]]),p.updateParallelArrays(n,d));F&&b(F[0])&&a.error(14,!0);p.data=[];p.options.data=p.userOptions.data=
289
- c;for(d=k;d--;)h[d]&&h[d].destroy&&h[d].destroy();w&&(w.minRange=w.userMinRange);p.isDirty=G.isDirtyBox=!0;p.isDirtyData=!!h;d=!1}"point"===l.legendType&&(this.processData(),this.generatePoints());f&&G.redraw(d)},processData:function(b){var c=this.xData,e=this.yData,f=c.length,d;d=0;var p,g,h=this.xAxis,k,m=this.options;k=m.cropThreshold;var l=this.getExtremesFromAll||m.getExtremesFromAll,q=this.isCartesian,m=h&&h.val2lin,n=h&&h.isLog,w=this.requireSorting,x,t;if(q&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&
290
- !b)return!1;h&&(b=h.getExtremes(),x=b.min,t=b.max);if(q&&this.sorted&&!l&&(!k||f>k||this.forceCrop))if(c[f-1]<x||c[0]>t)c=[],e=[];else if(c[0]<x||c[f-1]>t)d=this.cropData(this.xData,this.yData,x,t),c=d.xData,e=d.yData,d=d.start,p=!0;for(k=c.length||1;--k;)f=n?m(c[k])-m(c[k-1]):c[k]-c[k-1],0<f&&(void 0===g||f<g)?g=f:0>f&&w&&(a.error(15),w=!1);this.cropped=p;this.cropStart=d;this.processedXData=c;this.processedYData=e;this.closestPointRange=g},cropData:function(a,b,c,e,f){var d=a.length,p=0,g=d,h;f=
291
- B(f,this.cropShoulder,1);for(h=0;h<d;h++)if(a[h]>=c){p=Math.max(0,h-f);break}for(c=h;c<d;c++)if(a[c]>e){g=c+f;break}return{xData:a.slice(p,g),yData:b.slice(p,g),start:p,end:g}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,e,f=this.processedXData,d=this.processedYData,g=this.pointClass,h=f.length,k=this.cropStart||0,m,l=this.hasGroupedData,a=a.keys,q,n=[],w;c||l||(c=[],c.length=b.length,c=this.data=c);a&&l&&(this.options.keys=!1);for(w=0;w<h;w++)m=k+w,l?(q=(new g).init(this,[f[w]].concat(x(d[w]))),
292
- q.dataGroup=this.groupMap[w]):(q=c[m])||void 0===b[m]||(c[m]=q=(new g).init(this,b[m],f[w])),q&&(q.index=m,n[w]=q);this.options.keys=a;if(c&&(h!==(e=c.length)||l))for(w=0;w<e;w++)w!==k||l||(w+=h),c[w]&&(c[w].destroyElements(),c[w].plotX=void 0);this.data=c;this.points=n},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,f,d=[],p=0;f=this.xAxis.getExtremes();var g=f.min,h=f.max,k,m,l=this.requireSorting?1:0,w,x;a=a||this.stackedYData||this.processedYData||[];f=a.length;for(x=0;x<f;x++)if(m=
293
- c[x],w=a[x],k=(e(w,!0)||q(w))&&(!b.positiveValuesOnly||w.length||0<w),m=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[x+l]||m)>=g&&(c[x-l]||m)<=h,k&&m)if(k=w.length)for(;k--;)"number"===typeof w[k]&&(d[p++]=w[k]);else d[p++]=w;this.dataMin=n(d);this.dataMax=C(d)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,g=c.categories,h=this.yAxis,k=this.points,m=k.length,l=!!this.modifyValue,q=a.pointPlacement,
294
- w="between"===q||e(q),n=a.threshold,x=a.startFromThreshold?n:0,t,F,v,I,M=Number.MAX_VALUE;"between"===q&&(q=.5);e(q)&&(q*=B(a.pointRange||c.pointRange));for(a=0;a<m;a++){var y=k[a],C=y.x,A=y.y;F=y.low;var K=b&&h.stacks[(this.negStacks&&A<(x?0:n)?"-":"")+this.stackKey],V;h.positiveValuesOnly&&null!==A&&0>=A&&(y.isNull=!0);y.plotX=t=d(Math.min(Math.max(-1E5,c.translate(C,0,0,0,1,q,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&K&&K[C]&&(I=this.getStackIndicator(I,C,this.index),V=K[C],A=V.points[I.key],
295
- F=A[0],A=A[1],F===x&&I.key===K[C].base&&(F=B(e(n)&&n,h.min)),h.positiveValuesOnly&&0>=F&&(F=null),y.total=y.stackTotal=V.total,y.percentage=V.total&&y.y/V.total*100,y.stackY=A,V.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=u(F)?Math.min(Math.max(-1E5,h.translate(F,0,1,0,1)),1E5):null;l&&(A=this.modifyValue(A,y));y.plotY=F="number"===typeof A&&Infinity!==A?Math.min(Math.max(-1E5,h.translate(A,0,1,0,1)),1E5):void 0;y.isInside=void 0!==F&&0<=F&&F<=h.len&&0<=t&&t<=c.len;y.clientX=w?d(c.translate(C,
296
- 0,0,0,1,q)):t;y.negative=y.y<(n||0);y.category=g&&void 0!==g[y.x]?g[y.x]:y.x;y.isNull||(void 0!==v&&(M=Math.min(M,Math.abs(t-v))),v=t);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=M;f(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return h(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,e=b.renderer,f=b.inverted,d=this.clipBox,g=d||b.clipBox,p=this.sharedClipKey||
297
- ["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),h=b[p],k=b[p+"m"];h||(a&&(g.width=0,f&&(g.x=b.plotSizeX),b[p+"m"]=k=e.clipRect(f?b.plotSizeX+99:-99,f?-b.plotLeft:-b.plotTop,99,f?b.chartWidth:b.chartHeight)),b[p]=h=e.clipRect(g),h.count={length:0});a&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1);!1!==c.clip&&(this.group.clip(a||d?h:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=p);a||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),
298
- 0===h.count.length&&p&&b[p]&&(d||(b[p]=b[p].destroy()),b[p+"m"]&&(b[p+"m"]=b[p+"m"].destroy())))},animate:function(a){var b=this.chart,c=y(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&&a.animate({width:b.plotSizeX,x:0},c),b[e+"m"]&&b[e+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e,f,d,g=this.options.marker,
299
- h,k,m,l=this[this.specialGroup]||this.markerGroup,q,w=B(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)e=a[c],d=e.graphic,h=e.marker||{},k=!!e.marker,f=w&&void 0===h.enabled||h.enabled,m=e.isInside,f&&!e.isNull?(f=B(h.symbol,this.symbol),q=this.markerAttribs(e,e.selected&&"select"),d?d[m?"show":"hide"](!0).animate(q):m&&(0<q.width||e.hasImage)&&(e.graphic=d=b.renderer.symbol(f,q.x,q.y,q.width,
300
- q.height,k?h:g).add(l)),d&&d.attr(this.pointAttribs(e,e.selected&&"select")),d&&d.addClass(e.getClassName(),!0)):d&&(e.graphic=d.destroy())},markerAttribs:function(a,b){var c=this.options.marker,e=a.marker||{},f=e.symbol||c.symbol,d=B(e.radius,c.radius);b&&(c=c.states[b],b=e.states&&e.states[b],d=B(b&&b.radius,c&&c.radius,d+(c&&c.radiusPlus||0)));a.hasImage=f&&0===f.indexOf("url");a.hasImage&&(d=0);a={x:Math.floor(a.plotX)-d,y:a.plotY-d};d&&(a.width=a.height=2*d);return a},pointAttribs:function(a,
301
- b){var c=this.options.marker,e=a&&a.options,f=e&&e.marker||{},d=this.color,g=e&&e.color,p=a&&a.color,e=B(f.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;d=g||a||p||d;a=f.fillColor||c.fillColor||d;d=f.lineColor||c.lineColor||d;b&&(c=c.states[b],b=f.states&&f.states[b]||{},e=B(b.lineWidth,c.lineWidth,e+B(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,d=b.lineColor||c.lineColor||d);return{stroke:d,"stroke-width":e,fill:a}},destroy:function(){var b=this,c=b.chart,e=/AppleWebKit\/533/.test(F.navigator.userAgent),
302
- d,g,h=b.data||[],q,l;f(b,"destroy");I(b);t(b.axisTypes||[],function(a){(l=b[a])&&l.series&&(k(l.series,b),l.isDirty=l.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(g=h.length;g--;)(q=h[g])&&q.destroy&&q.destroy();b.points=null;a.clearTimeout(b.animationTimeout);m(b,function(a,b){a instanceof M&&!a.survive&&(d=e&&"group"===b?"hide":"destroy",a[d]())});c.hoverSeries===b&&(c.hoverSeries=null);k(c.series,b);c.orderSeries();m(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,
303
- c){var e=this,f=e.options,d=f.step,g,h=[],p=[],k;a=a||e.points;(g=a.reversed)&&a.reverse();(d={right:1,center:2}[d]||d&&3)&&g&&(d=4-d);!f.connectNulls||b||c||(a=this.getValidPoints(a));t(a,function(g,m){var l=g.plotX,q=g.plotY,r=a[m-1];(g.leftCliff||r&&r.rightCliff)&&!c&&(k=!0);g.isNull&&!u(b)&&0<m?k=!f.connectNulls:g.isNull&&!b?k=!0:(0===m||k?m=["M",g.plotX,g.plotY]:e.getPointSpline?m=e.getPointSpline(a,g,m):d?(m=1===d?["L",r.plotX,q]:2===d?["L",(r.plotX+l)/2,r.plotY,"L",(r.plotX+l)/2,q]:["L",l,
304
- r.plotY],m.push("L",l,q)):m=["L",l,q],p.push(g.x),d&&(p.push(g.x),2===d&&p.push(g.x)),h.push.apply(h,m),k=!1)});h.xMap=p;return e.graphPath=h},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]],e=a.getZonesGraphs(e);t(e,function(e,f){var d=e[0],g=a[d];g?(g.endX=a.preventGraphAnimation?null:c.xMap,g.animate({d:c})):c.length&&(a[d]=a.chart.renderer.path(c).addClass(e[1]).attr({zIndex:1}).add(a.group),
305
- g={stroke:e[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},e[3]?g.dashstyle=e[3]:"square"!==b.linecap&&(g["stroke-linecap"]=g["stroke-linejoin"]="round"),g=a[d].attr(g).shadow(2>f&&b.shadow));g&&(g.startX=c.xMap,g.isArea=c.isArea)})},getZonesGraphs:function(a){t(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||""),b.color||this.color,b.dashStyle||this.options.dashStyle])},this);return a},applyZones:function(){var a=this,
306
- b=this.chart,c=b.renderer,e=this.zones,f,d,g=this.clips||[],h,k=this.graph,m=this.area,l=Math.max(b.chartWidth,b.chartHeight),q=this[(this.zoneAxis||"y")+"Axis"],w,n,x=b.inverted,F,u,v,I,M=!1;e.length&&(k||m)&&q&&void 0!==q.min&&(n=q.reversed,F=q.horiz,k&&!this.showLine&&k.hide(),m&&m.hide(),w=q.getExtremes(),t(e,function(e,p){f=n?F?b.plotWidth:0:F?0:q.toPixels(w.min);f=Math.min(Math.max(B(d,f),0),l);d=Math.min(Math.max(Math.round(q.toPixels(B(e.value,w.max),!0)),0),l);M&&(f=d=q.toPixels(w.max));
307
- u=Math.abs(f-d);v=Math.min(f,d);I=Math.max(f,d);q.isXAxis?(h={x:x?I:v,y:0,width:u,height:l},F||(h.x=b.plotHeight-h.x)):(h={x:0,y:x?I:v,width:l,height:u},F&&(h.y=b.plotWidth-h.y));x&&c.isVML&&(h=q.isXAxis?{x:0,y:n?v:I,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[p]?g[p].animate(h):(g[p]=c.clipRect(h),k&&a["zone-graph-"+p].clip(g[p]),m&&a["zone-area-"+p].clip(g[p]));M=e.value>w.max;a.resetZones&&0===d&&(d=void 0)}),this.clips=g)},invertGroups:function(a){function b(){t(["group",
308
- "markerGroup"],function(b){c[b]&&(e.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,e=c.chart,f;c.xAxis&&(f=A(e,"resize",b),A(c,"destroy",f),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,f){var d=this[a],g=!d;g&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(f));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(u(this.colorIndex)?"highcharts-color-"+
309
- this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,e=a.options,d=!!a.animate&&b.renderer.isSVG&&y(e.animation).duration,g=a.visible?"inherit":
310
- "hidden",h=e.zIndex,k=a.hasRendered,m=b.seriesGroup,q=b.inverted;c=a.plotGroup("group","series",g,h,m);a.markerGroup=a.plotGroup("markerGroup","markers",g,h,m);d&&a.animate(!0);c.inverted=a.isCartesian?q:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(q);!1===e.clip||a.sharedClipKey||k||c.clip(b.clipRect);d&&a.animate();k||(a.animationTimeout=w(function(){a.afterAnimate()},
311
- d));a.isDirty=!1;a.hasRendered=!0;f(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,e=this.xAxis,f=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:B(e&&e.left,a.plotLeft),translateY:B(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,f=this.chart.inverted;return this.searchKDTree({clientX:f?
312
- c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:f?e.len-a.chartX+e.pos:a.chartY-e.pos},b)},buildKDTree:function(){function a(c,e,f){var d,g;if(g=c&&c.length)return d=b.kdAxisArray[e%f],c.sort(function(a,b){return a[d]-b[d]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),e+1,f),right:a(c.slice(g+1),e+1,f)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;w(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?
313
- 0:1)},searchKDTree:function(a,b){function c(a,b,h,k){var p=b.point,m=e.kdAxisArray[h%k],q,l,w=p;l=u(a[f])&&u(p[f])?Math.pow(a[f]-p[f],2):null;q=u(a[d])&&u(p[d])?Math.pow(a[d]-p[d],2):null;q=(l||0)+(q||0);p.dist=u(q)?Math.sqrt(q):Number.MAX_VALUE;p.distX=u(l)?Math.sqrt(l):Number.MAX_VALUE;m=a[m]-p[m];q=0>m?"left":"right";l=0>m?"right":"left";b[q]&&(q=c(a,b[q],h+1,k),w=q[g]<w[g]?q:p);b[l]&&Math.sqrt(m*m)<w[g]&&(a=c(a,b[l],h+1,k),w=a[g]<w[g]?a:w);return w}var e=this,f=this.kdAxisArray[0],d=this.kdAxisArray[1],
314
- g=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(K);(function(a){var A=a.addEvent,y=a.animate,C=a.Axis,n=a.createElement,d=a.css,l=a.defined,v=a.each,u=a.erase,t=a.extend,k=a.fireEvent,g=a.inArray,f=a.isNumber,h=a.isObject,q=a.isArray,e=a.merge,b=a.objectEach,c=a.pick,m=a.Point,B=a.Series,I=a.seriesTypes,x=a.setAnimation,M=a.splat;t(a.Chart.prototype,{addSeries:function(a,b,e){var f,
315
- d=this;a&&(b=c(b,!0),k(d,"addSeries",{options:a},function(){f=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();k(d,"afterAddSeries");b&&d.redraw(e)}));return f},addAxis:function(a,b,f,d){var g=b?"xAxis":"yAxis",h=this.options;a=e(a,{index:this[g].length,isX:b});b=new C(this,a);h[g]=M(h[g]||{});h[g].push(a);c(f,!0)&&this.redraw(d);return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,g=function(){e&&d(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",
316
- height:b.plotHeight+"px"})};e||(b.loadingDiv=e=n("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=n("span",{className:"highcharts-loading-inner"},null,e),A(b,"redraw",g));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;d(e,t(f.style,{zIndex:10}));d(b.loadingSpan,f.labelStyle);b.loadingShown||(d(e,{opacity:0,display:""}),y(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0}));b.loadingShown=!0;g()},hideLoading:function(){var a=
317
- this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){d(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
318
- propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,d,h,m){var p=this,q={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},n=a.chart,r,w,x=[];k(p,"update",{options:a});if(n){e(!0,p.options.chart,n);"className"in n&&p.setClassName(n.className);"reflow"in n&&p.setReflow(n.reflow);if("inverted"in n||"polar"in n||"type"in n)p.propFromSeries(),r=!0;"alignTicks"in n&&(r=!0);b(n,function(a,b){-1!==
319
- g("chart."+b,p.propsRequireUpdateSeries)&&(w=!0);-1!==g(b,p.propsRequireDirtyBox)&&(p.isDirtyBox=!0)});"style"in n&&p.renderer.setStyle(n.style)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&e(!0,this.options.plotOptions,a.plotOptions);b(a,function(a,b){if(p[b]&&"function"===typeof p[b].update)p[b].update(a,!1);else if("function"===typeof p[q[b]])p[q[b]](a);"chart"!==b&&-1!==g(b,p.propsRequireUpdateSeries)&&(w=!0)});v("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;
320
- a[b]&&("series"===b&&(c=[],v(p[b],function(a,b){a.options.isInternal||c.push(b)})),v(M(a[b]),function(a,e){(e=l(a.id)&&p.get(a.id)||p[b][c?c[e]:e])&&e.coll===b&&(e.update(a,!1),h&&(e.touched=!0));if(!e&&h)if("series"===b)p.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)p.addAxis(a,"xAxis"===b,!1).touched=!0}),h&&v(p[b],function(a){a.touched||a.options.isInternal?delete a.touched:x.push(a)}))});v(x,function(a){a.remove(!1)});r&&v(p.axes,function(a){a.update({},!1)});w&&v(p.series,function(a){a.update({},
321
- !1)});a.loading&&e(!0,p.options.loading,a.loading);r=n&&n.width;n=n&&n.height;f(r)&&r!==p.chartWidth||f(n)&&n!==p.chartHeight?p.setSize(r,n,m):c(d,!0)&&p.redraw(m);k(p,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});t(m.prototype,{update:function(a,b,e,f){function d(){g.applyOptions(a);null===g.y&&k&&(g.graphic=k.destroy());h(a,!0)&&(k&&k.element&&a&&a.marker&&void 0!==a.marker.symbol&&(g.graphic=k.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()),
322
- g.connector&&(g.connector=g.connector.destroy()));m=g.index;p.updateParallelArrays(g,m);l.data[m]=h(l.data[m],!0)||h(a,!0)?g.options:c(a,l.data[m]);p.isDirty=p.isDirtyData=!0;!p.fixedBox&&p.hasCartesianSeries&&(q.isDirtyBox=!0);"point"===l.legendType&&(q.isDirtyLegend=!0);b&&q.redraw(e)}var g=this,p=g.series,k=g.graphic,m,q=p.chart,l=p.options;b=c(b,!0);!1===f?d():g.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(g(this,this.series.data),a,b)}});t(B.prototype,
323
- {addPoint:function(a,b,e,f){var d=this.options,g=this.data,h=this.chart,p=this.xAxis,p=p&&p.hasNames&&p.names,k=d.data,m,q,l=this.xData,n,w;b=c(b,!0);m={series:this};this.pointClass.prototype.applyOptions.apply(m,[a]);w=m.x;n=l.length;if(this.requireSorting&&w<l[n-1])for(q=!0;n&&l[n-1]>w;)n--;this.updateParallelArrays(m,"splice",n,0,0);this.updateParallelArrays(m,n);p&&m.name&&(p[w]=m.name);k.splice(n,0,a);q&&(this.data.splice(n,0,null),this.processData());"point"===d.legendType&&this.generatePoints();
324
- e&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(m,"shift"),k.shift()));this.isDirtyData=this.isDirty=!0;b&&h.redraw(f)},removePoint:function(a,b,e){var f=this,d=f.data,g=d[a],h=f.points,p=f.chart,k=function(){h&&h.length===d.length&&h.splice(a,1);d.splice(a,1);f.options.data.splice(a,1);f.updateParallelArrays(g||{series:f},"splice",a,1);g&&g.destroy();f.isDirty=!0;f.isDirtyData=!0;b&&p.redraw()};x(e,p);b=c(b,!0);g?g.firePointEvent("remove",null,k):k()},remove:function(a,
325
- b,e){function f(){d.destroy();g.isDirtyLegend=g.isDirtyBox=!0;g.linkSeries();c(a,!0)&&g.redraw(b)}var d=this,g=d.chart;!1!==e?k(d,"remove",null,f):f()},update:function(b,f){var d=this,h=d.chart,m=d.userOptions,q=d.oldType||d.type,l=b.type||m.type||h.options.chart.type,n=I[q].prototype,x,w=["group","markerGroup","dataLabelsGroup"],B=["navigatorSeries","baseSeries"],u=d.finishedAnimating&&{animation:!1},F=["data","name","turboThreshold"],M=a.keys(b),y=0<M.length;v(M,function(a){-1===g(a,F)&&(y=!1)});
326
- if(y)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{B=w.concat(B);v(B,function(a){B[a]=d[a];delete d[a]});b=e(m,u,{index:d.index,pointStart:c(m.pointStart,d.xData[0])},{data:d.options.data},b);d.remove(!1,null,!1);for(x in n)d[x]=void 0;I[l||q]?t(d,I[l||q].prototype):a.error(17,!0);v(B,function(a){d[a]=B[a]});d.init(h,b);b.zIndex!==m.zIndex&&v(w,function(a){d[a]&&d[a].attr({zIndex:b.zIndex})});d.oldType=q;h.linkSeries()}k(this,"afterUpdate");c(f,!0)&&h.redraw(!1)},setName:function(a){this.name=
327
- this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});t(C.prototype,{update:function(a,f){var d=this.chart,g=a&&a.events||{};a=e(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=a);b(d.options[this.coll].events,function(a,b){"undefined"===typeof g[b]&&(g[b]=void 0)});this.destroy(!0);this.init(d,t(a,{events:g}));d.isDirtyBox=!0;c(f,!0)&&d.redraw()},remove:function(a){for(var b=this.chart,e=this.coll,f=this.series,
328
- d=f.length;d--;)f[d]&&f[d].remove(!1);u(b.axes,this);u(b[e],this);q(b.options[e])?b.options[e].splice(this.options.index,1):delete b.options[e];v(b[e],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;c(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(K);(function(a){var A=a.animObject,y=a.color,C=a.each,n=a.extend,d=a.isNumber,l=a.merge,v=a.pick,u=a.Series,t=a.seriesType,k=a.svg;t("column",
329
- "line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){u.prototype.init.apply(this,
330
- arguments);var a=this,f=a.chart;f.hasRendered&&C(f.series,function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,d=a.xAxis,k=a.yAxis,e=d.options.reversedStacks,e=d.reversed&&!e||!d.reversed&&e,b,c={},m=0;!1===f.grouping?m=1:C(a.chart.series,function(e){var f=e.options,d=e.yAxis,g;e.type!==a.type||!e.visible&&a.chart.options.chart.ignoreHiddenSeries||k.len!==d.len||k.pos!==d.pos||(f.stacking?(b=e.stackKey,void 0===c[b]&&(c[b]=m++),g=c[b]):!1!==f.grouping&&
331
- (g=m++),e.columnIndex=g)});var l=Math.min(Math.abs(d.transA)*(d.ordinalSlope||f.pointRange||d.closestPointRange||d.tickInterval||1),d.len),n=l*f.groupPadding,x=(l-2*n)/(m||1),f=Math.min(f.maxPointWidth||d.len,v(f.pointWidth,x*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(x-f)/2+(n+((a.columnIndex||0)+(e?1:0))*x-l/2)*(e?-1:1)};return a.columnMetrics},crispCol:function(a,f,d,k){var e=this.chart,b=this.borderWidth,c=-(b%2?.5:0),b=b%2?.5:1;e.inverted&&e.renderer.isVML&&(b+=1);this.options.crisp&&
332
- (d=Math.round(a+d)+c,a=Math.round(a)+c,d-=a);k=Math.round(f+k)+b;c=.5>=Math.abs(f)&&.5<k;f=Math.round(f)+b;k-=f;c&&k&&(--f,k+=1);return{x:a,y:f,width:d,height:k}},translate:function(){var a=this,f=a.chart,d=a.options,k=a.dense=2>a.closestPointRange*a.xAxis.transA,k=a.borderWidth=v(d.borderWidth,k?0:1),e=a.yAxis,b=d.threshold,c=a.translatedThreshold=e.getThreshold(b),m=v(d.minPointLength,5),l=a.getColumnMetrics(),n=l.width,x=a.barW=Math.max(n,1+2*k),t=a.pointXOffset=l.offset;f.inverted&&(c-=.5);d.pointPadding&&
333
- (x=Math.ceil(x));u.prototype.translate.apply(a);C(a.points,function(d){var g=v(d.yBottom,c),h=999+Math.abs(g),h=Math.min(Math.max(-h,d.plotY),e.len+h),k=d.plotX+t,l=x,q=Math.min(h,g),w,r=Math.max(h,g)-q;m&&Math.abs(r)<m&&(r=m,w=!e.reversed&&!d.negative||e.reversed&&d.negative,d.y===b&&a.dataMax<=b&&e.min<b&&(w=!w),q=Math.abs(q-c)>m?g-m:c-(w?m:0));d.barX=k;d.pointWidth=n;d.tooltipPos=f.inverted?[e.len+e.pos-f.plotLeft-h,a.xAxis.len-k-l/2,r]:[k+l/2,h+e.pos-f.plotTop,r];d.shapeType="rect";d.shapeArgs=
334
- a.crispCol.apply(a,d.isNull?[k,c,l,0]:[k,q,l,r])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,f){var d=this.options,g,e=this.pointAttrToOptions||{};g=e.stroke||"borderColor";var b=e["stroke-width"]||"borderWidth",c=a&&a.color||this.color,k=a&&a[g]||d[g]||this.color||c,n=a&&a[b]||d[b]||this[b]||0,e=d.dashStyle;a&&this.zones.length&&(c=a.getZone(),c=a.options.color||
335
- c&&c.color||this.color);f&&(a=l(d.states[f],a.options.states&&a.options.states[f]||{}),f=a.brightness,c=a.color||void 0!==f&&y(c).brighten(a.brightness).get()||c,k=a[g]||k,n=a[b]||n,e=a.dashStyle||e);g={fill:c,stroke:k,"stroke-width":n};e&&(g.dashstyle=e);return g},drawPoints:function(){var a=this,f=this.chart,h=a.options,k=f.renderer,e=h.animationLimit||250,b;C(a.points,function(c){var g=c.graphic,q=g&&f.pointCount<e?"animate":"attr";if(d(c.plotY)&&null!==c.y){b=c.shapeArgs;if(g)g[q](l(b));else c.graphic=
336
- g=k[c.shapeType](b).add(c.group||a.group);h.borderRadius&&g.attr({r:h.borderRadius});g[q](a.pointAttribs(c,c.selected&&"select")).shadow(h.shadow,null,h.stacking&&!h.borderRadius);g.addClass(c.getClassName(),!0)}else g&&(c.graphic=g.destroy())})},animate:function(a){var f=this,d=this.yAxis,g=f.options,e=this.chart.inverted,b={},c=e?"translateX":"translateY",m;k&&(a?(b.scaleY=.001,a=Math.min(d.pos+d.len,Math.max(d.pos,d.toPixels(g.threshold))),e?b.translateX=a-d.len:b.translateY=a,f.group.attr(b)):
337
- (m=f.group.attr(c),f.group.animate({scaleY:1},n(A(f.options.animation),{step:function(a,e){b[c]=m+e.pos*(d.pos-m);f.group.attr(b)}})),f.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&C(f.series,function(f){f.type===a.type&&(f.isDirty=!0)});u.prototype.remove.apply(a,arguments)}})})(K);(function(a){var A=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
338
- pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&A.prototype.drawGraph.call(this)}})})(K);(function(a){var A=a.addEvent,y=a.arrayMax,C=a.defined,n=a.each,d=a.extend,l=a.format,v=a.map,u=a.merge,t=a.noop,k=a.pick,g=a.relativeLength,f=a.Series,h=a.seriesTypes,q=a.some,e=a.stableSort;
339
- a.distribute=function(b,c,f){function d(a,b){return a.target-b.target}var g,h=!0,m=b,l=[],t;t=0;var p=m.reducedLen||c;for(g=b.length;g--;)t+=b[g].size;if(t>p){e(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(t=g=0;t<=p;)t+=b[g].size,g++;l=b.splice(g-1,b.length)}e(b,d);for(b=v(b,function(a){return{size:a.size,targets:[a.target],align:k(a.align,.5)}});h;){for(g=b.length;g--;)h=b[g],t=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=Math.min(Math.max(0,t-h.size*h.align),c-h.size);
340
- g=b.length;for(h=!1;g--;)0<g&&b[g-1].pos+b[g-1].size>b[g].pos&&(b[g-1].size+=b[g].size,b[g-1].targets=b[g-1].targets.concat(b[g].targets),b[g-1].align=.5,b[g-1].pos+b[g-1].size>c&&(b[g-1].pos=c-b[g-1].size),b.splice(g,1),h=!0)}m.push.apply(m,l);g=0;q(b,function(b){var e=0;if(q(b.targets,function(){m[g].pos=b.pos+e;if(Math.abs(m[g].pos-m[g].target)>f)return n(m.slice(0,g+1),function(a){delete a.pos}),m.reducedLen=(m.reducedLen||c)-.1*c,m.reducedLen>.1*c&&a.distribute(m,c,f),!0;e+=m[g].size;g++}))return!0});
341
- e(m,d)};f.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}var c=this,e=c.chart,f=c.options,d=f.dataLabels,g=c.points,h,q,t=c.hasRendered||0,p,v,D=k(d.defer,!!f.animation),y=e.renderer;if(d.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(d),v=c.plotGroup("dataLabelsGroup","data-labels",
342
- D&&!t?"hidden":"visible",d.zIndex||6),D&&(v.attr({opacity:+t}),t||A(c,"afterAnimate",function(){c.visible&&v.show(!0);v[f.animation?"animate":"attr"]({opacity:1},{duration:200})})),q=d,n(g,function(g){var m,n=g.dataLabel,t,x,w=g.connector,B=!n,F;h=g.dlOptions||g.options&&g.options.dataLabels;(m=k(h&&h.enabled,q.enabled)&&!g.isNull)&&(m=!0===b(g,h||d));m&&(d=u(q,h),t=g.getLabelConfig(),F=d[g.formatPrefix+"Format"]||d.format,p=C(F)?l(F,t,e.time):(d[g.formatPrefix+"Formatter"]||d.formatter).call(t,d),
343
- F=d.style,t=d.rotation,F.color=k(d.color,F.color,c.color,"#000000"),"contrast"===F.color&&(g.contrastColor=y.getContrast(g.color||c.color),F.color=d.inside||0>k(g.labelDistance,d.distance)||f.stacking?g.contrastColor:"#000000"),f.cursor&&(F.cursor=f.cursor),x={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:t,padding:d.padding,zIndex:1},a.objectEach(x,function(a,b){void 0===a&&delete x[b]}));!n||m&&C(p)?m&&C(p)&&(n?x.text=p:(n=g.dataLabel=t?y.text(p,
344
- 0,-9999).addClass("highcharts-data-label"):y.label(p,0,-9999,d.shape,null,null,d.useHTML,null,"data-label"),n.addClass(" highcharts-data-label-color-"+g.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),n.attr(x),n.css(F).shadow(d.shadow),n.added||n.add(v),c.alignDataLabel(g,n,d,null,B)):(g.dataLabel=n=n.destroy(),w&&(g.connector=w.destroy()))});a.fireEvent(this,"afterDrawDataLabels")};f.prototype.alignDataLabel=function(a,c,e,f,g){var b=this.chart,h=b.inverted,m=k(a.dlBox&&
345
- a.dlBox.centerX,a.plotX,-9999),l=k(a.plotY,-9999),p=c.getBBox(),q,n=e.rotation,t=e.align,u=this.visible&&(a.series.forceDL||b.isInsidePlot(m,Math.round(l),h)||f&&b.isInsidePlot(m,h?f.x+1:f.y+f.height-1,h)),r="justify"===k(e.overflow,"justify");if(u&&(q=e.style.fontSize,q=b.renderer.fontMetrics(q,c).b,f=d({x:h?this.yAxis.len-l:m,y:Math.round(h?this.xAxis.len-m:l),width:0,height:0},f),d(e,{width:p.width,height:p.height}),n?(r=!1,m=b.renderer.rotCorr(q,n),m={x:f.x+e.x+f.width/2+m.x,y:f.y+e.y+{top:0,
346
- middle:.5,bottom:1}[e.verticalAlign]*f.height},c[g?"attr":"animate"](m).attr({align:t}),l=(n+720)%360,l=180<l&&360>l,"left"===t?m.y-=l?p.height:0:"center"===t?(m.x-=p.width/2,m.y-=p.height/2):"right"===t&&(m.x-=p.width,m.y-=l?0:p.height),c.placed=!0,c.alignAttr=m):(c.align(e,null,f),m=c.alignAttr),r?a.isLabelJustified=this.justifyDataLabel(c,e,m,p,f,g):k(e.crop,!0)&&(u=b.isInsidePlot(m.x,m.y)&&b.isInsidePlot(m.x+p.width,m.y+p.height)),e.shape&&!n))c[g?"attr":"animate"]({anchorX:h?b.plotWidth-a.plotY:
347
- a.plotX,anchorY:h?b.plotHeight-a.plotX:a.plotY});u||(c.attr({y:-9999}),c.placed=!1)};f.prototype.justifyDataLabel=function(a,c,e,f,d,g){var b=this.chart,h=c.align,k=c.verticalAlign,m,l,q=a.box?0:a.padding||0;m=e.x+q;0>m&&("right"===h?c.align="left":c.x=-m,l=!0);m=e.x+f.width-q;m>b.plotWidth&&("left"===h?c.align="right":c.x=b.plotWidth-m,l=!0);m=e.y+q;0>m&&("bottom"===k?c.verticalAlign="top":c.y=-m,l=!0);m=e.y+f.height-q;m>b.plotHeight&&("top"===k?c.verticalAlign="bottom":c.y=b.plotHeight-m,l=!0);
348
- l&&(a.placed=!g,a.align(c,null,d));return l};h.pie&&(h.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,e,d=b.chart,g=b.options.dataLabels,h=k(g.connectorPadding,10),l=k(g.connectorWidth,1),q=d.plotWidth,t=d.plotHeight,p=Math.round(d.chartWidth/3),u,v=b.center,A=v[2]/2,H=v[1],r,z,N,K,L=[[],[]],P,O,E,Q,R=[0,0,0,0];b.visible&&(g.enabled||b._hasPointLabels)&&(n(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),
349
- a.dataLabel.shortened=!1)}),f.prototype.drawDataLabels.apply(b),n(c,function(a){a.dataLabel&&(a.visible?(L[a.half].push(a),a.dataLabel._pos=null,!C(g.style.width)&&!C(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>p&&(a.dataLabel.css({width:.7*p}),a.dataLabel.shortened=!0)):a.dataLabel=a.dataLabel.destroy())}),n(L,function(c,f){var m,l,p=c.length,x=[],w;if(p)for(b.sortByAngle(c,f-.5),0<b.maxLabelDistance&&(m=Math.max(0,H-A-b.maxLabelDistance),
350
- l=Math.min(H+A+b.maxLabelDistance,d.plotHeight),n(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,H-A-a.labelDistance),a.bottom=Math.min(H+A+a.labelDistance,d.plotHeight),w=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+w/2,size:w,rank:a.y},x.push(a.distributeBox))}),m=l+w-m,a.distribute(x,m,m/5)),Q=0;Q<p;Q++)e=c[Q],N=e.labelPos,r=e.dataLabel,E=!1===e.visible?"hidden":"inherit",O=m=N[1],x&&C(e.distributeBox)&&(void 0===e.distributeBox.pos?E="hidden":(K=
351
- e.distributeBox.size,O=e.top+e.distributeBox.pos)),delete e.positionIndex,P=g.justify?v[0]+(f?-1:1)*(A+e.labelDistance):b.getX(O<e.top+2||O>e.bottom-2?m:O,f,e),r._attr={visibility:E,align:N[6]},r._pos={x:P+g.x+({left:h,right:-h}[N[6]]||0),y:O+g.y-10},N.x=P,N.y=O,k(g.crop,!0)&&(z=r.getBBox().width,m=null,P-z<h&&1===f?(m=Math.round(z-P+h),R[3]=Math.max(m,R[3])):P+z>q-h&&0===f&&(m=Math.round(P+z-q+h),R[1]=Math.max(m,R[1])),0>O-K/2?R[0]=Math.max(Math.round(-O+K/2),R[0]):O+K/2>t&&(R[2]=Math.max(Math.round(O+
352
- K/2-t),R[2])),r.sideOverflow=m)}),0===y(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),l&&n(this.points,function(a){var c;u=a.connector;if((r=a.dataLabel)&&r._pos&&a.visible&&0<a.labelDistance){E=r._attr.visibility;if(c=!u)a.connector=u=d.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),u.attr({"stroke-width":l,stroke:g.connectorColor||a.color||"#666666"});u[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});
353
- u.attr("visibility",E)}else u&&(a.connector=u.destroy())}))},h.pie.prototype.connectorPath=function(a){var b=a.x,e=a.y;return k(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),e,"C",b,e,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),e,"L",a[2],a[3],"L",a[4],a[5]]},h.pie.prototype.placeDataLabels=function(){n(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+
354
- "px",textOverflow:this.options.dataLabels.style.textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},h.pie.prototype.alignDataLabel=t,h.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,f=e.center,d=e.minSize||80,h,k=null!==e.size;k||(null!==f[0]?h=Math.max(b[2]-Math.max(a[1],a[3]),d):(h=Math.max(b[2]-a[1]-a[3],d),b[0]+=(a[3]-a[1])/2),null!==f[1]?h=Math.max(Math.min(h,b[2]-Math.max(a[0],
355
- a[2])),d):(h=Math.max(Math.min(h,b[2]-a[0]-a[2]),d),b[1]+=(a[0]-a[2])/2),h<b[2]?(b[2]=h,b[3]=Math.min(g(e.innerSize||0,h),h),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):k=!0);return k});h.column&&(h.column.prototype.alignDataLabel=function(a,c,e,d,g){var b=this.chart.inverted,h=a.series,m=a.dlBox||a.shapeArgs,l=k(a.below,a.plotY>k(this.translatedThreshold,h.yAxis.len)),p=k(e.inside,!!this.options.stacking);m&&(d=u(m),0>d.y&&(d.height+=d.y,d.y=0),m=d.y+d.height-h.yAxis.len,0<m&&(d.height-=
356
- m),b&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-d.x-d.width,width:d.height,height:d.width}),p||(b?(d.x+=l?0:d.width,d.width=0):(d.y+=l?d.height:0,d.height=0)));e.align=k(e.align,!b||p?"center":l?"right":"left");e.verticalAlign=k(e.verticalAlign,b||p?"middle":l?"top":"bottom");f.prototype.alignDataLabel.call(this,a,c,e,d,g);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(K);(function(a){var A=a.Chart,y=a.each,C=a.objectEach,n=a.pick;a=a.addEvent;a(A,"render",function(){var a=
357
- [];y(this.labelCollectors||[],function(d){a=a.concat(d())});y(this.yAxis||[],function(d){d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&C(d.stacks,function(d){C(d,function(d){a.push(d.label)})})});y(this.series||[],function(d){var l=d.options.dataLabels,u=d.dataLabelCollections||["dataLabel"];(l.enabled||d._hasPointLabels)&&!l.allowOverlap&&d.visible&&y(u,function(l){y(d.points,function(d){d[l]&&(d[l].labelrank=n(d.labelrank,d.shapeArgs&&d.shapeArgs.height),a.push(d[l]))})})});this.hideOverlappingLabels(a)});
358
- A.prototype.hideOverlappingLabels=function(a){var d=a.length,n,u,t,k,g,f,h=function(a,e,b,c,d,f,g,h){return!(d>a+b||d+g<a||f>e+c||f+h<e)};t=function(a){var e,b,c,d=2*(a.box?0:a.padding||0);if(a&&(!a.alignAttr||a.placed))return e=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},b=a.parentGroup,a.width||(c=a.getBBox(),a.width=c.width,a.height=c.height),{x:e.x+(b.translateX||0),y:e.y+(b.translateY||0),width:a.width-d,height:a.height-d}};for(u=0;u<d;u++)if(n=a[u])n.oldOpacity=n.opacity,n.newOpacity=1,n.absoluteBox=
359
- t(n);a.sort(function(a,e){return(e.labelrank||0)-(a.labelrank||0)});for(u=0;u<d;u++)for(f=(t=a[u])&&t.absoluteBox,n=u+1;n<d;++n)if(g=(k=a[n])&&k.absoluteBox,f&&g&&t!==k&&0!==t.newOpacity&&0!==k.newOpacity&&(g=h(f.x,f.y,f.width,f.height,g.x,g.y,g.width,g.height)))(t.labelrank<k.labelrank?t:k).newOpacity=0;y(a,function(a){var e,b;a&&(b=a.newOpacity,a.oldOpacity!==b&&(a.alignAttr&&a.placed?(b?a.show(!0):e=function(){a.hide()},a.alignAttr.opacity=b,a[a.isOld?"animate":"attr"](a.alignAttr,null,e)):a.attr({opacity:b})),
360
- a.isOld=!0)})}})(K);(function(a){var A=a.addEvent,y=a.Chart,C=a.createElement,n=a.css,d=a.defaultOptions,l=a.defaultPlotOptions,v=a.each,u=a.extend,t=a.fireEvent,k=a.hasTouch,g=a.inArray,f=a.isObject,h=a.Legend,q=a.merge,e=a.pick,b=a.Point,c=a.Series,m=a.seriesTypes,B=a.svg,I;I=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};v(a.points,function(a){a.graphic&&(a.graphic.element.point=
361
- a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(v(a.trackerGroups,function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(k)a[e].on("touchstart",c);a.options.cursor&&a[e].css(n).css({cursor:a.options.cursor})}}),a._hasTracking=!0);t(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,e=[].concat(c?a.areaPath:a.graphPath),d=e.length,
362
- f=a.chart,g=f.pointer,h=f.renderer,m=f.options.tooltip.snap,l=a.tracker,q,n=function(){if(f.hoverSeries!==a)a.onMouseOver()},u="rgba(192,192,192,"+(B?.0001:.002)+")";if(d&&!c)for(q=d+1;q--;)"M"===e[q]&&e.splice(q+1,0,e[q+1]-m,e[q+2],"L"),(q&&"M"===e[q]||q===d)&&e.splice(q,0,"L",e[q-2]+m,e[q-1]);l?l.attr({d:e}):a.graph&&(a.tracker=h.path(e).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:u,fill:c?u:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*m),zIndex:2}).add(a.group),
363
- v([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(k)a.on("touchstart",n)}));t(this,"afterDrawTracker")}};m.column&&(m.column.prototype.drawTracker=I.drawTrackerPoint);m.pie&&(m.pie.prototype.drawTracker=I.drawTrackerPoint);m.scatter&&(m.scatter.prototype.drawTracker=I.drawTrackerPoint);u(h.prototype,{setItemEvents:function(a,c,e){var d=this,f=d.chart.renderer.boxWrapper,
364
- g="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(e?c:a.legendGroup).on("mouseover",function(){a.setState("hover");f.addClass(g);c.css(d.options.itemHoverStyle)}).on("mouseout",function(){c.css(q(a.visible?d.itemStyle:d.itemHiddenStyle));f.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};f.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):t(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=
365
- C("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);A(a.checkbox,"click",function(b){t(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});d.legend.itemStyle.cursor="pointer";u(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=d.lang,e=b.options.chart.resetZoomButton,f=e.theme,g=f.states,h="chart"===e.relativeTo?null:"plotBox";t(this,"beforeShowResetZoom",null,
366
- function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,f,g&&g.hover).attr({align:e.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,h)})},zoomOut:function(){t(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,c=this.pointer,d=!1,g;!a||a.resetSelection?(v(this.axes,function(a){b=a.zoom()}),c.initiated=!1):v(a.xAxis.concat(a.yAxis),function(a){var e=a.axis;c[e.isXAxis?"zoomX":"zoomY"]&&(b=e.zoom(a.min,a.max),e.displayBtn&&
367
- (d=!0))});g=this.resetZoomButton;d&&!g?this.showResetZoom():!d&&f(g)&&(this.resetZoomButton=g.destroy());b&&this.redraw(e(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,e=c.hoverPoints,d;e&&v(e,function(a){a.setState()});v("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var e=b.horiz,f=a[e?"chartX":"chartY"],e=e?"mouseDownX":"mouseDownY",g=c[e],h=(b.pointRange||0)/2,k=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,m=b.getExtremes(),
368
- l=b.toValue(g-f,!0)+h*k,k=b.toValue(g+b.len-f,!0)-h*k,p=k<l,g=p?k:l,l=p?l:k,k=Math.min(m.dataMin,h?m.min:b.toValue(b.toPixels(m.min)-b.minPixelPadding)),h=Math.max(m.dataMax,h?m.max:b.toValue(b.toPixels(m.max)+b.minPixelPadding)),p=k-g;0<p&&(l+=p,g=k);p=l-h;0<p&&(l=h,g-=p);b.series.length&&g!==m.min&&l!==m.max&&(b.setExtremes(g,l,!1,!1,{trigger:"pan"}),d=!0);c[e]=f});d&&c.redraw(!1);n(c.container,{cursor:"move"})}});u(b.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);
369
- c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[g(c,d.data)]=c.options;c.setState(a&&"select");b||v(f.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[g(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=
370
- this.series.chart;this.firePointEvent("mouseOut");v(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=q(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){A(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,g=f.options.states[a||"normal"]||{},h=l[f.type].marker&&f.options.marker,k=h&&!1===h.enabled,m=h&&h.states&&
371
- h.states[a||"normal"]||{},q=!1===m.enabled,n=f.stateMarkerGraphic,x=this.marker||{},v=f.chart,B=f.halo,y,A=h&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===g.enabled||a&&(q||k&&!1===m.enabled)||a&&x.states&&x.states[a]&&!1===x.states[a].enabled)){A&&(y=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.animate(f.pointAttribs(this,a),e(v.options.chart.animation,
372
- g.animation)),y&&this.graphic.animate(y,e(v.options.chart.animation,m.animation,h.animation)),n&&n.hide();else{if(a&&m){h=x.symbol||f.symbol;n&&n.currentSymbol!==h&&(n=n.destroy());if(n)n[b?"animate":"attr"]({x:y.x,y:y.y});else h&&(f.stateMarkerGraphic=n=v.renderer.symbol(h,y.x,y.y,y.width,y.height).add(f.markerGroup),n.currentSymbol=h);n&&n.attr(f.pointAttribs(this,a))}n&&(n[a&&v.isInsidePlot(c,d,v.inverted)?"show":"hide"](),n.element.point=this)}(c=g.halo)&&c.size?(B||(f.halo=B=v.renderer.path().add((this.graphic||
373
- n).parentGroup)),B.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),B.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),B.point=this,B.attr(u({fill:this.color||f.color,"fill-opacity":c.opacity},c.attributes))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide);this.state=a;t(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
374
- a,this.plotY-a,2*a,2*a)}});u(c.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&t(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&t(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,
375
- c=b.options,d=b.graph,f=c.states,g=c.lineWidth,c=0;a=a||"";if(b.state!==a&&(v([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!f[a]||!1!==f[a].enabled)&&(a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),d&&!d.dashstyle))for(g={"stroke-width":g},d.animate(g,e(f[a||"normal"]&&f[a||"normal"].animation,b.chart.options.chart.animation));b["zone-graph-"+c];)b["zone-graph-"+c].attr(g),c+=1},
376
- setVisible:function(a,b){var c=this,e=c.chart,d=c.legendItem,f,g=e.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";v(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(e.hoverSeries===c||(e.hoverPoint&&e.hoverPoint.series)===c)c.onMouseOut();d&&e.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&v(e.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});v(c.linkedSeries,
377
- function(b){b.setVisible(a,!1)});g&&(e.isDirtyBox=!0);t(c,f);!1!==b&&e.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);t(this,a?"select":"unselect")},drawTracker:I.drawTrackerGraph})})(K);(function(a){var A=a.Chart,y=a.each,C=a.inArray,n=a.isArray,d=a.isObject,l=a.pick,v=a.splat;A.prototype.setResponsive=function(d){var l=this.options.responsive,k=[],g=this.currentResponsive;
378
- l&&l.rules&&y(l.rules,function(f){void 0===f._id&&(f._id=a.uniqueKey());this.matchResponsiveRule(f,k,d)},this);var f=a.merge.apply(0,a.map(k,function(d){return a.find(l.rules,function(a){return a._id===d}).chartOptions})),k=k.toString()||void 0;k!==(g&&g.ruleIds)&&(g&&this.update(g.undoOptions,d),k?(this.currentResponsive={ruleIds:k,mergedOptions:f,undoOptions:this.currentOptions(f)},this.update(f,d)):this.currentResponsive=void 0)};A.prototype.matchResponsiveRule=function(a,d){var k=a.condition;
379
- (k.callback||function(){return this.chartWidth<=l(k.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=l(k.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=l(k.minWidth,0)&&this.chartHeight>=l(k.minHeight,0)}).call(this)&&d.push(a._id)};A.prototype.currentOptions=function(l){function t(g,f,h,k){var e;a.objectEach(g,function(a,c){if(!k&&-1<C(c,["series","xAxis","yAxis"]))for(a=v(a),h[c]=[],e=0;e<a.length;e++)f[c][e]&&(h[c][e]={},t(a[e],f[c][e],h[c][e],k+1));else d(a)?(h[c]=n(a)?[]:{},t(a,f[c]||{},h[c],k+1)):
380
- h[c]=f[c]||null})}var k={};t(l,this.options,k,0);return k}})(K);(function(a){var A=a.addEvent,y=a.Axis,C=a.each,n=a.pick;A(y,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(C(this.series,function(d,n){d.useMapGeometry&&(a[n]=d.xData,d.xData=[])}),this.seriesXData=a)});A(y,"afterGetSeriesExtremes",function(){var a=this.seriesXData,l,v,u;this.isXAxis&&(l=n(this.dataMin,Number.MAX_VALUE),v=n(this.dataMax,-Number.MAX_VALUE),C(this.series,function(d,k){d.useMapGeometry&&(l=Math.min(l,n(d.minX,l)),
381
- v=Math.max(v,n(d.maxX,v)),d.xData=a[k],u=!0)}),u&&(this.dataMin=l,this.dataMax=v),delete this.seriesXData)});A(y,"afterSetAxisTranslation",function(){var a=this.chart,l;l=a.plotWidth/a.plotHeight;var a=a.xAxis[0],n;"yAxis"===this.coll&&void 0!==a.transA&&C(this.series,function(a){a.preserveAspectRatio&&(n=!0)});if(n&&(this.transA=a.transA=Math.min(this.transA,a.transA),l/=(a.max-a.min)/(this.max-this.min),l=1>l?this:a,a=(l.max-l.min)*l.transA,l.pixelPadding=l.len-a,l.minPixelPadding=l.pixelPadding/
382
- 2,a=l.fixTo)){a=a[1]-l.toValue(a[0],!0);a*=l.transA;if(Math.abs(a)>l.minPixelPadding||l.min===l.dataMin&&l.max===l.dataMax)a=0;l.minPixelPadding-=a}});A(y,"render",function(){this.fixTo=null})})(K);(function(a){var A=a.addEvent,y=a.Axis,C=a.Chart,n=a.color,d,l=a.each,v=a.extend,u=a.isNumber,t=a.Legend,k=a.LegendSymbolMixin,g=a.noop,f=a.merge,h=a.pick;a.ColorAxis||(d=a.ColorAxis=function(){this.init.apply(this,arguments)},v(d.prototype,y.prototype),v(d.prototype,{defaultColorAxisOptions:{lineWidth:0,
383
- minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(y.prototype.keepProps),init:function(a,e){var b="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=f(this.defaultColorAxisOptions,
384
- {side:b?2:1,reversed:!b},e,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled});y.prototype.init.call(this,a,c);e.dataClasses&&this.initDataClasses(e);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var e=this.chart,b,c=0,d=e.options.chart.colorCount,g=this.options,h=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];l(a.dataClasses,function(a,k){a=f(a);b.push(a);a.color||("category"===g.dataClassColor?(k=e.options.colors,
385
- d=k.length,a.color=k[c],a.colorIndex=c,c++,c===d&&(c=0)):a.color=n(g.minColor).tweenTo(n(g.maxColor),2>h?.5:k/(h-1)))})},setTickPositions:function(){if(!this.dataClasses)return y.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];l(this.stops,function(a){a.color=n(a[1])})},setOptions:function(a){y.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,
386
- e=this.chart,b=e.options.legend||{},c,d;a?(this.left=b=a.attr("x"),this.top=c=a.attr("y"),this.width=d=a.attr("width"),this.height=a=a.attr("height"),this.right=e.chartWidth-b-d,this.bottom=e.chartHeight-c-a,this.len=this.horiz?d:a,this.pos=this.horiz?b:c):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,e){var b=this.stops,c,d,f=this.dataClasses,
387
- g,h;if(f)for(h=f.length;h--;){if(g=f[h],c=g.from,b=g.to,(void 0===c||a>=c)&&(void 0===b||a<=b)){d=g.color;e&&(e.dataClass=h,e.colorIndex=g.colorIndex);break}}else{a=this.normalizedValue(a);for(h=b.length;h--&&!(a>b[h][0]););c=b[h]||b[h+1];b=b[h+1]||c;a=1-(b[0]-a)/(b[0]-c[0]||1);d=c.color.tweenTo(b.color,a)}return d},getOffset:function(){var a=this.legendGroup,e=this.chart.axisOffset[this.side];a&&(this.axisParent=a,y.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=
388
- this.width),this.chart.axisOffset[this.side]=e)},setLegendColor:function(){var a,e=this.reversed;a=e?1:0;e=e?0:1;a=this.horiz?[a,0,e,0]:[0,e,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,e){var b=a.padding,c=a.options,d=this.horiz,f=h(c.symbolWidth,d?this.defaultLegendLength:12),g=h(c.symbolHeight,d?12:this.defaultLegendLength),k=h(c.labelPadding,d?16:30),c=h(c.itemDistance,10);this.setLegendColor();e.legendSymbol=this.chart.renderer.rect(0,
389
- a.baseline-11,f,g).attr({zIndex:1}).add(e.legendGroup);this.legendItemWidth=f+b+(d?c:k);this.legendItemHeight=g+b+(d?k:0)},setState:function(a){l(this.series,function(e){e.setState(a)})},visible:!0,setVisible:g,getSeriesExtremes:function(){var a=this.series,e=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;e--;)a[e].getExtremes(),void 0!==a[e].valueMin&&(this.dataMin=Math.min(this.dataMin,a[e].valueMin),this.dataMax=Math.max(this.dataMax,a[e].valueMax))},drawCrosshair:function(a,e){var b=
390
- e&&e.plotX,c=e&&e.plotY,d,f=this.pos,g=this.len;e&&(d=this.toPixels(e[e.series.colorKey]),d<f?d=f-2:d>f+g&&(d=f+g+2),e.plotX=d,e.plotY=this.len-d,y.prototype.drawCrosshair.call(this,a,e),e.plotX=b,e.plotY=c,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,e,b,c,d){return u(d)?this.horiz?["M",d-4,this.top-6,"L",
391
- d+4,this.top-6,d,this.top,"Z"]:["M",this.left,d,"L",this.left-6,d+6,this.left-6,d-6,"Z"]:y.prototype.getPlotLinePath.call(this,a,e,b,c)},update:function(a,e){var b=this.chart,c=b.legend;l(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&&(l(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=f(this.userOptions,a);y.prototype.update.call(this,a,e);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},
392
- remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);y.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var d=this,e=this.chart,b=this.legendItems,c=e.options.legend,f=c.valueDecimals,h=c.valueSuffix||"",n;b.length||l(this.dataClasses,function(c,m){var q=!0,t=c.from,p=c.to;n="";void 0===t?n="\x3c ":void 0===p&&(n="\x3e ");void 0!==t&&(n+=a.numberFormat(t,f)+h);void 0!==t&&void 0!==p&&(n+=" - ");void 0!==p&&(n+=a.numberFormat(p,f)+h);b.push(v({chart:e,name:n,options:{},
393
- drawLegendSymbol:k.drawRectangle,visible:!0,setState:g,isDataClass:!0,setVisible:function(){q=this.visible=!q;l(d.series,function(a){l(a.points,function(a){a.dataClass===m&&a.setVisible(q)})});e.legend.colorizeItem(this,q)}},c))});return b},name:""}),l(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,n(this.start).tweenTo(n(this.end),this.pos),null,!0)}}),A(C,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new d(this,a)}),A(t,"afterGetAllItems",
394
- function(d){var e=[],b=this.chart.colorAxis[0];b&&b.options&&b.options.showInLegend&&(b.options.dataClasses?e=b.getDataClassLegendSymbols():e.push(b),l(b.series,function(b){a.erase(d.allItems,b)}));for(b=e.length;b--;)d.allItems.unshift(e[b])}),A(t,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),A(t,"afterUpdate",function(a,e,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(K);(function(a){var A=a.defined,y=
395
- a.each,C=a.noop,n=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var d=this,n=a?"show":"hide";y(["graphic","dataLabel"],function(a){if(d[a])d[a][n]()})},setState:function(d){a.Point.prototype.setState.call(this,d);this.graphic&&this.graphic.attr({zIndex:"hover"===d?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group",
396
- "markerGroup","dataLabelsGroup"],getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:n.column.prototype.pointAttribs,translateColors:function(){var a=this,l=this.options.nullColor,n=this.colorAxis,u=this.colorKey;y(this.data,function(d){var k=d[u];if(k=d.options.color||(d.isNull?l:n&&void 0!==k?n.toColor(k,d):d.color||a.color))d.color=k})},colorAttribs:function(a){var d={};A(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(K);(function(a){function A(a){a&&(a.preventDefault&&
397
- a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function y(a){this.init(a)}var C=a.addEvent,n=a.Chart,d=a.doc,l=a.each,v=a.extend,u=a.merge,t=a.pick;y.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};y.prototype.update=function(d){var g=this.chart,f=g.options.mapNavigation,h,k,e,b,c,m=function(a){this.handler.call(g,a);A(a)},l=g.mapNavButtons;d&&(f=g.options.mapNavigation=u(g.options.mapNavigation,d));for(;l.length;)l.pop().destroy();t(f.enableButtons,f.enabled)&&
398
- !g.renderer.forExport&&a.objectEach(f.buttons,function(a,d){h=u(f.buttonOptions,a);k=h.theme;k.style=u(h.theme.style,h.style);b=(e=k.states)&&e.hover;c=e&&e.select;a=g.renderer.button(h.text,0,0,m,k,b,c,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:h.width,height:h.height,title:g.options.lang[d],padding:h.padding,zIndex:5}).add();a.handler=h.onclick;a.align(v(h,{width:a.width,height:2*a.height}),null,h.alignTo);C(a.element,"dblclick",A);l.push(a)});this.updateEvents(f)};
399
- y.prototype.updateEvents=function(a){var g=this.chart;t(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||C(g.container,"dblclick",function(a){g.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());t(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||C(g.container,void 0===d.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){g.pointer.onContainerMouseWheel(a);A(a);return!1}):
400
- this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};v(n.prototype,{fitToBox:function(a,d){l([["x","width"],["y","height"]],function(f){var g=f[0];f=f[1];a[g]+a[f]>d[g]+d[f]&&(a[f]>d[f]?(a[f]=d[f],a[g]=d[g]):a[g]=d[g]+d[f]-a[f]);a[f]>d[f]&&(a[f]=d[f]);a[g]<d[g]&&(a[g]=d[g])});return a},mapZoom:function(a,d,f,h,l){var e=this.xAxis[0],b=e.max-e.min,c=t(d,e.min+b/2),g=b*a,b=this.yAxis[0],k=b.max-b.min,n=t(f,b.min+k/2),k=k*a,c=this.fitToBox({x:c-g*(h?(h-e.pos)/e.len:.5),y:n-k*(l?(l-
401
- b.pos)/b.len:.5),width:g,height:k},{x:e.dataMin,y:b.dataMin,width:e.dataMax-e.dataMin,height:b.dataMax-b.dataMin}),g=c.x<=e.dataMin&&c.width>=e.dataMax-e.dataMin&&c.y<=b.dataMin&&c.height>=b.dataMax-b.dataMin;h&&(e.fixTo=[h-e.pos,d]);l&&(b.fixTo=[l-b.pos,f]);void 0===a||g?(e.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(e.setExtremes(c.x,c.x+c.width,!1),b.setExtremes(c.y,c.y+c.height,!1));this.redraw()}});C(n,"beforeRender",function(){this.mapNavigation=new y(this);this.mapNavigation.update()})})(K);
402
- (function(a){var A=a.extend,y=a.pick,C=a.Pointer;a=a.wrap;A(C.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,l;a=this.normalize(a);l=a.detail||
403
- -(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,l),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;y(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(C.prototype,"pinchTranslate",function(a,d,l,v,u,t,k){a.call(this,d,l,v,u,t,k);"map"===
404
- this.chart.options.chart.type&&this.hasZoom&&(a=v.scaleX>v.scaleY,this.pinchTranslateDirection(!a,d,l,v,u,t,k,a?v.scaleX:v.scaleY))})})(K);(function(a){var A=a.colorPointMixin,y=a.each,C=a.extend,n=a.isNumber,d=a.map,l=a.merge,v=a.noop,u=a.pick,t=a.isArray,k=a.Point,g=a.Series,f=a.seriesType,h=a.seriesTypes,q=a.splat;f("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},
405
- inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:null,brightness:.2},select:{color:"#cccccc"}}},l(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:v,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(e){var b=Number.MAX_VALUE,c=-b,d=b,f=-b,g=b,h=b,k=this.xAxis,l=this.yAxis,q;
406
- y(e||[],function(e){if(e.path){"string"===typeof e.path&&(e.path=a.splitPath(e.path));var k=e.path||[],l=k.length,m=!1,p=-b,t=b,w=-b,v=b,x=e.properties;if(!e._foundBox){for(;l--;)n(k[l])&&(m?(p=Math.max(p,k[l]),t=Math.min(t,k[l])):(w=Math.max(w,k[l]),v=Math.min(v,k[l])),m=!m);e._midX=t+(p-t)*u(e.middleX,x&&x["hc-middle-x"],.5);e._midY=v+(w-v)*u(e.middleY,x&&x["hc-middle-y"],.5);e._maxX=p;e._minX=t;e._maxY=w;e._minY=v;e.labelrank=u(e.labelrank,(p-t)*(w-v));e._foundBox=!0}c=Math.max(c,e._maxX);d=Math.min(d,
407
- e._minX);f=Math.max(f,e._maxY);g=Math.min(g,e._minY);h=Math.min(e._maxX-e._minX,e._maxY-e._minY,h);q=!0}});q&&(this.minY=Math.min(g,u(this.minY,b)),this.maxY=Math.max(f,u(this.maxY,-b)),this.minX=Math.min(d,u(this.minX,b)),this.maxX=Math.max(c,u(this.maxX,-b)),k&&void 0===k.options.minRange&&(k.minRange=Math.min(5*h,(this.maxX-this.minX)/5,k.minRange||b)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*h,(this.maxY-this.minY)/5,l.minRange||b)))},getExtremes:function(){g.prototype.getExtremes.call(this,
408
- this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,e=this.yAxis,d=c.min,f=c.transA,c=c.minPixelPadding,g=e.min,h=e.transA,e=e.minPixelPadding,k,l=[];if(a)for(k=a.length;k--;)n(a[k])?(l[k]=b?(a[k]-d)*f+c:(a[k]-g)*h+e,b=!b):l[k]=a[k];return l},setData:function(e,b,c,f){var h=this.options,k=this.chart.options.chart,
409
- m=k&&k.map,u=h.mapData,v=h.joinBy,A=null===v,p=h.keys||this.pointArrayMap,C=[],D={},J=this.chart.mapTransforms;!u&&m&&(u="string"===typeof m?a.maps[m]:m);A&&(v="_i");v=this.joinBy=q(v);v[1]||(v[1]=v[0]);e&&y(e,function(b,c){var d=0;if(n(b))e[c]={value:b};else if(t(b)){e[c]={};!h.keys&&b.length>p.length&&"string"===typeof b[0]&&(e[c]["hc-key"]=b[0],++d);for(var f=0;f<p.length;++f,++d)p[f]&&void 0!==b[d]&&(0<p[f].indexOf(".")?a.Point.prototype.setNestedProperty(e[c],b[d],p[f]):e[c][p[f]]=b[d])}A&&(e[c]._i=
410
- c)});this.getBox(e);(this.chart.mapTransforms=J=k&&k.mapTransforms||u&&u["hc-transform"]||J)&&a.objectEach(J,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(u){"FeatureCollection"===u.type&&(this.mapTitle=u.title,u=a.geojson(u,this.type,this));this.mapData=u;this.mapMap={};for(J=0;J<u.length;J++)k=u[J],m=k.properties,k._i=J,v[0]&&m&&m[v[0]]&&(k[v[0]]=m[v[0]]),D[k[v[0]]]=k;this.mapMap=D;e&&v[1]&&y(e,function(a){D[a[v[1]]]&&C.push(D[a[v[1]]])});h.allAreas?
411
- (this.getBox(u),e=e||[],v[1]&&y(e,function(a){C.push(a[v[1]])}),C="|"+d(C,function(a){return a&&a[v[0]]}).join("|")+"|",y(u,function(a){v[0]&&-1!==C.indexOf("|"+a[v[0]]+"|")||(e.push(l(a,{value:null})),f=!1)})):this.getBox(C)}g.prototype.setData.call(this,e,b,c,f)},drawGraph:v,drawDataLabels:v,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.doFullTranslate();a.generatePoints();
412
- y(a.data,function(e){e.plotX=b.toPixels(e._midX,!0);e.plotY=c.toPixels(e._midY,!0);d&&(e.shapeType="path",e.shapeArgs={d:a.translatePath(e.path)})});a.translateColors()},pointAttribs:function(a,b){b=h.column.prototype.pointAttribs.call(this,a,b);b["stroke-width"]=u(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.group,f=a.chart,g=f.renderer,k,l,n,q,p=this.baseTrans,t,u,v,A,r;a.transformGroup||
413
- (a.transformGroup=g.g().attr({scaleX:1,scaleY:1}).add(d),a.transformGroup.survive=!0);a.doFullTranslate()?(f.hasRendered&&y(a.points,function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,h.column.prototype.drawPoints.apply(a),a.group=d,y(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),
414
- this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(k=b.transA/p.transAX,l=c.transA/p.transAY,n=b.toPixels(p.originX,!0),q=c.toPixels(p.originY,!0),.99<k&&1.01>k&&.99<l&&1.01>l&&(l=k=1,n=Math.round(n),q=Math.round(q)),t=this.transformGroup,f.renderer.globalAnimation?(u=t.attr("translateX"),v=t.attr("translateY"),
415
- A=t.attr("scaleX"),r=t.attr("scaleY"),t.attr({animator:0}).animate({animator:1},{step:function(a,b){t.attr({translateX:u+(n-u)*b.pos,translateY:v+(q-v)*b.pos,scaleX:A+(k-A)*b.pos,scaleY:r+(l-r)*b.pos})}})):t.attr({translateX:n,translateY:q,scaleX:k,scaleY:l}));d.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(k||1));this.drawMapDataLabels()},drawMapDataLabels:function(){g.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&
416
- this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=g.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,e=this.xAxis,d=this.yAxis,f=e.pos,g=d.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:f+e.len/2,translateY:g+d.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:f,translateY:g,scaleX:1,scaleY:1},b),this.animate=null))},
417
- animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],e=c.bBox,d=this.chart.options.drilldown.animation;a||(a=Math.min(e.width/b.width,e.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},y(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},d)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){h.column.prototype.animateDrillupFrom.call(this,
418
- a)},animateDrillupTo:function(a){h.column.prototype.animateDrillupTo.call(this,a)}}),C({applyOptions:function(a,b){a=k.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),C(a,c)):a.value=a.value||null);return a},onMouseOver:function(e){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)k.prototype.onMouseOver.call(this,e);else this.series.onMouseOut(e)},
419
- zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},A))})(K);(function(a){var A=a.seriesType,y=a.seriesTypes;A("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,n){a=y.map.prototype.pointAttribs.call(this,a,n);a.fill=this.options.fillColor;return a},drawLegendSymbol:y.line.prototype.drawLegendSymbol})})(K);
420
- (function(a){var A=a.merge,y=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,n){a=void 0!==a.lat&&void 0!==a.lon?A(a,this.series.chart.fromLatLonToPoint(a)):a;return y.prototype.applyOptions.call(this,a,n)}})})(K);(function(a){var A=a.arrayMax,y=a.arrayMin,C=a.Axis,n=a.color,d=a.each,l=a.isNumber,v=a.noop,u=a.pick,t=a.pInt,
421
- k=a.Point,g=a.Series,f=a.seriesType,h=a.seriesTypes;f("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x",
422
- "y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,pointAttribs:function(a,e){var b=this.options.marker.fillOpacity;a=g.prototype.pointAttribs.call(this,a,e);1!==b&&(a.fill=n(a.fill).setOpacity(b).get("rgba"));return a},getRadii:function(a,e,b,c){var d,f,g,h=this.zData,k=[],n=this.options,q="width"!==n.sizeBy,p=n.zThreshold,t=e-a;f=0;for(d=h.length;f<d;f++)g=h[f],n.sizeByAbsoluteValue&&null!==g&&(g=Math.abs(g-p),e=t=Math.max(e-p,Math.abs(a-
423
- p)),a=0),l(g)?g<a?g=b/2-1:(g=0<t?(g-a)/t:.5,q&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(b+g*(c-b))/2):g=null,k.push(g);this.radii=k},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(d(this.points,function(a){var b=a.graphic,c;b&&b.width&&(c={x:b.x,y:b.y,width:b.width,height:b.height},b.attr({x:a.plotX,y:a.plotY,width:1,height:1}),b.animate(c,this.options.animation))},this),this.animate=null)},translate:function(){var d,e=this.data,b,c,f=this.radii;h.scatter.prototype.translate.call(this);
424
- for(d=e.length;d--;)b=e[d],c=f?f[d]:0,l(c)&&c>=this.minPxSize/2?(b.marker=a.extend(b.marker,{radius:c,width:2*c,height:2*c}),b.dlBox={x:b.plotX-c,y:b.plotY-c,width:2*c,height:2*c}):b.shapeArgs=b.plotY=b.dlBox=void 0},alignDataLabel:h.column.prototype.alignDataLabel,buildKDTree:v,applyZones:v},{haloPath:function(a){return k.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});C.prototype.beforePadding=function(){var f=this,e=this.len,b=this.chart,c=0,g=e,h=this.isXAxis,
425
- k=h?"xData":"yData",n=this.min,v={},w=Math.min(b.plotWidth,b.plotHeight),C=Number.MAX_VALUE,p=-Number.MAX_VALUE,G=this.max-n,D=e/G,J=[];d(this.series,function(c){var e=c.options;!c.bubblePadding||!c.visible&&b.options.chart.ignoreHiddenSeries||(f.allowZoomOutside=!0,J.push(c),h&&(d(["minSize","maxSize"],function(a){var b=e[a],c=/%$/.test(b),b=t(b);v[a]=c?w*b/100:b}),c.minPxSize=v.minSize,c.maxPxSize=Math.max(v.maxSize,v.minSize),c=a.grep(c.zData,a.isNumber),c.length&&(C=u(e.zMin,Math.min(C,Math.max(y(c),
426
- !1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),p=u(e.zMax,Math.max(p,A(c))))))});d(J,function(a){var b=a[k],d=b.length,e;h&&a.getRadii(C,p,a.minPxSize,a.maxPxSize);if(0<G)for(;d--;)l(b[d])&&f.dataMin<=b[d]&&b[d]<=f.dataMax&&(e=a.radii[d],c=Math.min((b[d]-n)*D-e,c),g=Math.max((b[d]-n)*D+e,g))});J.length&&0<G&&!this.isLog&&(g-=e,D*=(e+c-g)/e,d([["min","userMin",c],["max","userMax",g]],function(a){void 0===u(f.options[a[0]],f[a[1]])&&(f[a[0]]+=a[2]/D)}))}})(K);(function(a){var A=a.merge,y=
427
- a.Point,C=a.seriesType,n=a.seriesTypes;n.bubble&&C("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:n.map.prototype.getMapData,getBox:n.map.prototype.getBox,setData:n.map.prototype.setData},{applyOptions:function(a,l){return a&&void 0!==a.lat&&void 0!==a.lon?y.prototype.applyOptions.call(this,A(a,this.series.chart.fromLatLonToPoint(a)),l):n.map.prototype.pointClass.prototype.applyOptions.call(this,
428
- a,l)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(K);(function(a){var A=a.colorPointMixin,y=a.each,C=a.merge,n=a.noop,d=a.pick,l=a.Series,v=a.seriesType,u=a.seriesTypes;v("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,
429
- brightness:.2}}},C(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;u.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=d(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,k=this.xAxis,g=this.yAxis,f=a.pointPadding||0,h=function(a,d,b){return Math.min(Math.max(d,a),b)};this.generatePoints();y(this.points,function(l){var e=(a.colsize||
430
- 1)/2,b=(a.rowsize||1)/2,c=h(Math.round(k.len-k.translate(l.x-e,0,1,0,1)),-k.len,2*k.len),e=h(Math.round(k.len-k.translate(l.x+e,0,1,0,1)),-k.len,2*k.len),m=h(Math.round(g.translate(l.y-b,0,1,0,1)),-g.len,2*g.len),b=h(Math.round(g.translate(l.y+b,0,1,0,1)),-g.len,2*g.len),n=d(l.pointPadding,f);l.plotX=l.clientX=(c+e)/2;l.plotY=(m+b)/2;l.shapeType="rect";l.shapeArgs={x:Math.min(c,e)+n,y:Math.min(m,b)+n,width:Math.abs(e-c)-2*n,height:Math.abs(b-m)-2*n}});this.translateColors()},drawPoints:function(){u.column.prototype.drawPoints.call(this);
431
- y(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},animate:n,getBox:n,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:u.column.prototype.alignDataLabel,getExtremes:function(){l.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;l.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var d=this.shapeArgs;return["M",d.x-a,d.y-a,"L",d.x-a,d.y+d.height+a,d.x+d.width+a,d.y+d.height+a,d.x+
432
- d.width+a,d.y-a,"Z"]}},A))})(K);(function(a){function A(a,d){var g,f,h,k=!1,e=a.x,b=a.y;a=0;for(g=d.length-1;a<d.length;g=a++)f=d[a][1]>b,h=d[g][1]>b,f!==h&&e<(d[g][0]-d[a][0])*(b-d[a][1])/(d[g][1]-d[a][1])+d[a][0]&&(k=!k);return k}var y=a.Chart,C=a.each,n=a.extend,d=a.format,l=a.merge,v=a.win,u=a.wrap;y.prototype.transformFromLatLon=function(d,k){if(void 0===v.proj4)return a.error(21),{x:0,y:null};d=v.proj4(k.crs,[d.lon,d.lat]);var g=k.cosAngle||k.rotation&&Math.cos(k.rotation),f=k.sinAngle||k.rotation&&
433
- Math.sin(k.rotation);d=k.rotation?[d[0]*g+d[1]*f,-d[0]*f+d[1]*g]:d;return{x:((d[0]-(k.xoffset||0))*(k.scale||1)+(k.xpan||0))*(k.jsonres||1)+(k.jsonmarginX||0),y:(((k.yoffset||0)-d[1])*(k.scale||1)+(k.ypan||0))*(k.jsonres||1)-(k.jsonmarginY||0)}};y.prototype.transformToLatLon=function(d,k){if(void 0===v.proj4)a.error(21);else{d={x:((d.x-(k.jsonmarginX||0))/(k.jsonres||1)-(k.xpan||0))/(k.scale||1)+(k.xoffset||0),y:((-d.y-(k.jsonmarginY||0))/(k.jsonres||1)+(k.ypan||0))/(k.scale||1)+(k.yoffset||0)};var g=
434
- k.cosAngle||k.rotation&&Math.cos(k.rotation),f=k.sinAngle||k.rotation&&Math.sin(k.rotation);k=v.proj4(k.crs,"WGS84",k.rotation?{x:d.x*g+d.y*-f,y:d.x*f+d.y*g}:d);return{lat:k.y,lon:k.x}}};y.prototype.fromPointToLatLon=function(d){var k=this.mapTransforms,g;if(k){for(g in k)if(k.hasOwnProperty(g)&&k[g].hitZone&&A({x:d.x,y:-d.y},k[g].hitZone.coordinates[0]))return this.transformToLatLon(d,k[g]);return this.transformToLatLon(d,k["default"])}a.error(22)};y.prototype.fromLatLonToPoint=function(d){var k=
435
- this.mapTransforms,g,f;if(!k)return a.error(22),{x:0,y:null};for(g in k)if(k.hasOwnProperty(g)&&k[g].hitZone&&(f=this.transformFromLatLon(d,k[g]),A({x:f.x,y:-f.y},k[g].hitZone.coordinates[0])))return f;return this.transformFromLatLon(d,k["default"])};a.geojson=function(a,k,g){var f=[],h=[],l=function(a){var b,c=a.length;h.push("M");for(b=0;b<c;b++)1===b&&h.push("L"),h.push(a[b][0],-a[b][1])};k=k||"map";C(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var d;h=[];"map"===
436
- k||"mapbubble"===k?("Polygon"===c?(C(b,l),h.push("Z")):"MultiPolygon"===c&&(C(b,function(a){C(a,l)}),h.push("Z")),h.length&&(d={path:h})):"mapline"===k?("LineString"===c?l(b):"MultiLineString"===c&&C(b,l),h.length&&(d={path:h})):"mappoint"===k&&"Point"===c&&(d={x:b[0],y:-b[1]});d&&f.push(n(d,{name:a.name||a.NAME,properties:a}))});g&&a.copyrightShort&&(g.chart.mapCredits=d(g.chart.options.credits.mapText,{geojson:a}),g.chart.mapCreditsFull=d(g.chart.options.credits.mapTextFull,{geojson:a}));return f};
437
- u(y.prototype,"addCredits",function(a,d){d=l(!0,this.options.credits,d);this.mapCredits&&(d.href=null);a.call(this,d);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(K);(function(a){function A(a,d,h,k,e,b,c,l){return["M",a+e,d,"L",a+h-b,d,"C",a+h-b/2,d,a+h,d+b/2,a+h,d+b,"L",a+h,d+k-c,"C",a+h,d+k-c/2,a+h-c/2,d+k,a+h-c,d+k,"L",a+l,d+k,"C",a+l/2,d+k,a,d+k-l/2,a,d+k-l,"L",a,d+e,"C",a,d+e/2,a+e/2,d,a+e,d,"Z"]}var y=a.Chart,C=a.defaultOptions,n=a.each,d=a.extend,l=
438
- a.merge,v=a.pick,u=a.Renderer,t=a.SVGRenderer,k=a.VMLRenderer;d(C.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});C.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;
439
- a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));return a};a.maps={};t.prototype.symbols.topbutton=function(a,d,h,k,e){return A(a-1,d-1,h,k,e.r,e.r,0,0)};t.prototype.symbols.bottombutton=function(a,d,h,k,e){return A(a-1,d-1,h,k,0,0,e.r,e.r)};u===k&&n(["topbutton","bottombutton"],function(a){k.prototype.symbols[a]=t.prototype.symbols[a]});a.Map=a.mapChart=function(d,f,h){var g="string"===
440
- typeof d||d.nodeName,e=arguments[g?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},c,k=a.getOptions().credits;c=e.series;e.series=null;e=l({chart:{panning:"xy",type:"map"},credits:{mapText:v(k.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:v(k.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:l(b,{reversed:!0})},e,{chart:{inverted:!1,alignTicks:!1}});e.series=c;return g?new y(d,e,h):
441
- new y(e,f)}})(K);return K});
49
+ backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:B("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
50
+ pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(D){a.defaultOptions=C(!0,a.defaultOptions,D);
51
+ a.time.update(C(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(C(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(C,n,d){return a.time.dateFormat(C,n,d)}})(M);(function(a){var B,C,D=a.addEvent,n=a.animate,d=a.attr,k=a.charts,u=a.color,v=a.css,q=a.createElement,p=a.defined,y=a.deg2rad,g=a.destroyObjectProperties,h=a.doc,m=a.each,b=a.extend,
52
+ c=a.erase,f=a.grep,e=a.hasTouch,w=a.inArray,G=a.isArray,t=a.isFirefox,K=a.isMS,A=a.isObject,F=a.isString,r=a.isWebKit,I=a.merge,E=a.noop,L=a.objectEach,J=a.pick,l=a.pInt,x=a.removeEvent,N=a.stop,T=a.svg,H=a.SVG_NS,P=a.symbolSizes,Q=a.win;B=a.SVGElement=function(){return this};b(B.prototype,{opacity:1,SVG_NS:H,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,b){this.element="span"===
53
+ b?q(b):h.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(z,b,l){b=a.animObject(J(b,this.renderer.globalAnimation,!0));0!==b.duration?(l&&(b.complete=l),n(this,z,b)):(this.attr(z,null,l),b.step&&b.step.call(this));return this},complexColor:function(z,b,l){var c=this.renderer,x,f,e,r,H,h,w,g,O,E,d,t=[],N;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){z.radialGradient?f="radialGradient":z.linearGradient&&(f="linearGradient");f&&(e=z[f],H=c.gradients,w=z.stops,E=
54
+ l.radialReference,G(e)&&(z[f]=e={x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===f&&E&&!p(e.gradientUnits)&&(r=e,e=I(e,c.getRadialAttr(E,r),{gradientUnits:"userSpaceOnUse"})),L(e,function(a,z){"id"!==z&&t.push(z,a)}),L(w,function(a){t.push(a)}),t=t.join(","),H[t]?d=H[t].attr("id"):(e.id=d=a.uniqueKey(),H[t]=h=c.createElement(f).attr(e).add(c.defs),h.radAttr=r,h.stops=[],m(w,function(z){0===z[1].indexOf("rgba")?(x=a.color(z[1]),g=x.get("rgb"),O=x.get("a")):(g=z[1],
55
+ O=1);z=c.createElement("stop").attr({offset:z[0],"stop-color":g,"stop-opacity":O}).add(h);h.stops.push(z)})),N="url("+c.url+"#"+d+")",l.setAttribute(b,N),l.gradient=t,z.toString=function(){return N})})},applyTextOutline:function(z){var b=this.element,l,x,f,e,r;-1!==z.indexOf("contrast")&&(z=z.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));z=z.split(" ");x=z[z.length-1];if((f=z[0])&&"none"!==f&&a.svg){this.fakeTS=!0;z=[].slice.call(b.getElementsByTagName("tspan"));this.ySetter=this.xSetter;
56
+ f=f.replace(/(^[\d\.]+)(.*?)$/g,function(a,z,b){return 2*z+b});for(r=z.length;r--;)l=z[r],"highcharts-text-outline"===l.getAttribute("class")&&c(z,b.removeChild(l));e=b.firstChild;m(z,function(a,z){0===z&&(a.setAttribute("x",b.getAttribute("x")),z=b.getAttribute("y"),a.setAttribute("y",z||0),null===z&&b.setAttribute("y",0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:x,stroke:x,"stroke-width":f,"stroke-linejoin":"round"});b.insertBefore(a,e)})}},attr:function(a,b,l,c){var z,x=this.element,
57
+ f,e=this,r,H;"string"===typeof a&&void 0!==b&&(z=a,a={},a[z]=b);"string"===typeof a?e=(this[a+"Getter"]||this._defaultGetter).call(this,a,x):(L(a,function(z,b){r=!1;c||N(this,b);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(b)&&(f||(this.symbolAttr(a),f=!0),r=!0);!this.rotation||"x"!==b&&"y"!==b||(this.doTransform=!0);r||(H=this[b+"Setter"]||this._defaultSetter,H.call(this,z,b,x),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b)&&this.updateShadows(b,
58
+ z,H))},this),this.afterSetters());l&&l.call(this);return e},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,l){for(var z=this.shadows,c=z.length;c--;)l.call(z[c],"height"===a?Math.max(b-(z[c].cutHeight||0),0):"d"===a?this.d:b,a,z[c])},addClass:function(a,b){var z=this.attr("class")||"";-1===z.indexOf(a)&&(b||(a=(z+(z?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==w(a,(this.attr("class")||
59
+ "").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;m("x y r start end width height innerR anchorX anchorY".split(" "),function(z){b[z]=J(a[z],b[z])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var z;b=b||a.strokeWidth||0;z=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||
60
+ 0)+z;a.y=Math.floor(a.y||this.y||0)+z;a.width=Math.floor((a.width||this.width||0)-2*z);a.height=Math.floor((a.height||this.height||0)-2*z);p(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var z=this.styles,c={},x=this.element,f,e="",r,H=!z,h=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);z&&L(a,function(a,b){a!==z[b]&&(c[b]=a,H=!0)});H&&(z&&(a=b(z,c)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===x.nodeName.toLowerCase()&&a.width&&(f=this.textWidth=
61
+ l(a.width))),this.styles=a,f&&!T&&this.renderer.forExport&&delete a.width,x.namespaceURI===this.SVG_NS?(r=function(a,b){return"-"+b.toLowerCase()},L(a,function(a,b){-1===w(b,h)&&(e+=b.replace(/([A-Z])/g,r)+":"+a+";")}),e&&d(x,"style",e)):v(x,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var z=this,l=z.element;e&&"click"===a?(l.ontouchstart=
62
+ function(a){z.touchEventFired=Date.now();a.preventDefault();b.call(l,a)},l.onclick=function(a){(-1===Q.navigator.userAgent.indexOf("Android")||1100<Date.now()-(z.touchEventFired||0))&&b.call(l,a)}):l["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=
63
+ a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,l=this.scaleX,c=this.scaleY,x=this.inverted,f=this.rotation,e=this.matrix,r=this.element;x&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];p(e)&&a.push("matrix("+e.join(",")+")");x?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+J(this.rotationOriginX,r.getAttribute("x"),0)+" "+J(this.rotationOriginY,r.getAttribute("y")||0)+")");(p(l)||p(c))&&a.push("scale("+J(l,1)+
64
+ " "+J(c,1)+")");a.length&&r.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,l){var z,x,f,e,r={};x=this.renderer;f=x.alignedObjects;var H,h;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!l||F(l))this.alignTo=z=l||"renderer",c(f,this),f.push(this),l=null}else a=this.alignOptions,b=this.alignByTranslate,z=this.alignTo;l=J(l,x[z],x);z=a.align;x=a.verticalAlign;f=(l.x||0)+(a.x||0);e=(l.y||0)+(a.y||0);"right"===
65
+ z?H=1:"center"===z&&(H=2);H&&(f+=(l.width-(a.width||0))/H);r[b?"translateX":"x"]=Math.round(f);"bottom"===x?h=1:"middle"===x&&(h=2);h&&(e+=(l.height-(a.height||0))/h);r[b?"translateY":"y"]=Math.round(e);this[this.placed?"animate":"attr"](r);this.placed=!0;this.alignAttr=r;return this},getBBox:function(a,l){var z,c=this.renderer,x,f=this.element,e=this.styles,r,H=this.textStr,h,w=c.cache,g=c.cacheKeys,E=f.namespaceURI===this.SVG_NS,t;l=J(l,this.rotation);x=l*y;r=e&&e.fontSize;p(H)&&(t=H.toString(),
66
+ -1===t.indexOf("\x3c")&&(t=t.replace(/[0-9]/g,"0")),t+=["",l||0,r,this.textWidth,e&&e.textOverflow].join());t&&!a&&(z=w[t]);if(!z){if(E||c.forExport){try{(h=this.fakeTS&&function(a){m(f.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&h("none"),z=f.getBBox?b({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},h&&h("")}catch(X){}if(!z||0>z.width)z={width:0,height:0}}else z=this.htmlGetBBox();c.isSVG&&(a=z.width,c=z.height,E&&(z.height=c={"11px,17":14,"13px,20":16}[e&&
67
+ e.fontSize+","+Math.round(c)]||c),l&&(z.width=Math.abs(c*Math.sin(x))+Math.abs(a*Math.cos(x)),z.height=Math.abs(c*Math.cos(x))+Math.abs(a*Math.sin(x))));if(t&&0<z.height){for(;250<g.length;)delete w[g.shift()];w[t]||g.push(t);w[t]=z}}return z},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=
68
+ this.renderer,l=this.element,z;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)z=this.zIndexSetter();z||(a?a.element:b.box).appendChild(l);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},l=a.renderer.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,x=b.ownerSVGElement,f=a.clipPath;b.onclick=b.onmouseout=b.onmouseover=
69
+ b.onmousemove=b.point=null;N(a);f&&x&&(m(x.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),l=f.element.id;(-1<b.indexOf("(#"+l+")")||-1<b.indexOf('("#'+l+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=f.destroy());if(a.stops){for(x=0;x<a.stops.length;x++)a.stops[x]=a.stops[x].destroy();a.stops=null}a.safeRemoveChild(b);for(a.destroyShadows();l&&l.div&&0===l.div.childNodes.length;)b=l.parentGroup,a.safeRemoveChild(l.div),delete l.div,l=b;a.alignTo&&c(a.renderer.alignedObjects,
70
+ a);L(a,function(b,l){delete a[l]});return null},shadow:function(a,b,l){var c=[],x,f,z=this.element,e,r,H,h;if(!a)this.destroyShadows();else if(!this.shadows){r=J(a.width,3);H=(a.opacity||.15)/r;h=this.parentInverted?"(-1,-1)":"("+J(a.offsetX,1)+", "+J(a.offsetY,1)+")";for(x=1;x<=r;x++)f=z.cloneNode(0),e=2*r+1-2*x,d(f,{stroke:a.color||"#000000","stroke-opacity":H*x,"stroke-width":e,transform:"translate"+h,fill:"none"}),f.setAttribute("class",(f.getAttribute("class")||"")+" highcharts-shadow"),l&&(d(f,
71
+ "height",Math.max(d(f,"height")-e,0)),f.cutHeight=e),b?b.element.appendChild(f):z.parentNode&&z.parentNode.insertBefore(f,z),c.push(f);this.shadows=c}return this},destroyShadows:function(){m(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=J(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&
72
+ (a=parseFloat(a));return a},dSetter:function(a,b,l){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(l.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,c=this["stroke-width"];"inherit"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");
73
+ for(b=a.length;b--;)a[b]=l(a[b])*c;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,l){this[b]=a;l.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=h.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);
74
+ b.appendChild(h.createTextNode(String(J(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,l){"string"===typeof a?l.setAttribute(b,a):a&&this.complexColor(a,b,l)},visibilitySetter:function(a,b,l){"inherit"===a?l.removeAttribute(b):this[b]!==a&&l.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var c=this.renderer,x=this.parentGroup,
75
+ f=(x||c).element||c.box,e,r=this.element,z,H,c=f===c.box;e=this.added;var h;p(a)?(r.setAttribute("data-z-index",a),a=+a,this[b]===a&&(e=!1)):p(this[b])&&r.removeAttribute("data-z-index");this[b]=a;if(e){(a=this.zIndex)&&x&&(x.handleZ=!0);b=f.childNodes;for(h=b.length-1;0<=h&&!z;h--)if(x=b[h],e=x.getAttribute("data-z-index"),H=!p(e),x!==r)if(0>a&&H&&!c&&!h)f.insertBefore(r,b[h]),z=!0;else if(l(e)<=a||H&&(!p(a)||0<=a))f.insertBefore(r,b[h+1]||null),z=!0;z||(f.insertBefore(r,b[c?3:0]||null),z=!0)}return z},
76
+ _defaultSetter:function(a,b,l){l.setAttribute(b,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};B.prototype["stroke-widthSetter"]=B.prototype.strokeSetter=function(a,b,l){this[b]=a;this.stroke&&this["stroke-width"]?
77
+ (B.prototype.fillSetter.call(this,this.stroke,"stroke",l),l.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(l.removeAttribute("stroke"),this.hasStroke=!1)};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};b(C.prototype,{Element:B,SVG_NS:H,init:function(a,b,l,c,x,f){var e;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(c));e=c.element;a.appendChild(e);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&
78
+ d(e,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=e;this.boxWrapper=c;this.alignedObjects=[];this.url=(t||r)&&h.getElementsByTagName("base").length?Q.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(h.createTextNode("Created with Highmaps 6.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=x;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,
79
+ l,!1);var z;t&&a.getBoundingClientRect&&(b=function(){v(a,{left:0,top:0});z=a.getBoundingClientRect();v(a,{left:Math.ceil(z.left)-z.left+"px",top:Math.ceil(z.top)-z.top+"px"})},b(),this.unSubPixelFix=D(Q,"resize",b))},getStyle:function(a){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
80
+ this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();g(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:E,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,l,c,x,f,e){var r=this,z=a.rotation,H,w=c?1:0,g=(l||c).length,m=g,p=[],E=function(a){b.firstChild&&
81
+ b.removeChild(b.firstChild);a&&b.appendChild(h.createTextNode(a))},t=function(f,z){z=z||f;if(void 0===p[z])if(b.getSubStringLength)try{p[z]=x+b.getSubStringLength(0,c?z+1:z)}catch(Y){}else r.getSpanWidth&&(E(e(l||c,f)),p[z]=x+r.getSpanWidth(a,b));return p[z]},d,N;a.rotation=0;d=t(b.textContent.length);if(N=x+d>f){for(;w<=g;)m=Math.ceil((w+g)/2),c&&(H=e(c,m)),d=t(m,H&&H.length-1),w===g?w=g+1:d>f?g=m-1:w=m;0===g?E(""):l&&g===l.length-1||E(H||e(l||c,m))}c&&c.splice(0,m);a.actualWidth=d;a.rotation=z;
82
+ return N},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,c=this,x=c.forExport,e=J(a.textStr,"").toString(),r=-1!==e.indexOf("\x3c"),z=b.childNodes,g,p=d(b,"x"),E=a.styles,t=a.textWidth,N=E&&E.lineHeight,I=E&&E.textOutline,A=E&&"ellipsis"===E.textOverflow,q=E&&"nowrap"===E.whiteSpace,G=E&&E.fontSize,F,k,P=z.length,E=t&&!a.added&&this.box,n=function(a){var x;x=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:G||
83
+ c.style.fontSize||12;return N?l(N):c.fontMetrics(x,a.getAttribute("style")?a:b).h},y=function(a,b){L(c.escapes,function(l,c){b&&-1!==w(l,b)||(a=a.toString().replace(new RegExp(l,"g"),c))});return a},Q=function(a,b){var l;l=a.indexOf("\x3c");a=a.substring(l,a.indexOf("\x3e")-l);l=a.indexOf(b+"\x3d");if(-1!==l&&(l=l+b.length+1,b=a.charAt(l),'"'===b||"'"===b))return a=a.substring(l+1),a.substring(0,a.indexOf(b))};F=[e,A,q,N,I,G,t].join();if(F!==a.textCache){for(a.textCache=F;P--;)b.removeChild(z[P]);
84
+ r||I||A||t||-1!==e.indexOf(" ")?(E&&E.appendChild(b),e=r?e.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[e],e=f(e,function(a){return""!==a}),m(e,function(l,f){var e,r=0,z=0;l=l.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");e=l.split("|||");m(e,function(l){if(""!==l||1===
85
+ e.length){var w={},m=h.createElementNS(c.SVG_NS,"tspan"),E,N;(E=Q(l,"class"))&&d(m,"class",E);if(E=Q(l,"style"))E=E.replace(/(;| |^)color([ :])/,"$1fill$2"),d(m,"style",E);(N=Q(l,"href"))&&!x&&(d(m,"onclick",'location.href\x3d"'+N+'"'),d(m,"class","highcharts-anchor"),v(m,{cursor:"pointer"}));l=y(l.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==l){m.appendChild(h.createTextNode(l));r?w.dx=0:f&&null!==p&&(w.x=p);d(m,w);b.appendChild(m);!r&&k&&(!T&&x&&v(m,{display:"block"}),d(m,"dy",n(m)));if(t){var I=
86
+ l.replace(/([^\^])-/g,"$1- ").split(" "),w=!q&&(1<e.length||f||1<I.length);N=0;var F=n(m);if(A)g=c.truncate(a,m,l,void 0,0,Math.max(0,t-parseInt(G||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(w)for(;I.length;)I.length&&!q&&0<N&&(m=h.createElementNS(H,"tspan"),d(m,{dy:F,x:p}),E&&d(m,"style",E),m.appendChild(h.createTextNode(I.join(" ").replace(/- /g,"-"))),b.appendChild(m)),c.truncate(a,m,null,I,0===N?z:0,t,function(a,b){return I.slice(0,b).join(" ").replace(/- /g,"-")}),z=a.actualWidth,
87
+ N++}r++}}});k=k||b.childNodes.length}),A&&g&&a.attr("title",y(a.textStr,["\x26lt;","\x26gt;"])),E&&E.removeChild(b),I&&a.applyTextOutline&&a.applyTextOutline(I)):b.appendChild(h.createTextNode(y(e)))}},getContrast:function(a){a=u(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,l,c,x,f,e,r,H,h){var z=this.label(a,l,c,h,null,null,null,null,"button"),m=0;z.attr(I({padding:8,r:2},f));var w,g,E,p;f=I({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,
88
+ style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},f);w=f.style;delete f.style;e=I(f,{fill:"#e6e6e6"},e);g=e.style;delete e.style;r=I(f,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},r);E=r.style;delete r.style;H=I(f,{style:{color:"#cccccc"}},H);p=H.style;delete H.style;D(z.element,K?"mouseover":"mouseenter",function(){3!==m&&z.setState(1)});D(z.element,K?"mouseout":"mouseleave",function(){3!==m&&z.setState(m)});z.setState=function(a){1!==a&&(z.state=m=a);z.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
89
+ ["normal","hover","pressed","disabled"][a||0]);z.attr([f,e,r,H][a||0]).css([w,g,E,p][a||0])};z.attr(f).css(b({cursor:"default"},w));return z.on("click",function(a){3!==m&&x.call(z,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var l={fill:"none"};G(a)?l.d=a:A(a)&&b(l,a);return this.createElement("path").attr(l)},circle:function(a,b,l){a=A(a)?a:{x:a,y:b,r:l};b=this.createElement("circle");b.xSetter=
90
+ b.ySetter=function(a,b,l){l.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,l,c,x,f){A(a)?(c=a,b=c.y,l=c.r,a=c.x):c={innerR:c,start:x,end:f};a=this.symbol("arc",a,b,l,l,c);a.r=l;return a},rect:function(a,b,l,c,x,f){x=A(a)?a.r:x;var e=this.createElement("rect");a=A(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(l,0),height:Math.max(c,0)};void 0!==f&&(a.strokeWidth=f,a=e.crisp(a));a.fill="none";x&&(a.r=x);e.rSetter=function(a,b,l){d(l,{rx:a,ry:a})};return e.attr(a)},setSize:function(a,b,l){var c=
91
+ this.alignedObjects,x=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:J(l,!0)?void 0:0});x--;)c[x].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,l,c,x,f,e){var r={preserveAspectRatio:"none"},H,h=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",
92
+ b)},m=function(b){h(H.element,a);e.call(H,b)};1<arguments.length&&b(r,{x:l,y:c,width:x,height:f});H=this.createElement("image").attr(r);e?(h(H.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),r=new Q.Image,D(r,"load",m),r.src=a,r.complete&&m({})):h(H.element,a);return H},symbol:function(a,l,c,x,f,e){var r=this,H,w=/^url\((.*?)\)$/,g=w.test(a),E=!g&&(this.symbols[a]?a:"circle"),z=E&&this.symbols[E],t=p(l)&&z&&z.call(this.symbols,Math.round(l),Math.round(c),
93
+ x,f,e),d,N;z?(H=this.path(t),H.attr("fill","none"),b(H,{symbolName:E,x:l,y:c,width:x,height:f}),e&&b(H,e)):g&&(d=a.match(w)[1],H=this.image(d),H.imgwidth=J(P[d]&&P[d].width,e&&e.width),H.imgheight=J(P[d]&&P[d].height,e&&e.height),N=function(){H.attr({width:H.width,height:H.height})},m(["width","height"],function(a){H[a+"Setter"]=function(a,b){var l={},c=this["img"+b],x="width"===b?"translateX":"translateY";this[b]=a;p(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(l[x]=
94
+ ((this[b]||0)-c)/2,this.attr(l)))}}),p(l)&&H.attr({x:l,y:c}),H.isImg=!0,p(H.imgwidth)&&p(H.imgheight)?N():(H.attr({width:0,height:0}),q("img",{onload:function(){var a=k[r.chartIndex];0===this.width&&(v(this,{position:"absolute",top:"-999em"}),h.body.appendChild(this));P[d]={width:this.width,height:this.height};H.imgwidth=this.width;H.imgheight=this.height;H.element&&N();this.parentNode&&this.parentNode.removeChild(this);r.imgCount--;if(!r.imgCount&&a&&a.onload)a.onload()},src:d}),this.imgCount++));
95
+ return H},symbols:{circle:function(a,b,l,c){return this.arc(a+l/2,b+c/2,l/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,l,c){return["M",a,b,"L",a+l,b,a+l,b+c,a,b+c,"Z"]},triangle:function(a,b,l,c){return["M",a+l/2,b,"L",a+l,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,l,c){return["M",a,b,"L",a+l,b,a+l/2,b+c,"Z"]},diamond:function(a,b,l,c){return["M",a+l/2,b,"L",a+l,b+c/2,a+l/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,l,c,x){var f=x.start,e=x.r||l,r=x.r||c||l,H=x.end-.001;l=x.innerR;c=J(x.open,
96
+ .001>Math.abs(x.end-x.start-2*Math.PI));var h=Math.cos(f),m=Math.sin(f),w=Math.cos(H),H=Math.sin(H);x=.001>x.end-f-Math.PI?0:1;e=["M",a+e*h,b+r*m,"A",e,r,0,x,1,a+e*w,b+r*H];p(l)&&e.push(c?"M":"L",a+l*w,b+l*H,"A",l,l,0,x,0,a+l*h,b+l*m);e.push(c?"":"Z");return e},callout:function(a,b,l,c,x){var e=Math.min(x&&x.r||0,l,c),f=e+6,r=x&&x.anchorX;x=x&&x.anchorY;var H;H=["M",a+e,b,"L",a+l-e,b,"C",a+l,b,a+l,b,a+l,b+e,"L",a+l,b+c-e,"C",a+l,b+c,a+l,b+c,a+l-e,b+c,"L",a+e,b+c,"C",a,b+c,a,b+c,a,b+c-e,"L",a,b+e,
97
+ "C",a,b,a,b,a+e,b];r&&r>l?x>b+f&&x<b+c-f?H.splice(13,3,"L",a+l,x-6,a+l+6,x,a+l,x+6,a+l,b+c-e):H.splice(13,3,"L",a+l,c/2,r,x,a+l,c/2,a+l,b+c-e):r&&0>r?x>b+f&&x<b+c-f?H.splice(33,3,"L",a,x+6,a-6,x,a,x-6,a,b+e):H.splice(33,3,"L",a,c/2,r,x,a,c/2,a,b+e):x&&x>c&&r>a+f&&r<a+l-f?H.splice(23,3,"L",r+6,b+c,r,b+c+6,r-6,b+c,a+e,b+c):x&&0>x&&r>a+f&&r<a+l-f&&H.splice(3,3,"L",r-6,b,r,b-6,r+6,b,l-e,b);return H}},clipRect:function(b,l,c,x){var e=a.uniqueKey(),f=this.createElement("clipPath").attr({id:e}).add(this.defs);
98
+ b=this.rect(b,l,c,x,0).add(f);b.id=e;b.clipPath=f;b.count=0;return b},text:function(a,b,l,c){var x={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,l);x.x=Math.round(b||0);l&&(x.y=Math.round(l));p(a)&&(x.text=a);a=this.createElement("text").attr(x);c||(a.xSetter=function(a,b,l){var c=l.getElementsByTagName("tspan"),x,e=l.getAttribute(b),f;for(f=0;f<c.length;f++)x=c[f],x.getAttribute(b)===e&&x.setAttribute(b,a);l.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&
99
+ b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?l(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,l){var c=a;b&&l&&(c=Math.max(c*Math.cos(b*y),4));return{x:-a/3*Math.sin(b*y),y:c}},label:function(l,c,e,f,r,H,h,w,g){var E=this,t=E.g("button"!==g&&"label"),d=t.text=E.text("",0,0,h).attr({zIndex:1}),N,A,T=0,q=3,z=0,G,F,k,P,J,n={},L,y,Q=/^url\((.*?)\)$/.test(f),K=Q,v,u,
100
+ O,S;g&&t.addClass("highcharts-"+g);K=Q;v=function(){return(L||0)%2/2};u=function(){var a=d.element.style,l={};A=(void 0===G||void 0===F||J)&&p(d.textStr)&&d.getBBox();t.width=(G||A.width||0)+2*q+z;t.height=(F||A.height||0)+2*q;y=q+E.fontMetrics(a&&a.fontSize,d).b;K&&(N||(t.box=N=E.symbols[f]||Q?E.symbol(f):E.rect(),N.addClass(("button"===g?"":"highcharts-label-box")+(g?" highcharts-"+g+"-box":"")),N.add(t),a=v(),l.x=a,l.y=(w?-y:0)+a),l.width=Math.round(t.width),l.height=Math.round(t.height),N.attr(b(l,
101
+ n)),n={})};O=function(){var a=z+q,b;b=w?0:y;p(G)&&A&&("center"===J||"right"===J)&&(a+={center:.5,right:1}[J]*(G-A.width));if(a!==d.x||b!==d.y)d.attr("x",a),d.hasBoxWidthChanged&&(A=d.getBBox(!0),u()),void 0!==b&&d.attr("y",b);d.x=a;d.y=b};S=function(a,b){N?N.attr(a,b):n[a]=b};t.onAdd=function(){d.add(t);t.attr({text:l||0===l?l:"",x:c,y:e});N&&p(r)&&t.attr({anchorX:r,anchorY:H})};t.widthSetter=function(b){G=a.isNumber(b)?b:null};t.heightSetter=function(a){F=a};t["text-alignSetter"]=function(a){J=a};
102
+ t.paddingSetter=function(a){p(a)&&a!==q&&(q=t.padding=a,O())};t.paddingLeftSetter=function(a){p(a)&&a!==z&&(z=a,O())};t.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==T&&(T=a,A&&t.attr({x:k}))};t.textSetter=function(a){void 0!==a&&d.textSetter(a);u();O()};t["stroke-widthSetter"]=function(a,b){a&&(K=!0);L=this["stroke-width"]=a;S(b,a)};t.strokeSetter=t.fillSetter=t.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(K=!0),t[b]=a);S(b,a)};t.anchorXSetter=function(a,b){r=t.anchorX=a;S(b,Math.round(a)-
103
+ v()-k)};t.anchorYSetter=function(a,b){H=t.anchorY=a;S(b,a-P)};t.xSetter=function(a){t.x=a;T&&(a-=T*((G||A.width)+2*q),t["forceAnimate:x"]=!0);k=Math.round(a);t.attr("translateX",k)};t.ySetter=function(a){P=t.y=Math.round(a);t.attr("translateY",P)};var V=t.css;return b(t,{css:function(a){if(a){var b={};a=I(a);m(t.textProps,function(l){void 0!==a[l]&&(b[l]=a[l],delete a[l])});d.css(b);"width"in b&&u()}return V.call(t,a)},getBBox:function(){return{width:A.width+2*q,height:A.height+2*q,x:A.x-q,y:A.y-
104
+ q}},shadow:function(a){a&&(u(),N&&N.shadow(a));return t},destroy:function(){x(t.element,"mouseenter");x(t.element,"mouseleave");d&&(d=d.destroy());N&&(N=N.destroy());B.prototype.destroy.call(t);t=E=u=O=S=null}})}});a.Renderer=C})(M);(function(a){var B=a.attr,C=a.createElement,D=a.css,n=a.defined,d=a.each,k=a.extend,u=a.isFirefox,v=a.isMS,q=a.isWebKit,p=a.pick,y=a.pInt,g=a.SVGRenderer,h=a.win,m=a.wrap;k(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,
105
+ f=p(b&&a.width,void 0);b&&(delete a.width,this.textWidth=f,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=k(this.styles,a);D(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,f=this.translateX||0,e=this.translateY||0,h=this.x||0,m=this.y||0,g=this.textAlign||
106
+ "left",p={left:0,center:.5,right:1}[g],A=this.styles,q=A&&A.whiteSpace;D(c,{marginLeft:f,marginTop:e});this.shadows&&d(this.shadows,function(a){D(a,{marginLeft:f+1,marginTop:e+1})});this.inverted&&d(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var A=this.rotation,r=this.textWidth&&y(this.textWidth),I=[A,g,c.innerHTML,this.textWidth,this.textAlign].join(),E;(E=r!==this.oldTextWidth)&&!(E=r>this.oldTextWidth)&&((E=this.textPxLength)||(D(c,{width:"",whiteSpace:q||"nowrap"}),E=
107
+ c.offsetWidth),E=E>r);E&&/[ \-]/.test(c.textContent||c.innerText)?(D(c,{width:r+"px",display:"block",whiteSpace:q||"normal"}),this.oldTextWidth=r,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;I!==this.cTT&&(q=a.fontMetrics(c.style.fontSize).b,!n(A)||A===(this.oldRotation||0)&&g===this.oldAlign||this.setSpanRotation(A,p,q),this.getSpanCorrection(!n(A)&&this.textPxLength||c.offsetWidth,q,p,A,g));D(c,{left:h+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=I;this.oldRotation=A;this.oldAlign=
108
+ g}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,f){var b={},h=this.renderer.getTransformKey();b[h]=b.transform="rotate("+a+"deg)";b[h+(u?"Origin":"-origin")]=b.transformOrigin=100*c+"% "+f+"px";D(this.element,b)},getSpanCorrection:function(a,c,f){this.xCorr=-a*f;this.yCorr=-c}});k(g.prototype,{getTransformKey:function(){return v&&!/Edge/.test(h.navigator.userAgent)?"-ms-transform":q?"-webkit-transform":u?"MozTransform":h.opera?"-o-transform":""},html:function(a,c,f){var b=this.createElement("span"),
109
+ h=b.element,g=b.renderer,t=g.isSVG,q=function(a,b){d(["opacity","visibility"],function(c){m(a,c+"Setter",function(a,c,f,e){a.call(this,c,f,e);b[f]=c})});a.addedSetters=!0};b.textSetter=function(a){a!==h.innerHTML&&delete this.bBox;this.textStr=a;h.innerHTML=p(a,"");b.doTransform=!0};t&&q(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,c){"align"===c&&(c="textAlign");b[c]=a;b.doTransform=!0};b.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=
110
+ !1)};b.attr({text:a,x:Math.round(c),y:Math.round(f)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});h.style.whiteSpace="nowrap";b.css=b.htmlCss;t&&(b.add=function(a){var c,f=g.box.parentNode,e=[];if(this.parentGroup=a){if(c=a.div,!c){for(;a;)e.push(a),a=a.parentGroup;d(e.reverse(),function(a){function r(b,l){a[l]=b;"translateX"===l?h.left=b+"px":h.top=b+"px";a.doTransform=!0}var h,l=B(a.element,"class");l&&(l={className:l});c=a.div=a.div||C("div",l,{position:"absolute",
111
+ left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||f);h=c.style;k(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(c),on:function(){e[0].div&&b.on.apply({element:e[0].div},arguments);return a},translateXSetter:r,translateYSetter:r});a.addedSetters||q(a,h)})}}else c=f;c.appendChild(h);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(M);
112
+ (function(a){var B=a.correctFloat,C=a.defined,D=a.destroyObjectProperties,n=a.fireEvent,d=a.isNumber,k=a.merge,u=a.pick,v=a.deg2rad;a.Tick=function(a,p,d,g,h){this.axis=a;this.pos=p;this.type=d||"";this.isNewLabel=this.isNew=!0;this.parameters=h||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;d||g||this.addLabel()};a.Tick.prototype={addLabel:function(){var d=this,p=d.axis,n=p.options,g=p.chart,h=p.categories,m=p.names,b=d.pos,c=u(d.options&&d.options.labels,
113
+ n.labels),f=p.tickPositions,e=b===f[0],w=b===f[f.length-1],h=this.parameters.category||(h?u(h[b],m[b],b):b),G=d.label,f=f.info,t,K,A,F;p.isDatetimeAxis&&f&&(K=g.time.resolveDTLFormat(n.dateTimeLabelFormats[!n.grid&&f.higherRanks[b]||f.unitName]),t=K.main);d.isFirst=e;d.isLast=w;d.formatCtx={axis:p,chart:g,isFirst:e,isLast:w,dateTimeLabelFormat:t,tickPositionInfo:f,value:p.isLog?B(p.lin2log(h)):h,pos:b};n=p.labelFormatter.call(d.formatCtx,this.formatCtx);if(F=K&&K.list)d.shortenLabel=function(){for(A=
114
+ 0;A<F.length;A++)if(G.attr({text:p.labelFormatter.call(a.extend(d.formatCtx,{dateTimeLabelFormat:F[A]}))}),G.getBBox().width<p.getSlotWidth(d)-2*u(c.padding,5))return;G.attr({text:""})};if(C(G))G&&G.textStr!==n&&(!G.textWidth||c.style&&c.style.width||G.styles.width||G.css({width:null}),G.attr({text:n}));else{if(d.label=G=C(n)&&c.enabled?g.renderer.text(n,0,0,c.useHTML).css(k(c.style)).add(p.labelGroup):null)G.textPxLength=G.getBBox().width;d.rotation=0}},getLabelSize:function(){return this.label?
115
+ this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var d=this.axis,q=d.options.labels,g=a.x,h=d.chart.chartWidth,m=d.chart.spacing,b=u(d.labelLeft,Math.min(d.pos,m[3])),m=u(d.labelRight,Math.max(d.isRadial?0:d.pos+d.len,h-m[1])),c=this.label,f=this.rotation,e={left:0,center:.5,right:1}[d.labelAlign||c.attr("align")],w=c.getBBox().width,G=d.getSlotWidth(this),t=G,k=1,A,n={};if(f||"justify"!==u(q.overflow,"justify"))0>f&&g-e*w<b?A=Math.round(g/Math.cos(f*v)-b):0<f&&
116
+ g+e*w>m&&(A=Math.round((h-g)/Math.cos(f*v)));else if(h=g+(1-e)*w,g-e*w<b?t=a.x+t*(1-e)-b:h>m&&(t=m-a.x+t*e,k=-1),t=Math.min(G,t),t<G&&"center"===d.labelAlign&&(a.x+=k*(G-t-e*(G-Math.min(w,t)))),w>t||d.autoRotation&&(c.styles||{}).width)A=t;A&&(this.shortenLabel?this.shortenLabel():(n.width=A,(q.style||{}).textOverflow||(n.textOverflow="ellipsis"),c.css(n)))},getPosition:function(d,p,k,g){var h=this.axis,m=h.chart,b=g&&m.oldChartHeight||m.chartHeight;d={x:d?a.correctFloat(h.translate(p+k,null,null,
117
+ g)+h.transB):h.left+h.offset+(h.opposite?(g&&m.oldChartWidth||m.chartWidth)-h.right-h.left:0),y:d?b-h.bottom+h.offset-(h.opposite?h.height:0):a.correctFloat(b-h.translate(p+k,null,null,g)-h.transB)};n(this,"afterGetPosition",{pos:d});return d},getLabelPosition:function(a,d,k,g,h,m,b,c){var f=this.axis,e=f.transA,w=f.reversed,p=f.staggerLines,t=f.tickRotCorr||{x:0,y:0},q=h.y,A=g||f.reserveSpaceDefault?0:-f.labelOffset*("center"===f.labelAlign?.5:1),F={};C(q)||(q=0===f.side?k.rotation?-8:-k.getBBox().height:
118
+ 2===f.side?t.y+8:Math.cos(k.rotation*v)*(t.y-k.getBBox(!1,0).height/2));a=a+h.x+A+t.x-(m&&g?m*e*(w?-1:1):0);d=d+q-(m&&!g?m*e*(w?1:-1):0);p&&(k=b/(c||1)%p,f.opposite&&(k=p-k-1),d+=f.labelOffset/p*k);F.x=a;F.y=Math.round(d);n(this,"afterGetLabelPosition",{pos:F});return F},getMarkPath:function(a,d,k,g,h,m){return m.crispLine(["M",a,d,"L",a+(h?0:-k),d+(h?k:0)],g)},renderGridLine:function(a,d,k){var g=this.axis,h=g.options,m=this.gridLine,b={},c=this.pos,f=this.type,e=u(this.tickmarkOffset,g.tickmarkOffset),
119
+ w=g.chart.renderer,p=f?f+"Grid":"grid",t=h[p+"LineWidth"],q=h[p+"LineColor"],h=h[p+"LineDashStyle"];m||(b.stroke=q,b["stroke-width"]=t,h&&(b.dashstyle=h),f||(b.zIndex=1),a&&(d=0),this.gridLine=m=w.path().attr(b).addClass("highcharts-"+(f?f+"-":"")+"grid-line").add(g.gridGroup));if(m&&(k=g.getPlotLinePath(c+e,m.strokeWidth()*k,a,"pass")))m[a||this.isNew?"attr":"animate"]({d:k,opacity:d})},renderMark:function(a,d,k){var g=this.axis,h=g.options,m=g.chart.renderer,b=this.type,c=b?b+"Tick":"tick",f=g.tickSize(c),
120
+ e=this.mark,w=!e,p=a.x;a=a.y;var t=u(h[c+"Width"],!b&&g.isXAxis?1:0),h=h[c+"Color"];f&&(g.opposite&&(f[0]=-f[0]),w&&(this.mark=e=m.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(g.axisGroup),e.attr({stroke:h,"stroke-width":t})),e[w?"attr":"animate"]({d:this.getMarkPath(p,a,f[0],e.strokeWidth()*k,g.horiz,m),opacity:d}))},renderLabel:function(a,p,k,g){var h=this.axis,m=h.horiz,b=h.options,c=this.label,f=b.labels,e=f.step,h=u(this.tickmarkOffset,h.tickmarkOffset),w=!0,G=a.x;a=a.y;c&&d(G)&&(c.xy=
121
+ a=this.getLabelPosition(G,a,c,m,f,h,g,e),this.isFirst&&!this.isLast&&!u(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!u(b.showLastLabel,1)?w=!1:!m||f.step||f.rotation||p||0===k||this.handleOverflow(a),e&&g%e&&(w=!1),w&&d(a.y)?(a.opacity=k,c[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(d,p,k){var g=this.axis,h=g.horiz,m=this.pos,b=u(this.tickmarkOffset,g.tickmarkOffset),m=this.getPosition(h,m,b,p),b=m.x,c=m.y,g=h&&b===g.pos+g.len||
122
+ !h&&c===g.pos?-1:1;k=u(k,1);this.isActive=!0;this.renderGridLine(p,k,g);this.renderMark(m,k,g);this.renderLabel(m,p,k,d);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){D(this,this.axis)}}})(M);var W=function(a){var B=a.addEvent,C=a.animObject,D=a.arrayMax,n=a.arrayMin,d=a.color,k=a.correctFloat,u=a.defaultOptions,v=a.defined,q=a.deg2rad,p=a.destroyObjectProperties,y=a.each,g=a.extend,h=a.fireEvent,m=a.format,b=a.getMagnitude,c=a.grep,f=a.inArray,e=a.isArray,w=a.isNumber,G=a.isString,
123
+ t=a.merge,K=a.normalizeTickInterval,A=a.objectEach,F=a.pick,r=a.removeEvent,I=a.splat,E=a.syncTimeout,L=a.Tick,J=function(){this.init.apply(this,arguments)};a.extend(J.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",
124
+ cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,
125
+ tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},
126
+ defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var l=b.isX,c=this;c.chart=a;c.horiz=a.inverted&&!c.isZAxis?!l:l;c.isXAxis=l;c.coll=c.coll||(l?"xAxis":"yAxis");h(this,"init",{userOptions:b});c.opposite=b.opposite;c.side=b.side||(c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(b);var x=this.options,e=x.type;c.labelFormatter=x.labels.formatter||c.defaultLabelFormatter;c.userOptions=b;c.minPixelPadding=0;c.reversed=x.reversed;c.visible=!1!==x.visible;
127
+ c.zoomEnabled=!1!==x.zoomEnabled;c.hasNames="category"===e||!0===x.categories;c.categories=x.categories||c.hasNames;c.names||(c.names=[],c.names.keys={});c.plotLinesAndBandsGroups={};c.isLog="logarithmic"===e;c.isDatetimeAxis="datetime"===e;c.positiveValuesOnly=c.isLog&&!c.allowNegativeLog;c.isLinked=v(x.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=c.userMinRange=x.minRange||x.maxZoom;c.range=x.range;c.offset=x.offset||0;c.stacks=
128
+ {};c.oldStacks={};c.stacksTouched=0;c.max=null;c.min=null;c.crosshair=F(x.crosshair,I(a.options.tooltip.crosshairs)[l?0:1],!1);b=c.options.events;-1===f(c,a.axes)&&(l?a.axes.splice(a.xAxis.length,0,c):a.axes.push(c),a[c.coll].push(c));c.series=c.series||[];a.inverted&&!c.isZAxis&&l&&void 0===c.reversed&&(c.reversed=!0);A(b,function(a,b){B(c,b,a)});c.lin2log=x.linearToLogConverter||c.lin2log;c.isLog&&(c.val2lin=c.log2lin,c.lin2val=c.lin2log);h(this,"afterInit")},setOptions:function(a){this.options=
129
+ t(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],t(u[this.coll],a));h(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,c=this.value,f=b.chart.time,e=b.categories,r=this.dateTimeLabelFormat,h=u.lang,d=h.numericSymbols,h=h.numericSymbolMagnitude||1E3,g=d&&d.length,t,w=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;
130
+ if(w)t=m(w,this,f);else if(e)t=c;else if(r)t=f.dateFormat(r,c);else if(g&&1E3<=b)for(;g--&&void 0===t;)f=Math.pow(h,g+1),b>=f&&0===10*c%f&&null!==d[g]&&0!==c&&(t=a.numberFormat(c/f,-1)+d[g]);void 0===t&&(t=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return t},getSeriesExtremes:function(){var a=this,b=a.chart;h(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();y(a.series,
131
+ function(l){if(l.visible||!b.options.chart.ignoreHiddenSeries){var x=l.options,f=x.threshold,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=f&&(f=null);if(a.isXAxis)x=l.xData,x.length&&(l=n(x),e=D(x),w(l)||l instanceof Date||(x=c(x,w),l=n(x),e=D(x)),x.length&&(a.dataMin=Math.min(F(a.dataMin,x[0],l),l),a.dataMax=Math.max(F(a.dataMax,x[0],e),e)));else if(l.getExtremes(),e=l.dataMax,l=l.dataMin,v(l)&&v(e)&&(a.dataMin=Math.min(F(a.dataMin,l),l),a.dataMax=Math.max(F(a.dataMax,e),e)),v(f)&&(a.threshold=
132
+ f),!x.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")},translate:function(a,b,c,f,e,r){var l=this.linkedParent||this,x=1,h=0,H=f?l.oldTransA:l.transA;f=f?l.oldMin:l.min;var d=l.minPixelPadding;e=(l.isOrdinal||l.isBroken||l.isLog&&e)&&l.lin2val;H||(H=l.transA);c&&(x*=-1,h=l.len);l.reversed&&(x*=-1,h-=x*(l.sector||l.len));b?(a=(a*x+h-d)/H+f,e&&(a=l.lin2val(a))):(e&&(a=l.val2lin(a)),a=w(f)?x*(a-f)*H+h+x*d+(w(r)?H*r:0):void 0);return a},toPixels:function(a,
133
+ b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,f,e){var l=this.chart,x=this.left,r=this.top,h,H,d=c&&l.oldChartHeight||l.chartHeight,g=c&&l.oldChartWidth||l.chartWidth,m;h=this.transB;var t=function(a,b,c){if("pass"!==f&&a<b||a>c)f?a=Math.min(Math.max(b,a),c):m=!0;return a};e=F(e,this.translate(a,null,null,c));e=Math.min(Math.max(-1E5,e),1E5);a=c=Math.round(e+h);
134
+ h=H=Math.round(d-e-h);w(e)?this.horiz?(h=r,H=d-this.bottom,a=c=t(a,x,x+this.width)):(a=x,c=g-this.right,h=H=t(h,r,r+this.height)):(m=!0,f=!1);return m&&!f?null:l.renderer.crispLine(["M",a,h,"L",c,H],b||1)},getLinearTickPositions:function(a,b,c){var l,f=k(Math.floor(b/a)*a);c=k(Math.ceil(c/a)*a);var x=[],e;k(f+a)===f&&(e=20);if(this.single)return[b];for(b=f;b<=c;){x.push(b);b=k(b+a,e);if(b===l)break;l=b}return x},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?F(a.minorTickInterval,
135
+ "auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,e=[],r=a.pointRangePadding||0,h=a.min-r,r=a.max+r,d=r-h;if(d&&d/f<a.len/3)if(a.isLog)y(this.paddedTicks,function(b,c,l){c&&e.push.apply(e,a.getLogTickPositions(f,l[c-1],l[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())e=e.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),h,r,b.startOfWeek));else for(b=h+(c[0]-h)%f;b<=r&&b!==
136
+ e[0];b+=f)e.push(b);0!==e.length&&a.trimTicks(e);return e},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,f,e,r,h,d,g,m,t;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(v(a.min)||v(a.max)?this.minRange=null:(y(this.series,function(a){g=a.xData;for(h=m=a.xIncrement?1:g.length-1;0<h;h--)if(d=g[h]-g[h-1],void 0===r||d<r)r=d}),this.minRange=Math.min(5*r,this.dataMax-this.dataMin)));c-b<this.minRange&&(e=this.dataMax-this.dataMin>=this.minRange,t=this.minRange,f=(t-c+b)/2,f=
137
+ [b-f,F(a.min,b-f)],e&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=D(f),c=[b+t,F(a.max,b+t)],e&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=n(c),c-b<t&&(f[0]=c-t,f[1]=F(a.min,c-t),b=D(f)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:y(this.series,function(b){var c=b.closestPointRange,l=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&v(c)&&l&&(a=v(a)?Math.min(a,c):c)});return a},nameToX:function(a){var b=e(this.categories),
138
+ c=b?this.categories:this.names,l=a.options.x,r;a.series.requireSorting=!1;v(l)||(l=!1===this.options.uniqueNames?a.series.autoIncrement():b?f(a.name,c):F(c.keys[a.name],-1));-1===l?b||(r=c.length):r=l;void 0!==r&&(this.names[r]=a.name,this.names.keys[a.name]=r);return r},updateNames:function(){var b=this,c=this.names;0<c.length&&(y(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,y(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),
139
+ a.generatePoints();y(a.points,function(c,l){var f;c.options&&(f=b.nameToX(c),void 0!==f&&f!==c.x&&(c.x=f,a.xData[l]=f))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,l=b.axisPointRange||0,f,e=0,r=0,d=b.linkedParent,g=!!b.categories,m=b.transA,t=b.isXAxis;if(t||g||l)f=b.getClosest(),d?(e=d.minPointOffset,r=d.pointRangePadding):y(b.series,function(a){var c=g?1:t?F(a.options.pointRange,f,0):b.axisPointRange||0;a=a.options.pointPlacement;l=Math.max(l,c);b.single||(e=Math.max(e,G(a)?0:
140
+ c/2),r=Math.max(r,"on"===a?0:c))}),d=b.ordinalSlope&&f?b.ordinalSlope/f:1,b.minPointOffset=e*=d,b.pointRangePadding=r*=d,b.pointRange=Math.min(l,c),t&&(b.closestPointRange=f);a&&(b.oldTransA=m);b.translationSlope=b.transA=m=b.staticScale||b.len/(c+r||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=m*e;h(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(c){var l=this,f=l.chart,e=l.options,r=l.isLog,d=l.isDatetimeAxis,g=l.isXAxis,m=l.isLinked,
141
+ t=e.maxPadding,E=e.minPadding,p=e.tickInterval,I=e.tickPixelInterval,A=l.categories,G=w(l.threshold)?l.threshold:null,q=l.softThreshold,n,J,L,u;d||A||m||this.getTickAmount();L=F(l.userMin,e.min);u=F(l.userMax,e.max);m?(l.linkedParent=f[l.coll][e.linkedTo],f=l.linkedParent.getExtremes(),l.min=F(f.min,f.dataMin),l.max=F(f.max,f.dataMax),e.type!==l.linkedParent.options.type&&a.error(11,1)):(!q&&v(G)&&(l.dataMin>=G?(n=G,E=0):l.dataMax<=G&&(J=G,t=0)),l.min=F(L,n,l.dataMin),l.max=F(u,J,l.dataMax));r&&(l.positiveValuesOnly&&
142
+ !c&&0>=Math.min(l.min,F(l.dataMin,l.min))&&a.error(10,1),l.min=k(l.log2lin(l.min),15),l.max=k(l.log2lin(l.max),15));l.range&&v(l.max)&&(l.userMin=l.min=L=Math.max(l.dataMin,l.minFromRange()),l.userMax=u=l.max,l.range=null);h(l,"foundExtremes");l.beforePadding&&l.beforePadding();l.adjustForMinRange();!(A||l.axisPointRange||l.usePercentage||m)&&v(l.min)&&v(l.max)&&(f=l.max-l.min)&&(!v(L)&&E&&(l.min-=f*E),!v(u)&&t&&(l.max+=f*t));w(e.softMin)&&!w(l.userMin)&&(l.min=Math.min(l.min,e.softMin));w(e.softMax)&&
143
+ !w(l.userMax)&&(l.max=Math.max(l.max,e.softMax));w(e.floor)&&(l.min=Math.max(l.min,e.floor));w(e.ceiling)&&(l.max=Math.min(l.max,e.ceiling));q&&v(l.dataMin)&&(G=G||0,!v(L)&&l.min<G&&l.dataMin>=G?l.min=G:!v(u)&&l.max>G&&l.dataMax<=G&&(l.max=G));l.tickInterval=l.min===l.max||void 0===l.min||void 0===l.max?1:m&&!p&&I===l.linkedParent.options.tickPixelInterval?p=l.linkedParent.tickInterval:F(p,this.tickAmount?(l.max-l.min)/Math.max(this.tickAmount-1,1):void 0,A?1:(l.max-l.min)*I/Math.max(l.len,I));g&&
144
+ !c&&y(l.series,function(a){a.processData(l.min!==l.oldMin||l.max!==l.oldMax)});l.setAxisTranslation(!0);l.beforeSetTickPositions&&l.beforeSetTickPositions();l.postProcessTickInterval&&(l.tickInterval=l.postProcessTickInterval(l.tickInterval));l.pointRange&&!p&&(l.tickInterval=Math.max(l.pointRange,l.tickInterval));c=F(e.minTickInterval,l.isDatetimeAxis&&l.closestPointRange);!p&&l.tickInterval<c&&(l.tickInterval=c);d||r||p||(l.tickInterval=K(l.tickInterval,null,b(l.tickInterval),F(e.allowDecimals,
145
+ !(.5<l.tickInterval&&5>l.tickInterval&&1E3<l.max&&9999>l.max)),!!this.tickAmount));this.tickAmount||(l.tickInterval=l.unsquish());this.setTickPositions()},setTickPositions:function(){var b=this.options,c,f=b.tickPositions;c=this.getMinorTickInterval();var e=b.tickPositioner,r=b.startOnTick,d=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&
146
+ v(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=f&&f.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):
147
+ this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=c=e);this.paddedTicks=c.slice(0);this.trimTicks(c,r,d);this.isLinked||(this.single&&2>c.length&&(this.min-=.5,this.max+=.5),f||e||this.adjustTickAmount());h(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var l=a[0],f=a[a.length-1],e=this.minPointOffset||0;if(!this.isLinked){if(b&&
148
+ -Infinity!==l)this.min=l;else for(;this.min-e>a[0];)a.shift();if(c)this.max=f;else for(;this.max+e<a[a.length-1];)a.pop();0===a.length&&v(l)&&!this.options.tickPositions&&a.push((f+l)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||y(this.chart[this.coll],function(c){var l=c.options,l=[c.horiz?l.left:l.top,l.width,l.height,l.pane].join();c.series.length&&(a[l]?b=!0:a[l]=1)});return b},
149
+ getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!v(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,f=this.finalTickAmt,e=b&&b.length,r=F(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(e<c){for(;b.length<c;)b.length%
150
+ 2||this.min===r?b.push(k(b[b.length-1]+a)):b.unshift(k(b[0]-a));this.transA*=(e-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else e>c&&(this.tickInterval*=2,this.setTickPositions());if(v(f)){for(a=c=b.length;a--;)(3===f&&1===a%2||2>=f&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;y(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=
151
+ !0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();h(this,"afterSetScale")},setExtremes:function(a,b,c,f,e){var l=this,r=l.chart;c=F(c,!0);y(l.series,
152
+ function(a){delete a.kdTree});e=g(e,{min:a,max:b});h(l,"setExtremes",e,function(){l.userMin=a;l.userMax=b;l.eventArgs=e;c&&r.redraw(f)})},zoom:function(a,b){var c=this.dataMin,l=this.dataMax,f=this.options,e=Math.min(c,F(f.min,c)),f=Math.max(l,F(f.max,l));if(a!==this.min||b!==this.max)this.allowZoomOutside||(v(c)&&(a<e&&(a=e),a>f&&(a=f)),v(l)&&(b<e&&(b=e),b>f&&(b=f))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,
153
+ c=this.options,f=c.offsets||[0,0,0,0],e=this.horiz,r=this.width=Math.round(a.relativeLength(F(c.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),h=this.height=Math.round(a.relativeLength(F(c.height,b.plotHeight-f[0]+f[2]),b.plotHeight)),d=this.top=Math.round(a.relativeLength(F(c.top,b.plotTop+f[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(F(c.left,b.plotLeft+f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-h-d;this.right=b.chartWidth-r-c;this.len=Math.max(e?r:h,0);this.pos=
154
+ e?c:d},getExtremes:function(){var a=this.isLog;return{min:a?k(this.lin2log(this.min)):this.min,max:a?k(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(F(a,0)-90*this.side+720)%360;return 15<
155
+ a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],l=F(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(l&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,l]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,f=c,
156
+ e=this.len/(((this.categories?1:0)+this.max-this.min)/c),r,h=a.rotation,d=this.labelMetrics(),g,m=Number.MAX_VALUE,t,w=function(a){a/=e||1;a=1<a?Math.ceil(a):1;return k(a*c)};b?(t=!a.staggerLines&&!a.step&&(v(h)?[h]:e<F(a.autoRotationLimit,80)&&a.autoRotation))&&y(t,function(a){var b;if(a===h||a&&-90<=a&&90>=a)g=w(Math.abs(d.h/Math.sin(q*a))),b=g+Math.abs(a/360),b<m&&(m=b,r=a,f=g)}):a.step||(f=w(d.h));this.autoRotation=t;this.labelRotation=F(r,h);return f},getSlotWidth:function(a){var b=this.chart,
157
+ c=this.horiz,l=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),e=b.margin[3];return a&&a.slotWidth||c&&2>(l.step||0)&&!l.rotation&&(this.staggerLines||1)*this.len/f||!c&&(l.style&&parseInt(l.style.width,10)||e&&e-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,f=this.ticks,e=this.options.labels,r=e&&e.style||{},h=this.horiz,d=this.getSlotWidth(),g=Math.max(1,Math.round(d-2*(e.padding||5))),m={},t=this.labelMetrics(),
158
+ w=e.style&&e.style.textOverflow,E,p,I=0,A;G(e.rotation)||(m.rotation=e.rotation||0);y(c,function(a){(a=f[a])&&a.label&&a.label.textPxLength>I&&(I=a.label.textPxLength)});this.maxLabelLength=I;if(this.autoRotation)I>g&&I>t.h?m.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(E=g,!w))for(p="clip",g=c.length;!h&&g--;)if(A=c[g],A=f[A].label)A.styles&&"ellipsis"===A.styles.textOverflow?A.css({textOverflow:"clip"}):A.textPxLength>d&&A.css({width:d+"px"}),A.getBBox().height>this.len/c.length-
159
+ (t.h-t.f)&&(A.specificTextOverflow="ellipsis");m.rotation&&(E=I>.5*a.chartHeight?.33*a.chartHeight:I,w||(p="ellipsis"));if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))m.align=this.labelAlign;y(c,function(a){var b=(a=f[a])&&a.label,c=r.width,l={};b&&(b.attr(m),a.shortenLabel?a.shortenLabel():E&&!c&&"nowrap"!==r.whiteSpace&&(E<b.textPxLength||"SPAN"===b.element.tagName)?(l.width=E,w||(l.textOverflow=b.specificTextOverflow||p),b.css(l)):b.styles&&b.styles.width&&!l.width&&!c&&b.css({width:null}),
160
+ delete b.specificTextOverflow,a.rotation=m.rotation)},this);this.tickRotCorr=b.rotCorr(t.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||v(this.min)&&v(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,l=this.opposite,f=this.options.title,e;this.axisTitle||((e=f.textAlign)||(e=(c?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[f.align]),
161
+ this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:e}).addClass("highcharts-axis-title").css(t(f.style)).add(this.axisGroup),this.axisTitle.isNew=!0);f.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new L(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,f=a.options,e=a.tickPositions,r=a.ticks,d=a.horiz,g=a.side,m=b.inverted&&
162
+ !a.isZAxis?[1,0,3,2][g]:g,t,w,E=0,p,I=0,k=f.title,G=f.labels,q=0,n=b.axisOffset,b=b.clipOffset,J=[-1,1,1,-1][g],L=f.className,K=a.axisParent;t=a.hasData();a.showAxis=w=t||F(f.showEmpty,!0);a.staggerLines=a.horiz&&G.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(L||"")).add(K),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(L||"")).add(K),a.labelGroup=c.g("axis-labels").attr({zIndex:G.zIndex||
163
+ 7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(L||"")).add(K));t||a.isLinked?(y(e,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===g||2===g||{1:"left",3:"right"}[g]===a.labelAlign,F(G.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&y(e,function(a){q=Math.max(r[a].getLabelSize(),q)}),a.staggerLines&&(q*=a.staggerLines),a.labelOffset=q*(a.opposite?-1:1)):A(r,function(a,b){a.destroy();delete r[b]});k&&k.text&&!1!==k.enabled&&(a.addTitle(w),
164
+ w&&!1!==k.reserveSpace&&(a.titleOffset=E=a.axisTitle.getBBox()[d?"height":"width"],p=k.offset,I=v(p)?0:F(k.margin,d?5:10)));a.renderLine();a.offset=J*F(f.offset,n[g]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===g?-a.labelMetrics().h:2===g?a.tickRotCorr.y:0;I=Math.abs(q)+I;q&&(I=I-c+J*(d?F(G.y,a.tickRotCorr.y+8*J):G.x));a.axisTitleMargin=F(p,I);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(r,e));d=this.tickSize("tick");n[g]=Math.max(n[g],a.axisTitleMargin+E+J*a.offset,I,t&&
165
+ e.length&&d?d[0]+J*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[m]=Math.max(b[m],f);h(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,f=this.offset,e=this.horiz,l=this.left+(c?this.width:0)+f,f=b.chartHeight-this.bottom-(c?this.height:0)+f;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:l,e?f:this.top,"L",e?b.chartWidth-this.right:l,e?f:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),
166
+ this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,f=this.len,e=this.options.title,r=a?b:c,h=this.opposite,d=this.offset,g=e.x||0,m=e.y||0,t=this.axisTitle,w=this.chart.renderer.fontMetrics(e.style&&e.style.fontSize,t),t=Math.max(t.getBBox(null,0).height-w.h-1,0),f={low:r+(a?0:f),middle:r+f/2,high:r+(a?f:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(h?-1:1)*this.axisTitleMargin+[-t,
167
+ t,w.f,-t][this.side];return{x:a?f+g:b+(h?this.width:0)+d+g,y:a?b+m-(h?this.height:0)+d:f+m}},renderMinorTick:function(a){var b=this.chart.hasRendered&&w(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new L(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,f=this.ticks,e=this.chart.hasRendered&&w(this.oldMin);if(!c||a>=this.min&&a<=this.max)f[a]||(f[a]=new L(this,a)),e&&f[a].isNew&&f[a].render(b,!0,-1),f[a].render(b)},render:function(){var b=
168
+ this,c=b.chart,f=b.options,e=b.isLog,r=b.isLinked,d=b.tickPositions,g=b.axisTitle,t=b.ticks,m=b.minorTicks,p=b.alternateBands,I=f.stackLabels,k=f.alternateGridColor,G=b.tickmarkOffset,q=b.axisLine,n=b.showAxis,J=C(c.renderer.globalAnimation),F,K;b.labelEdge.length=0;b.overlap=!1;y([t,m,p],function(a){A(a,function(a){a.isActive=!1})});if(b.hasData()||r)b.minorTickInterval&&!b.categories&&y(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),d.length&&(y(d,function(a,c){b.renderTick(a,c)}),
169
+ G&&(0===b.min||b.single)&&(t[-1]||(t[-1]=new L(b,-1,null,!0)),t[-1].render(-1))),k&&y(d,function(f,l){K=void 0!==d[l+1]?d[l+1]+G:b.max-G;0===l%2&&f<b.max&&K<=b.max+(c.polar?-G:G)&&(p[f]||(p[f]=new a.PlotLineOrBand(b)),F=f+G,p[f].options={from:e?b.lin2log(F):F,to:e?b.lin2log(K):K,color:k},p[f].render(),p[f].isActive=!0)}),b._addedPlotLB||(y((f.plotLines||[]).concat(f.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);y([t,m,p],function(a){var b,f=[],e=J.duration;A(a,function(a,
170
+ b){a.isActive||(a.render(b,!1,0),a.isActive=!1,f.push(b))});E(function(){for(b=f.length;b--;)a[f[b]]&&!a[f[b]].isActive&&(a[f[b]].destroy(),delete a[f[b]])},a!==p&&c.hasRendered&&e?e:0)});q&&(q[q.isPlaced?"animate":"attr"]({d:this.getLinePath(q.strokeWidth())}),q.isPlaced=!0,q[n?"show":"hide"](!0));g&&n&&(f=b.getTitlePosition(),w(f.y)?(g[g.isNew?"attr":"animate"](f),g.isNew=!1):(g.attr("y",-9999),g.isNew=!0));I&&I.enabled&&b.renderStackTotals();b.isDirty=!1;h(this,"afterRender")},redraw:function(){this.visible&&
171
+ (this.render(),y(this.plotLinesAndBands,function(a){a.render()}));y(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,e=b.plotLinesAndBands,l;h(this,"destroy",{keepEvents:a});a||r(b);A(c,function(a,b){p(a);c[b]=null});y([b.ticks,b.minorTicks,b.alternateBands],function(a){p(a)});if(e)for(a=e.length;a--;)e[a].destroy();y("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),
172
+ function(a){b[a]&&(b[a]=b[a].destroy())});for(l in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[l]=b.plotLinesAndBandsGroups[l].destroy();A(b,function(a,c){-1===f(c,b.keepProps)&&delete b[c]})},drawCrosshair:function(a,b){var c,f=this.crosshair,e=F(f.snap,!0),l,r=this.cross;h(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(v(b)||!e)){e?v(b)&&(l=F(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):l=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+
173
+ this.pos);v(l)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:F(b.stackY,b.y)),null,null,null,l)||null);if(!v(c)){this.hideCrosshair();return}e=this.categories&&!this.isRadial;r||(this.cross=r=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(e?"category ":"thin ")+f.className).attr({zIndex:F(f.zIndex,2)}).add(),r.attr({stroke:f.color||(e?d("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":F(f.width,1)}).css({"pointer-events":"none"}),f.dashStyle&&r.attr({dashstyle:f.dashStyle}));
174
+ r.show().attr({d:c});e&&!f.width&&r.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=J}(M);(function(a){var B=a.Axis,C=a.getMagnitude,D=a.map,n=a.normalizeTickInterval,d=a.pick;B.prototype.getLogTickPositions=function(a,u,v,q){var p=this.options,k=this.len,g=[];q||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),g=this.getLinearTickPositions(a,u,v);
175
+ else if(.08<=a)for(var k=Math.floor(u),h,m,b,c,f,p=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];k<v+1&&!f;k++)for(m=p.length,h=0;h<m&&!f;h++)b=this.log2lin(this.lin2log(k)*p[h]),b>u&&(!q||c<=v)&&void 0!==c&&g.push(c),c>v&&(f=!0),c=b;else u=this.lin2log(u),v=this.lin2log(v),a=q?this.getMinorTickInterval():p.tickInterval,a=d("auto"===a?null:a,this._minorAutoInterval,p.tickPixelInterval/(q?5:1)*(v-u)/((q?k/this.tickPositions.length:k)||1)),a=n(a,null,C(a)),g=D(this.getLinearTickPositions(a,u,v),
176
+ this.log2lin),q||(this._minorAutoInterval=a/5);q||(this.tickInterval=a);return g};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,a)}})(M);(function(a,B){var C=a.arrayMax,D=a.arrayMin,n=a.defined,d=a.destroyObjectProperties,k=a.each,u=a.erase,v=a.merge,q=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var d=this,k=d.axis,g=k.horiz,
177
+ h=d.options,m=h.label,b=d.label,c=h.to,f=h.from,e=h.value,w=n(f)&&n(c),G=n(e),t=d.svgElem,K=!t,A=[],F=h.color,r=q(h.zIndex,0),I=h.events,A={"class":"highcharts-plot-"+(w?"band ":"line ")+(h.className||"")},E={},L=k.chart.renderer,J=w?"bands":"lines";k.isLog&&(f=k.log2lin(f),c=k.log2lin(c),e=k.log2lin(e));G?(A.stroke=F,A["stroke-width"]=h.width,h.dashStyle&&(A.dashstyle=h.dashStyle)):w&&(F&&(A.fill=F),h.borderWidth&&(A.stroke=h.borderColor,A["stroke-width"]=h.borderWidth));E.zIndex=r;J+="-"+r;(F=k.plotLinesAndBandsGroups[J])||
178
+ (k.plotLinesAndBandsGroups[J]=F=L.g("plot-"+J).attr(E).add());K&&(d.svgElem=t=L.path().attr(A).add(F));if(G)A=k.getPlotLinePath(e,t.strokeWidth());else if(w)A=k.getPlotBandPath(f,c,h);else return;K&&A&&A.length?(t.attr({d:A}),I&&a.objectEach(I,function(a,b){t.on(b,function(a){I[b].apply(d,[a])})})):t&&(A?(t.show(),t.animate({d:A})):(t.hide(),b&&(d.label=b=b.destroy())));m&&n(m.text)&&A&&A.length&&0<k.width&&0<k.height&&!A.isFlat?(m=v({align:g&&w&&"center",x:g?!w&&4:10,verticalAlign:!g&&w&&"middle",
179
+ y:g?w?16:10:w?6:-4,rotation:g&&!w&&90},m),this.renderLabel(m,A,w,r)):b&&b.hide();return d},renderLabel:function(a,d,g,h){var m=this.label,b=this.axis.chart.renderer;m||(m={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(g?"band":"line")+"-label "+(a.className||"")},m.zIndex=h,this.label=m=b.text(a.text,0,0,a.useHTML).attr(m).add(),m.css(a.style));h=d.xBounds||[d[1],d[4],g?d[6]:d[1]];d=d.yBounds||[d[2],d[5],g?d[7]:d[2]];g=D(h);b=D(d);m.align(a,!1,{x:g,y:b,width:C(h)-g,height:C(d)-
180
+ b});m.show()},destroy:function(){u(this.axis.plotLinesAndBands,this);delete this.axis;d(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,d){var g=this.getPlotLinePath(d,null,null,!0),h=this.getPlotLinePath(a,null,null,!0),m=[],b=this.horiz,c=1,f;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(h&&g)for(a&&(f=h.toString()===g.toString(),c=0),a=0;a<h.length;a+=6)b&&g[a+1]===h[a+1]?(g[a+1]+=c,g[a+4]+=c):b||g[a+2]!==h[a+2]||(g[a+2]+=c,g[a+5]+=c),m.push("M",h[a+1],h[a+2],"L",h[a+4],h[a+5],g[a+
181
+ 4],g[a+5],g[a+1],g[a+2],"z"),m.isFlat=f;return m},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,k){var g=(new a.PlotLineOrBand(this,d)).render(),h=this.userOptions;g&&(k&&(h[k]=h[k]||[],h[k].push(d)),this.plotLinesAndBands.push(g));return g},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,g=this.options,h=this.userOptions,m=d.length;m--;)d[m].id===a&&d[m].destroy();
182
+ k([g.plotLines||[],h.plotLines||[],g.plotBands||[],h.plotBands||[]],function(b){for(m=b.length;m--;)b[m].id===a&&u(b,b[m])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(M,W);(function(a){var B=a.doc,C=a.each,D=a.extend,n=a.format,d=a.isNumber,k=a.map,u=a.merge,v=a.pick,q=a.splat,p=a.syncTimeout,y=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=
183
+ d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split;this.outside=d.outside&&!this.split},cleanSplit:function(a){C(this.chart.series,function(d){var h=d&&d.tt;h&&(!h.isActive||a?d.tt=h.destroy():h.isActive=!1)})},getLabel:function(){var d=this.chart.renderer,h=this.options,m;this.label||(this.outside&&(this.container=m=a.doc.createElement("div"),m.className="highcharts-tooltip-container",a.css(m,{position:"absolute",top:"1px",pointerEvents:h.style&&
184
+ h.style.pointerEvents}),a.doc.body.appendChild(m),this.renderer=d=new a.Renderer(m,0,0)),this.split?this.label=d.g("tooltip"):(this.label=d.label("",0,0,h.shape||"callout",null,null,h.useHTML,null,"tooltip").attr({padding:h.padding,r:h.borderRadius}),this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth}).css(h.style).shadow(h.shadow)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){m.style.left=a+"px"},this.label.ySetter=function(a){m.style.top=
185
+ a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();u(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,u(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(d,
186
+ h,m,b){var c=this,f=c.now,e=!1!==c.options.animation&&!c.isHidden&&(1<Math.abs(d-f.x)||1<Math.abs(h-f.y)),g=c.followPointer||1<c.len;D(f,{x:e?(2*f.x+d)/3:d,y:e?(f.y+h)/2:h,anchorX:g?void 0:e?(2*f.anchorX+m)/3:m,anchorY:g?void 0:e?(f.anchorY+b)/2:b});c.getLabel().attr(f);e&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){c&&c.move(d,h,m,b)},32))},hide:function(d){var h=this;a.clearTimeout(this.hideTimer);d=v(d,this.options.hideDelay,500);this.isHidden||(this.hideTimer=
187
+ p(function(){h.getLabel()[d?"fadeOut":"hide"]();h.isHidden=!0},d))},getAnchor:function(a,d){var h=this.chart,b=h.pointer,c=h.inverted,f=h.plotTop,e=h.plotLeft,g=0,p=0,t,n;a=q(a);this.followPointer&&d?(void 0===d.chartX&&(d=b.normalize(d)),a=[d.chartX-h.plotLeft,d.chartY-f]):a[0].tooltipPos?a=a[0].tooltipPos:(C(a,function(a){t=a.series.yAxis;n=a.series.xAxis;g+=a.plotX+(!c&&n?n.left-e:0);p+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!c&&t?t.top-f:0)}),g/=a.length,p/=a.length,a=[c?h.plotWidth-p:
188
+ g,this.shared&&!c&&1<a.length&&d?d.chartY-f:c?h.plotHeight-g:p]);return k(a,Math.round)},getPosition:function(a,d,m){var b=this.chart,c=this.distance,f={},e=b.inverted&&m.h||0,h,g=this.outside,t=g?B.documentElement.clientWidth-2*c:b.chartWidth,p=g?Math.max(B.body.scrollHeight,B.documentElement.scrollHeight,B.body.offsetHeight,B.documentElement.offsetHeight,B.documentElement.clientHeight):b.chartHeight,A=b.pointer.chartPosition,k=["y",p,d,(g?A.top-c:0)+m.plotY+b.plotTop,g?0:b.plotTop,g?p:b.plotTop+
189
+ b.plotHeight],r=["x",t,a,(g?A.left-c:0)+m.plotX+b.plotLeft,g?0:b.plotLeft,g?t:b.plotLeft+b.plotWidth],I=!this.followPointer&&v(m.ttBelow,!b.inverted===!!m.negative),E=function(a,b,l,r,d,h){var t=l<r-c,g=r+c+l<b,m=r-c-l;r+=c;if(I&&g)f[a]=r;else if(!I&&t)f[a]=m;else if(t)f[a]=Math.min(h-l,0>m-e?m:m-e);else if(g)f[a]=Math.max(d,r+e+l>b?r:r+e);else return!1},q=function(a,b,e,l){var r;l<c||l>b-c?r=!1:f[a]=l<e/2?1:l>b-e/2?b-e-2:l-e/2;return r},n=function(a){var b=k;k=r;r=b;h=a},l=function(){!1!==E.apply(0,
190
+ k)?!1!==q.apply(0,r)||h||(n(!0),l()):h?f.x=f.y=0:(n(!0),l())};(b.inverted||1<this.len)&&n();l();return f},defaultFormatter:function(a){var d=this.points||q(this),g;g=[a.tooltipFooterHeaderFormatter(d[0])];g=g.concat(a.bodyFormatter(d));g.push(a.tooltipFooterHeaderFormatter(d[0],!0));return g},refresh:function(d,h){var g,b=this.options,c,f=d,e,w={},p=[];g=b.formatter||this.defaultFormatter;var w=this.shared,t;b.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=q(f)[0].series.tooltipOptions.followPointer,
191
+ e=this.getAnchor(f,h),h=e[0],c=e[1],!w||f.series&&f.series.noSharedTooltip?w=f.getLabelConfig():(C(f,function(a){a.setState("hover");p.push(a.getLabelConfig())}),w={x:f[0].category,y:f[0].y},w.points=p,f=f[0]),this.len=p.length,w=g.call(w,this),t=f.series,this.distance=v(t.tooltipOptions.distance,16),!1===w?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(w,q(d)):(b.style.width||g.css({width:this.chart.spacingBox.width}),g.attr({text:w&&w.join?w.join(""):
192
+ w}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+v(f.colorIndex,t.colorIndex)),g.attr({stroke:b.borderColor||f.color||t.color||"#666666"}),this.updatePosition({plotX:h,plotY:c,negative:f.negative,ttBelow:f.ttBelow,h:e[2]||0})),this.isHidden=!1))},renderSplit:function(d,h){var g=this,b=[],c=this.chart,f=c.renderer,e=!0,w=this.options,p=0,t,k=this.getLabel(),A=c.plotTop;a.isString(d)&&(d=[!1,d]);C(d.slice(0,h.length+1),function(a,r){if(!1!==a){r=h[r-1]||{isHeader:!0,plotX:h[0].plotX};
193
+ var d=r.series||g,m=d.tt,q=r.series||{},n="highcharts-color-"+v(r.colorIndex,q.colorIndex,"none");m||(d.tt=m=f.label(null,null,null,"callout",null,null,w.useHTML).addClass("highcharts-tooltip-box "+n+(r.isHeader?" highcharts-tooltip-header":"")).attr({padding:w.padding,r:w.borderRadius,fill:w.backgroundColor,stroke:w.borderColor||r.color||q.color||"#333333","stroke-width":w.borderWidth}).add(k));m.isActive=!0;m.attr({text:a});m.css(w.style).shadow(w.shadow);a=m.getBBox();q=a.width+m.strokeWidth();
194
+ r.isHeader?(p=a.height,c.xAxis[0].opposite&&(t=!0,A-=p),q=Math.max(0,Math.min(r.plotX+c.plotLeft-q/2,c.chartWidth+(c.scrollablePixels?c.scrollablePixels-c.marginRight:0)-q))):q=r.plotX+c.plotLeft-v(w.distance,16)-q;0>q&&(e=!1);a=(r.series&&r.series.yAxis&&r.series.yAxis.pos)+(r.plotY||0);a-=A;r.isHeader&&(a=t?-p:c.plotHeight+p);b.push({target:a,rank:r.isHeader?1:0,size:d.tt.getBBox().height+1,point:r,x:q,tt:m})}});this.cleanSplit();a.distribute(b,c.plotHeight+p);C(b,function(a){var b=a.point,f=b.series;
195
+ a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:e||b.isHeader?a.x:b.plotX+c.plotLeft+v(w.distance,16),y:a.pos+A,anchorX:b.isHeader?b.plotX+c.plotLeft:b.plotX+f.xAxis.pos,anchorY:b.isHeader?c.plotTop+c.plotHeight/2:b.plotY+f.yAxis.pos})})},updatePosition:function(a){var d=this.chart,g=this.getLabel(),b=(this.options.positioner||this.getPosition).call(this,g.width,g.height,a),c=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;var f;this.outside&&(f=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(g.width+
196
+ f,g.height+f,!1),c+=d.pointer.chartPosition.left-b.x,a+=d.pointer.chartPosition.top-b.y);this.move(Math.round(b.x),Math.round(b.y||0),c,a)},getDateFormat:function(a,d,m,b){var c=this.chart.time,f=c.dateFormat("%m-%d %H:%M:%S.%L",d),e,h,g={millisecond:15,second:12,minute:9,hour:6,day:3},t="millisecond";for(h in y){if(a===y.week&&+c.dateFormat("%w",d)===m&&"00:00:00.000"===f.substr(6)){h="week";break}if(y[h]>a){h=t;break}if(g[h]&&f.substr(g[h])!=="01-01 00:00:00.000".substr(g[h]))break;"week"!==h&&
197
+ (t=h)}h&&(e=c.resolveDTLFormat(b[h]).main);return e},getXDateFormat:function(a,d,m){d=d.dateTimeLabelFormats;var b=m&&m.closestPointRange;return(b?this.getDateFormat(b,a.x,m.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,h){h=h?"footer":"header";var g=a.series,b=g.tooltipOptions,c=b.xDateFormat,f=g.xAxis,e=f&&"datetime"===f.options.type&&d(a.key),w=b[h+"Format"];e&&!c&&(c=this.getXDateFormat(a,b,f));e&&c&&C(a.point&&a.point.tooltipDateKeys||["key"],function(a){w=w.replace("{point."+
198
+ a+"}","{point."+a+":"+c+"}")});return n(w,{point:a,series:g},this.chart.time)},bodyFormatter:function(a){return k(a,function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"])})}}})(M);(function(a){var B=a.addEvent,C=a.attr,D=a.charts,n=a.color,d=a.css,k=a.defined,u=a.each,v=a.extend,q=a.find,p=a.fireEvent,y=a.isNumber,g=a.isObject,h=a.offset,m=a.pick,b=a.splat,c=a.Tooltip;a.Pointer=
199
+ function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,b.tooltip),this.followTouchMove=m(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,f=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=m(c.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&
200
+ !b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=h(this.chart.container));return v(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};u(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,
201
+ c){var f;u(a,function(a){var e=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,e);if((e=g(a,!0))&&!(e=!g(f,!0)))var e=f.distX-a.distX,d=f.dist-a.dist,h=(a.series.group&&a.series.group.zIndex)-(f.series.group&&f.series.group.zIndex),e=0<(0!==e&&b?e:0!==d?d:0!==h?h:f.series.index>a.series.index?-1:1);e&&(f=a)});return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=
202
+ a.series,f=c.xAxis,c=c.yAxis,e=m(a.clientX,a.plotX),d=a.shapeArgs;if(f&&c)return b?{chartX:f.len+f.pos-e,chartY:c.len+c.pos-a.plotY}:{chartX:e+f.pos,chartY:a.plotY+c.pos};if(d&&d.x&&d.y)return{chartX:d.x,chartY:d.y}},getHoverData:function(b,c,d,h,t,p,k){var f,e=[],w=k&&k.isBoosting;h=!(!h||!b);k=c&&!c.stickyTracking?[c]:a.grep(d,function(a){return a.visible&&!(!t&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(f=h?b:this.findNearestKDPoint(k,t,p))&&f.series;f&&(t&&!c.noSharedTooltip?
203
+ (k=a.grep(d,function(a){return a.visible&&!(!t&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),u(k,function(a){var b=q(a.points,function(a){return a.x===f.x&&!a.isNull});g(b)&&(w&&(b=a.getPoint(b)),e.push(b))})):e.push(f));return{hoverPoint:f,hoverSeries:c,hoverPoints:e}},runPointActions:function(b,c){var f=this.chart,e=f.tooltip&&f.tooltip.options.enabled?f.tooltip:void 0,d=e?e.shared:!1,h=c||f.hoverPoint,g=h&&h.series||f.hoverSeries,g=this.getHoverData(h,g,f.series,"touchmove"!==
204
+ b.type&&(!!c||g&&g.directTouch&&this.isDirectTouch),d,b,{isBoosting:f.isBoosting}),p,h=g.hoverPoint;p=g.hoverPoints;c=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;d=d&&g&&!g.noSharedTooltip;if(h&&(h!==f.hoverPoint||e&&e.isHidden)){u(f.hoverPoints||[],function(b){-1===a.inArray(b,p)&&b.setState()});u(p||[],function(a){a.setState("hover")});if(f.hoverSeries!==g)g.onMouseOver();f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut");if(!h.series)return;h.firePointEvent("mouseOver");f.hoverPoints=
205
+ p;f.hoverPoint=h;e&&e.refresh(d?p:h,b)}else c&&e&&!e.isHidden&&(h=e.getAnchor([{}],b),e.updatePosition({plotX:h[0],plotY:h[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(f.container.ownerDocument,"mousemove",function(b){var c=D[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));u(f.axes,function(c){var f=m(c.crosshair.snap,!0),e=f?a.find(p,function(a){return a.series[c.coll]===c}):void 0;e||!f?c.drawCrosshair(b,e):c.hideCrosshair()})},reset:function(a,c){var f=this.chart,e=f.hoverSeries,
206
+ d=f.hoverPoint,h=f.hoverPoints,g=f.tooltip,m=g&&g.shared?h:d;a&&m&&u(b(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)g&&m&&(g.refresh(m),g.shared&&h?u(h,function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):d&&(d.setState(d.state,!0),u(f.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();h&&u(h,function(a){a.setState()});
207
+ if(e)e.onMouseOut();g&&g.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());u(f.axes,function(a){a.hideCrosshair()});this.hoverX=f.hoverPoints=f.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,f;u(c.series,function(e){f=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(f),e.markerGroup&&(e.markerGroup.attr(f),e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(f))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=
208
+ this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,f=a.chartX,d=a.chartY,h=this.zoomHor,g=this.zoomVert,m=b.plotLeft,r=b.plotTop,p=b.plotWidth,E=b.plotHeight,k,q=this.selectionMarker,l=this.mouseDownX,x=this.mouseDownY,u=c.panKey&&a[c.panKey+"Key"];q&&q.touch||(f<m?f=m:f>m+p&&(f=m+p),d<r?d=r:d>r+E&&(d=r+E),this.hasDragged=Math.sqrt(Math.pow(l-f,2)+Math.pow(x-d,2)),10<this.hasDragged&&
209
+ (k=b.isInsidePlot(l-m,x-r),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&k&&!u&&!q&&(this.selectionMarker=q=b.renderer.rect(m,r,h?1:p,g?1:E,0).attr({fill:c.selectionMarkerFill||n("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),q&&h&&(f-=l,q.attr({width:Math.abs(f),x:(0<f?0:f)+l})),q&&g&&(f=d-x,q.attr({height:Math.abs(f),y:(0<f?0:f)+x})),k&&!q&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,f=this.hasPinched;if(this.selectionMarker){var h=
210
+ {originalEvent:a,xAxis:[],yAxis:[]},g=this.selectionMarker,m=g.attr?g.attr("x"):g.x,q=g.attr?g.attr("y"):g.y,r=g.attr?g.attr("width"):g.width,I=g.attr?g.attr("height"):g.height,E;if(this.hasDragged||f)u(c.axes,function(c){if(c.zoomEnabled&&k(c.min)&&(f||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,l="touchend"===a.type?c.minPixelPadding:0,d=c.toValue((e?m:q)+l),e=c.toValue((e?m+r:q+I)-l);h[c.coll].push({axis:c,min:Math.min(d,e),max:Math.max(d,e)});E=!0}}),E&&p(c,"selection",h,function(a){c.zoom(v(a,
211
+ f?{animation:!1}:null))});y(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());f&&this.scaleGroups()}c&&y(c.index)&&(d(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){D[a.hoverChartIndex]&&D[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=
212
+ this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=D[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;k(a.hoverChartIndex)&&D[a.hoverChartIndex]&&D[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=
213
+ !1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=C(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||
214
+ this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,f=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(p(c.series,"click",v(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-f,a.chartY-d)&&p(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,d=c.ownerDocument;
215
+ c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=B(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=B(d,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(d,"touchend",b.onDocumentTouchEnd)))},
216
+ destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}})(M);(function(a){var B=a.charts,C=a.each,D=a.extend,n=a.map,d=a.noop,k=a.pick;D(a.Pointer.prototype,{pinchTranslate:function(a,d,k,p,n,g){this.zoomHor&&
217
+ this.pinchTranslateDirection(!0,a,d,k,p,n,g);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,k,p,n,g)},pinchTranslateDirection:function(a,d,k,p,n,g,h,m){var b=this.chart,c=a?"x":"y",f=a?"X":"Y",e="chart"+f,w=a?"width":"height",q=b["plot"+(a?"Left":"Top")],t,u,A=m||1,F=b.inverted,r=b.bounds[a?"h":"v"],I=1===d.length,E=d[0][e],L=k[0][e],J=!I&&d[1][e],l=!I&&k[1][e],x;k=function(){!I&&20<Math.abs(E-J)&&(A=m||Math.abs(L-l)/Math.abs(E-J));u=(q-L)/A+E;t=b["plot"+(a?"Width":"Height")]/A};k();d=u;d<r.min?
218
+ (d=r.min,x=!0):d+t>r.max&&(d=r.max-t,x=!0);x?(L-=.8*(L-h[c][0]),I||(l-=.8*(l-h[c][1])),k()):h[c]=[L,l];F||(g[c]=u-q,g[w]=t);g=F?1/A:A;n[w]=t;n[c]=d;p[F?a?"scaleY":"scaleX":"scale"+f]=A;p["translate"+f]=g*q+(L-g*E)},pinch:function(a){var u=this,q=u.chart,p=u.pinchDown,y=a.touches,g=y.length,h=u.lastValidTouch,m=u.hasZoom,b=u.selectionMarker,c={},f=1===g&&(u.inClass(a.target,"highcharts-tracker")&&q.runTrackerClick||u.runChartClick),e={};1<g&&(u.initiated=!0);m&&u.initiated&&!f&&a.preventDefault();
219
+ n(y,function(a){return u.normalize(a)});"touchstart"===a.type?(C(y,function(a,b){p[b]={chartX:a.chartX,chartY:a.chartY}}),h.x=[p[0].chartX,p[1]&&p[1].chartX],h.y=[p[0].chartY,p[1]&&p[1].chartY],C(q.axes,function(a){if(a.zoomEnabled){var b=q.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,f=a.toPixels(k(a.options.min,a.dataMin)),e=a.toPixels(k(a.options.max,a.dataMax)),d=Math.max(f,e);b.min=Math.min(a.pos,Math.min(f,e)-c);b.max=Math.max(a.pos+a.len,d+c)}}),u.res=!0):u.followTouchMove&&1===g?this.runPointActions(u.normalize(a)):
220
+ p.length&&(b||(u.selectionMarker=b=D({destroy:d,touch:!0},q.plotBox)),u.pinchTranslate(p,y,c,b,e,h),u.hasPinched=m,u.scaleGroups(c,e),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(d,n){var q=this.chart,p,u;if(q.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=q.index;1===d.touches.length?(d=this.normalize(d),(u=q.isInsidePlot(d.chartX-q.plotLeft,d.chartY-q.plotTop))&&!q.openMenu?(n&&this.runPointActions(d),"touchmove"===d.type&&(n=this.pinchDown,p=n[0]?
221
+ 4<=Math.sqrt(Math.pow(n[0].chartX-d.chartX,2)+Math.pow(n[0].chartY-d.chartY,2)):!1),k(p,!0)&&this.pinch(d)):n&&this.reset()):2===d.touches.length&&this.pinch(d)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(d)}})})(M);(function(a){var B=a.addEvent,C=a.charts,D=a.css,n=a.doc,d=a.extend,k=a.noop,u=a.Pointer,v=a.removeEvent,q=a.win,p=a.wrap;
222
+ if(!a.hasTouch&&(q.PointerEvent||q.MSPointerEvent)){var y={},g=!!q.PointerEvent,h=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(y,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},m=function(b,c,f,e){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!C[a.hoverChartIndex]||(e(b),e=C[a.hoverChartIndex].pointer,e[c]({type:f,target:b.currentTarget,preventDefault:k,touches:h()}))};d(u.prototype,{onContainerPointerDown:function(a){m(a,"onContainerTouchStart",
223
+ "touchstart",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){m(a,"onContainerTouchMove","touchmove",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY};y[a.pointerId].target||(y[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){m(a,"onDocumentTouchEnd","touchend",function(a){delete y[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,g?"pointerdown":"MSPointerDown",this.onContainerPointerDown);
224
+ a(this.chart.container,g?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(n,g?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});p(u.prototype,"init",function(a,c,f){a.call(this,c,f);this.hasZoom&&D(c.container,{"-ms-touch-action":"none","touch-action":"none"})});p(u.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});p(u.prototype,"destroy",function(a){this.batchMSEvents(v);a.call(this)})}})(M);(function(a){var B=a.addEvent,
225
+ C=a.css,D=a.discardElement,n=a.defined,d=a.each,k=a.fireEvent,u=a.isFirefox,v=a.marginNames,q=a.merge,p=a.pick,y=a.setAnimation,g=a.stableSort,h=a.win,m=a.wrap;a.Legend=function(a,c){this.init(a,c)};a.Legend.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=B(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
226
+ this.unchartrender())},setOptions:function(a){var b=p(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=q(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=p(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,c){var b=this.chart;this.setOptions(q(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;p(c,!0)&&b.redraw();k(this,
227
+ "afterUpdate")},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden");var b=this.options,e=a.legendItem,d=a.legendLine,h=a.legendSymbol,g=this.itemHiddenStyle.color,b=c?b.itemStyle.color:g,m=c?a.color||g:g,p=a.options&&a.options.marker,q={fill:m};e&&e.css({fill:b,color:b});d&&d.attr({stroke:m});h&&(p&&h.isMarker&&(q=a.pointAttribs(),c||(q.stroke=q.fill=g)),h.attr(q));k(this,"afterColorizeItem",{item:a,visible:c})},positionItems:function(){d(this.allItems,
228
+ this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,f=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,d=e[0],e=e[1],h=a.checkbox;if((a=a.legendGroup)&&a.element)a[n(a.translateY)?"animate":"attr"]({translateX:b?d:this.legendWidth-d-2*f-4,translateY:e});h&&(h.x=d,h.y=e)},destroyItem:function(a){var b=a.checkbox;d(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&D(a.checkbox)},destroy:function(){function a(a){this[a]&&
229
+ (this[a]=this[a].destroy())}d(this.getAllItems(),function(b){d(["legendItem","legendGroup"],a,b)});d("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,c,f=this.clipHeight||this.legendHeight,e=this.titleHeight;a&&(c=a.translateY,d(this.allItems,function(b){var d=b.checkbox,h;d&&(h=c+e+d.y+(this.scrollOffset||0)+3,C(d,{left:a.translateX+b.checkboxOffset+d.x-20+"px",top:h+"px",display:this.proximate||
230
+ h>c-6&&h<c+f-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,c=this.padding,f=a.title,e=0;f.text&&(this.title||(this.title=this.chart.renderer.label(f.text,c-3,c-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).css(f.style).add(this.group)),a=this.title.getBBox(),e=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:e}));this.titleHeight=e},setText:function(b){var c=this.options;b.legendItem.attr({text:c.labelFormat?a.format(c.labelFormat,b,this.chart.time):
231
+ c.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,f=b.renderer,e=this.options,d=this.symbolWidth,h=e.symbolPadding,g=this.itemStyle,m=this.itemHiddenStyle,k="horizontal"===e.layout?p(e.itemDistance,20):0,n=!e.rtl,r=a.legendItem,I=!a.series,E=!I&&a.series.drawLegendSymbol?a.series:a,L=E.options,L=this.createCheckboxForItem&&L&&L.showCheckbox,k=d+h+k+(L?20:0),J=e.useHTML,l=a.options.className;r||(a.legendGroup=f.g("legend-item").addClass("highcharts-"+E.type+"-series highcharts-color-"+
232
+ a.colorIndex+(l?" "+l:"")+(I?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=r=f.text("",n?d+h:-h,this.baseline||0,J).css(q(a.visible?g:m)).attr({align:n?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(d=g.fontSize,this.fontMetrics=f.fontMetrics(d,r),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,r.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,E.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,
233
+ r,J),L&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);g.width||r.css({width:(e.itemWidth||e.width||b.spacingBox.width)-k});this.setText(a);b=r.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+k;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,f=this.padding,e="horizontal"===b.layout,
234
+ d=a.itemHeight,h=b.itemMarginBottom||0,g=this.itemMarginTop,m=e?p(b.itemDistance,20):0,k=b.width,q=k||this.chart.spacingBox.width-2*f-b.x,b=b.alignColumns&&this.totalItemWidth>q?this.maxItemWidth:a.itemWidth;e&&this.itemX-f+b>q&&(this.itemX=f,this.itemY+=g+this.lastLineHeight+h,this.lastLineHeight=0);this.lastItemY=g+this.itemY+h;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=g+d+h,this.lastLineHeight=d);this.offsetWidth=k||
235
+ Math.max((e?this.itemX-f-(a.checkbox?0:m):b)+f,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var c=b&&b.options;b&&p(c.showInLegend,n(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});k(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,
236
+ c){var b=this.chart,e=this.options,h=this.getAlignment();h&&d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,d){f.test(h)&&!n(a[d])&&(b[v[d]]=Math.max(b[v[d]],b.legend[(d+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][d]*e[d%2?"x":"y"]+p(e.margin,12)+c[d]+(0===d&&void 0!==b.options.title.margin?b.titleOffset+b.options.title.margin:0)))})},proximatePositions:function(){var b=this.chart,c=[],f="left"===this.options.align;d(this.allItems,function(d){var e,h;e=f;d.xAxis&&d.points&&
237
+ (d.xAxis.options.reversed&&(e=!e),e=a.find(e?d.points:d.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),h=d.legendGroup.getBBox().height,c.push({target:d.visible?(e?e.plotY:d.xAxis.height)-.3*h:b.plotHeight,size:h,item:d}))},this);a.distribute(c,b.plotHeight);d(c,function(a){a.item._legendItemPos[1]=b.plotTop-b.spacing[0]+a.pos})},render:function(){var a=this.chart,c=a.renderer,f=this.group,e,h,m,t=this.box,p=this.options,k=this.padding;this.itemX=k;this.itemY=this.initialItemY;
238
+ this.lastItemY=this.offsetWidth=0;f||(this.group=f=c.g("legend").attr({zIndex:7}).add(),this.contentGroup=c.g().attr({zIndex:1}).add(f),this.scrollGroup=c.g().add(this.contentGroup));this.renderTitle();e=this.getAllItems();g(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});p.reversed&&e.reverse();this.allItems=e;this.display=h=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d(e,this.renderItem,this);d(e,this.layoutItem,
239
+ this);e=(p.width||this.offsetWidth)+k;m=this.lastItemY+this.lastLineHeight+this.titleHeight;m=this.handleOverflow(m);m+=k;t||(this.box=t=c.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(f),t.isNew=!0);t.attr({stroke:p.borderColor,"stroke-width":p.borderWidth||0,fill:p.backgroundColor||"none"}).shadow(p.shadow);0<e&&0<m&&(t[t.isNew?"attr":"animate"](t.crisp.call({},{x:0,y:0,width:e,height:m},t.strokeWidth())),t.isNew=!1);t[h?"show":"hide"]();this.legendWidth=e;this.legendHeight=
240
+ m;h&&(c=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(c=q(c,{y:c.y+a.titleOffset+a.options.title.margin})),f.align(q(p,{width:e,height:m,verticalAlign:this.proximate?"top":p.verticalAlign}),!0,c));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,f=this.chart,e=f.renderer,h=this.options,g=h.y,m=this.padding,f=f.spacingBox.height+("top"===h.verticalAlign?-g:g)-m,g=h.maxHeight,k,q=this.clipRect,n=h.navigation,r=p(n.animation,!0),I=n.arrowSize||12,E=this.nav,L=this.pages,
241
+ J,l=this.allItems,x=function(a){"number"===typeof a?q.attr({height:a}):q&&(b.clipRect=q.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(f/=2);g&&(f=Math.min(f,g));L.length=0;a>f&&!1!==n.enabled?(this.clipHeight=k=Math.max(f-20-this.titleHeight-m,0),this.currentPage=p(this.currentPage,1),this.fullHeight=a,d(l,function(a,b){var c=a._legendItemPos[1],f=
242
+ Math.round(a.legendItem.getBBox().height),d=L.length;if(!d||c-L[d-1]>k&&(J||c)!==L[d-1])L.push(J||c),d++;a.pageIx=d-1;J&&(l[b-1].pageIx=d-1);b===l.length-1&&c+f-L[d-1]>k&&(L.push(c),a.pageIx=d);c!==J&&(J=c)}),q||(q=b.clipRect=e.clipRect(0,m,9999,0),b.contentGroup.clip(q)),x(k),E||(this.nav=E=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,I,I).on("click",function(){b.scroll(-1,r)}).add(E),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(E),
243
+ this.down=e.symbol("triangle-down",0,0,I,I).on("click",function(){b.scroll(1,r)}).add(E)),b.scroll(0),a=f):E&&(x(),this.nav=E.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,d=b.length;a=this.currentPage+a;var h=this.clipHeight,g=this.options.navigation,m=this.pager,p=this.padding;a>d&&(a=d);0<a&&(void 0!==c&&y(c,this.chart),this.nav.attr({translateX:p,translateY:h+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===
244
+ a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),m.attr({text:a+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?g.inactiveColor:g.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===d?g.inactiveColor:g.activeColor}).css({cursor:a===d?"default":"pointer"}),this.scrollOffset=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
245
+ this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,c){var b=a.symbolHeight,d=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-b)/2:0,a.baseline-b+1,d?b:a.symbolWidth,b,p(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},drawLineMarker:function(a){var b=this.options,d=b.marker,e=a.symbolWidth,h=a.symbolHeight,g=h/2,m=this.chart.renderer,k=this.legendGroup;a=a.baseline-Math.round(.3*
246
+ a.fontMetrics.b);var n;n={"stroke-width":b.lineWidth||0};b.dashStyle&&(n.dashstyle=b.dashStyle);this.legendLine=m.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(n).add(k);d&&!1!==d.enabled&&e&&(b=Math.min(p(d.radius,g),g),0===this.symbol.indexOf("url")&&(d=q(d,{width:h,height:h}),b=0),this.legendSymbol=d=m.symbol(this.symbol,e/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(k),d.isMarker=!0)}};(/Trident\/7\.0/.test(h.navigator.userAgent)||u)&&m(a.Legend.prototype,"positionItem",function(a,
247
+ c){var b=this,d=function(){c._legendItemPos&&a.call(b,c)};d();setTimeout(d)})})(M);(function(a){var B=a.addEvent,C=a.animate,D=a.animObject,n=a.attr,d=a.doc,k=a.Axis,u=a.createElement,v=a.defaultOptions,q=a.discardElement,p=a.charts,y=a.css,g=a.defined,h=a.each,m=a.extend,b=a.find,c=a.fireEvent,f=a.grep,e=a.isNumber,w=a.isObject,G=a.isString,t=a.Legend,K=a.marginNames,A=a.merge,F=a.objectEach,r=a.Pointer,I=a.pick,E=a.pInt,L=a.removeEvent,J=a.seriesTypes,l=a.splat,x=a.syncTimeout,N=a.win,T=a.Chart=
248
+ function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new T(a,b,c)};m(T.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(G(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,d){var f,e,l=b.series,r=b.plotOptions||{};c(this,"init",{args:arguments},function(){b.series=null;f=A(v,b);for(e in f.plotOptions)f.plotOptions[e].tooltip=r[e]&&A(r[e].tooltip)||void 0;f.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||
249
+ b.tooltip;f.series=b.series=l;this.userOptions=b;var h=f.chart,g=h.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=d;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;this.hasCartesianSeries=h.showAxes;var m=this;m.index=p.length;p.push(m);a.chartCount++;g&&F(g,function(a,b){B(m,b,a)});m.xAxis=[];m.yAxis=[];m.pointCount=m.colorCounter=m.symbolCounter=0;c(m,"afterInit");
250
+ m.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=J[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){c(this,"beforeRedraw");var d=this.axes,f=this.series,e=this.pointer,l=this.legend,r=this.userOptions.legend,
251
+ g=this.isDirtyLegend,p,t,E=this.hasCartesianSeries,k=this.isDirtyBox,I,q=this.renderer,n=q.isHidden(),x=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);n&&this.temporaryDisplay();this.layOutTitles();for(b=f.length;b--;)if(I=f[b],I.options.stacking&&(p=!0,I.isDirty)){t=!0;break}if(t)for(b=f.length;b--;)I=f[b],I.options.stacking&&(I.isDirty=!0);h(f,function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&
252
+ (g=!0));a.isDirtyData&&c(a,"updatedData")});g&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1);p&&this.getStacks();E&&h(d,function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});this.getMargins();E&&(h(d,function(a){a.isDirty&&(k=!0)}),h(d,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,x.push(function(){c(a,"afterSetExtremes",m(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(k||p)&&a.redraw()}));k&&this.drawChartBox();c(this,"predraw");h(f,function(a){(k||
253
+ a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);q.draw();c(this,"redraw");c(this,"render");n&&this.temporaryDisplay(!0);h(x,function(a){a.call()})},get:function(a){function c(b){return b.id===a||b.options&&b.options.id===a}var d,f=this.series,e;d=b(this.axes,c)||b(this.series,c);for(e=0;!d&&e<f.length;e++)d=b(f[e].points||[],c);return d},getAxes:function(){var a=this,b=this.options,d=b.xAxis=l(b.xAxis||{}),b=b.yAxis=l(b.yAxis||{});c(this,"getAxes");h(d,function(a,b){a.index=b;
254
+ a.isX=!0});h(b,function(a,b){a.index=b});d=d.concat(b);h(d,function(b){new k(a,b)});c(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];h(this.series,function(b){a=a.concat(f(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return f(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var d=this,f=d.options,e;e=f.title=A({style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,a);f=f.subtitle=A({style:{color:"#666666"}},f.subtitle,
255
+ b);h([["title",a,e],["subtitle",b,f]],function(a,b){var c=a[0],f=d[c],e=a[1];a=a[2];f&&e&&(d[c]=f=f.destroy());a&&!f&&(d[c]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),d[c].update=function(a){d.setTitle(!b&&a,b&&a)},d[c].css(a.style))});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,d=this.renderer,f=this.spacingBox;h(["title","subtitle"],function(a){var c=this[a],e=this.options[a];a="title"===a?-3:e.verticalAlign?0:b+2;var l;
256
+ c&&(l=e.style.fontSize,l=d.fontMetrics(l,c).b,c.css({width:(e.width||f.width+e.widthAdjust)+"px"}).align(m({y:a+l},e),!1,"spacingBox"),e.floating||e.verticalAlign||(b=Math.ceil(b+c.getBBox(e.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&I(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,d=this.renderTo;g(c)||(this.containerWidth=a.getStyle(d,
257
+ "width"));g(b)||(this.containerHeight=a.getStyle(d,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(d.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){d.body.contains(c)||c.parentNode||
258
+ (c.hcOrigDetached=!0,d.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===d.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,f=this.options,
259
+ l=f.chart,r,h;b=this.renderTo;var g=a.uniqueKey(),t;b||(this.renderTo=b=l.renderTo);G(b)&&(this.renderTo=b=d.getElementById(b));b||a.error(13,!0);r=E(n(b,"data-highcharts-chart"));e(r)&&p[r]&&p[r].hasRendered&&p[r].destroy();n(b,"data-highcharts-chart",this.index);b.innerHTML="";l.skipClone||b.offsetWidth||this.temporaryDisplay();this.getChartSize();r=this.chartWidth;h=this.chartHeight;t=m({position:"relative",overflow:"hidden",width:r+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,
260
+ "-webkit-tap-highlight-color":"rgba(0,0,0,0)"},l.style);this.container=b=u("div",{id:g},t,b);this._cursor=b.style.cursor;this.renderer=new (a[l.renderer]||a.Renderer)(b,r,h,null,l.forExport,f.exporting&&f.exporting.allowHTML);this.setClassName(l.className);this.renderer.setStyle(l.style);this.renderer.chartIndex=this.index;c(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,d=this.margin,f=this.titleOffset;this.resetMargins();f&&!g(d[0])&&(this.plotTop=Math.max(this.plotTop,f+this.options.title.margin+
261
+ b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(d,b);c(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&h(a.axes,function(a){a.visible&&a.getOffset()});h(K,function(d,f){g(c[f])||(a[d]+=b[f])});a.setChartSize()},reflow:function(b){var c=this,f=c.options.chart,e=c.renderTo,l=g(f.width)&&g(f.height),r=f.width||a.getStyle(e,"width"),f=f.height||a.getStyle(e,"height"),e=b?b.target:N;if(!l&&!c.isPrinting&&
262
+ r&&f&&(e===N||e===d)){if(r!==c.containerWidth||f!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=x(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=r;c.containerHeight=f}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(N,"resize",function(a){b.reflow(a)}),B(this,"destroy",this.unbindReflow))},setSize:function(b,d,f){var e=this,l=e.renderer;e.isResizing+=
263
+ 1;a.setAnimation(f,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;void 0!==b&&(e.options.chart.width=b);void 0!==d&&(e.options.chart.height=d);e.getChartSize();b=l.globalAnimation;(b?C:y)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},b);e.setChartSize(!0);l.setSize(e.chartWidth,e.chartHeight,f);h(e.axes,function(a){a.isDirty=!0;a.setScale()});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();e.redraw(f);e.oldChartHeight=null;c(e,"resize");x(function(){e&&
264
+ c(e,"endResize",null,function(){--e.isResizing})},D(b).duration)},setChartSize:function(a){var b=this.inverted,d=this.renderer,f=this.chartWidth,e=this.chartHeight,l=this.options.chart,r=this.spacing,g=this.clipOffset,m,p,t,E;this.plotLeft=m=Math.round(this.plotLeft);this.plotTop=p=Math.round(this.plotTop);this.plotWidth=t=Math.max(0,Math.round(f-m-this.marginRight));this.plotHeight=E=Math.max(0,Math.round(e-p-this.marginBottom));this.plotSizeX=b?E:t;this.plotSizeY=b?t:E;this.plotBorderWidth=l.plotBorderWidth||
265
+ 0;this.spacingBox=d.spacingBox={x:r[3],y:r[0],width:f-r[3]-r[1],height:e-r[0]-r[2]};this.plotBox=d.plotBox={x:m,y:p,width:t,height:E};f=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(f,g[3])/2);d=Math.ceil(Math.max(f,g[0])/2);this.clipBox={x:b,y:d,width:Math.floor(this.plotSizeX-Math.max(f,g[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(f,g[2])/2-d))};a||h(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});c(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=
266
+ this,b=a.options.chart;h(["margin","spacing"],function(c){var d=b[c],f=w(d)?d:[d,d,d,d];h(["Top","Right","Bottom","Left"],function(d,e){a[c][e]=I(b[c+d],f[e])})});h(K,function(b,c){a[b]=I(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,d=this.chartWidth,f=this.chartHeight,e=this.chartBackground,l=this.plotBackground,r=this.plotBorder,h,g=this.plotBGImage,m=a.backgroundColor,p=a.plotBackgroundColor,t=a.plotBackgroundImage,
267
+ E,k=this.plotLeft,I=this.plotTop,q=this.plotWidth,n=this.plotHeight,x=this.plotBox,A=this.clipRect,w=this.clipBox,J="animate";e||(this.chartBackground=e=b.rect().addClass("highcharts-background").add(),J="attr");h=a.borderWidth||0;E=h+(a.shadow?8:0);m={fill:m||"none"};if(h||e["stroke-width"])m.stroke=a.borderColor,m["stroke-width"]=h;e.attr(m).shadow(a.shadow);e[J]({x:E/2,y:E/2,width:d-E-h%2,height:f-E-h%2,r:a.borderRadius});J="animate";l||(J="attr",this.plotBackground=l=b.rect().addClass("highcharts-plot-background").add());
268
+ l[J](x);l.attr({fill:p||"none"}).shadow(a.plotShadow);t&&(g?g.animate(x):this.plotBGImage=b.image(t,k,I,q,n).add());A?A.animate({width:w.width,height:w.height}):this.clipRect=b.clipRect(w);J="animate";r||(J="attr",this.plotBorder=r=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());r.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});r[J](r.crisp({x:k,y:I,width:q,height:n},-r.strokeWidth()));this.isDirtyBox=!1;c(this,"afterDrawChartBox")},propFromSeries:function(){var a=
269
+ this,b=a.options.chart,c,d=a.options.series,f,e;h(["inverted","angular","polar"],function(l){c=J[b.type||b.defaultSeriesType];e=b[l]||c&&c.prototype[l];for(f=d&&d.length;!e&&f--;)(c=J[d[f].type])&&c.prototype[l]&&(e=!0);a[l]=e})},linkSeries:function(){var a=this,b=a.series;h(b,function(a){a.linkedSeries.length=0});h(b,function(b){var c=b.options.linkedTo;G(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=I(b.options.visible,
270
+ c.options.visible,b.visible))});c(this,"afterLinkSeries")},renderSeries:function(){h(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&h(b.items,function(c){var d=m(b.style,c.style),f=E(d.left)+a.plotLeft,e=E(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,f,e).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d,f,e;this.setTitle();this.legend=new t(this,c.legend);
271
+ this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;d=this.plotHeight=Math.max(this.plotHeight-21,0);h(a,function(a){a.setScale()});this.getAxisMargins();f=1.1<c/this.plotWidth;e=1.05<d/this.plotHeight;if(f||e)h(a,function(a){(a.horiz&&f||!a.horiz&&e)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&h(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();
272
+ this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=A(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},
273
+ destroy:function(){var b=this,d=b.axes,f=b.series,e=b.container,l,r=e&&e.parentNode;c(b,"destroy");b.renderer.forExport?a.erase(p,b):p[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");L(b);for(l=d.length;l--;)d[l]=d[l].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(l=f.length;l--;)f[l]=f[l].destroy();h("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
274
+ function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});e&&(e.innerHTML="",L(e),r&&q(e));F(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();h(b.series||[],function(b){a.initSeries(b)});a.linkSeries();c(a,"beforeRender");r&&(a.pointer=new r(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){h([this.callback].concat(this.callbacks),
275
+ function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);c(this,"load");c(this,"render");g(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(M);(function(a){var B,C=a.each,D=a.extend,n=a.erase,d=a.fireEvent,k=a.format,u=a.isArray,v=a.isNumber,q=a.pick,p=a.uniqueKey,y=a.defined,g=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,g,b){this.series=a;this.color=a.color;this.applyOptions(g,b);this.id=y(this.id)?this.id:p();a.options.colorByPoint?
276
+ (g=a.options.colors||a.chart.options.colors,this.color=this.color||g[a.colorCounter],g=g.length,b=a.colorCounter,a.colorCounter++,a.colorCounter===g&&(a.colorCounter=0)):b=a.colorIndex;this.colorIndex=q(this.colorIndex,b);a.chart.pointCount++;d(this,"afterInit");return this},applyOptions:function(a,d){var b=this.series,c=b.options.pointValKey||b.pointValKey;a=B.prototype.optionsToObject.call(this,a);D(this,a);this.options=this.options?D(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;
277
+ c&&(this.y=this[c]);this.isNull=q(this.isValid&&!this.isValid(),null===this.x||!v(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&b.xAxis&&b.xAxis.hasNames&&(this.x=b.xAxis.nameToX(this));void 0===this.x&&b&&(this.x=void 0===d?b.autoIncrement(this):d);return this},setNestedProperty:function(d,g,b){b=b.split(".");a.reduce(b,function(b,d,e,h){b[d]=h.length-1===e?g:a.isObject(b[d],!0)?b[d]:{};return b[d]},d);return d},optionsToObject:function(d){var g={},b=this.series,c=b.options.keys,
278
+ f=c||b.pointArrayMap||["y"],e=f.length,h=0,p=0;if(v(d)||null===d)g[f[0]]=d;else if(u(d))for(!c&&d.length>e&&(b=typeof d[0],"string"===b?g.name=d[0]:"number"===b&&(g.x=d[0]),h++);p<e;)c&&void 0===d[h]||(0<f[p].indexOf(".")?a.Point.prototype.setNestedProperty(g,d[h],f[p]):g[f[p]]=d[h]),h++,p++;else"object"===typeof d&&(g=d,d.dataLabels&&(b._hasPointLabels=!0),d.marker&&(b._hasPointMarkers=!0));return g},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?
279
+ " highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||"y",b=0,c;for(c=d[b];this[a]>=c.value;)c=d[++b];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;
280
+ return c},destroy:function(){var a=this.series.chart,d=a.hoverPoints,b;a.pointCount--;d&&(this.setState(),n(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)g(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(b in this)this[b]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,b=6;b--;)d=a[b],this[d]&&(this[d]=this[d].destroy());this.dataLabels&&
281
+ (C(this.dataLabels,function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(C(this.connectors,function(a){a.element&&a.destroy()}),delete this.connectors)},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,b=d.tooltipOptions,c=q(b.valueDecimals,""),f=b.valuePrefix||
282
+ "",e=b.valueSuffix||"";C(d.pointArrayMap||["y"],function(b){b="{point."+b;if(f||e)a=a.replace(RegExp(b+"}","g"),f+b+"}"+e);a=a.replace(RegExp(b+"}","g"),b+":,."+c+"f}")});return k(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,g,b){var c=this,f=this.series.options;(f.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&f.allowPointSelect&&(b=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});d(this,a,
283
+ g,b)},visible:!0}})(M);(function(a){var B=a.addEvent,C=a.animObject,D=a.arrayMax,n=a.arrayMin,d=a.correctFloat,k=a.defaultOptions,u=a.defaultPlotOptions,v=a.defined,q=a.each,p=a.erase,y=a.extend,g=a.fireEvent,h=a.grep,m=a.isArray,b=a.isNumber,c=a.isString,f=a.merge,e=a.objectEach,w=a.pick,G=a.removeEvent,t=a.splat,K=a.SVGElement,A=a.syncTimeout,F=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",
284
+ enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},
285
+ hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,f=a.series,l;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();y(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});
286
+ d=b.events;e(d,function(a,b){B(c,b,a)});if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();q(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(l=f[f.length-1]);c._i=w(l&&l._i,-1)+1;a.orderSeries(this.insert(f));g(this,"afterInit")},insert:function(a){var c=this.options.index,d;if(b(c)){for(d=a.length;d--;)if(c>=w(a[d].options.index,a[d]._i)){a.splice(d+
287
+ 1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return w(d,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,f;q(b.axisTypes||[],function(e){q(d[e],function(a){f=a.options;if(c[e]===f.index||void 0!==c[e]&&c[e]===f.id||void 0===c[e]&&0===f.index)b.insert(a.series),b[e]=a,a.isDirty=!0});b[e]||b.optionalAxis===e||a.error(18,!0)})},updateParallelArrays:function(a,c){var d=a.series,f=arguments,e=b(c)?function(b){var f="y"===b&&d.toYData?d.toYData(a):a[b];d[b+"Data"][c]=
288
+ f}:function(a){Array.prototype[c].apply(d[a+"Data"],Array.prototype.slice.call(f,2))};q(d.parallelArrays,e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,f=this.chart.time,b=w(b,a.pointStart,0);this.pointInterval=c=w(this.pointInterval,a.pointInterval,1);d&&(a=new f.Date(b),"day"===d?f.set("Date",a,f.get("Date",a)+c):"month"===d?f.set("Month",a,f.get("Month",a)+c):"year"===d&&f.set("FullYear",a,f.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},
289
+ setOptions:function(a){var b=this.chart,c=b.options,d=c.plotOptions,e=(b.userOptions||{}).plotOptions||{},l=d[this.type];this.userOptions=a;b=f(l,d.series,a);this.tooltipOptions=f(k.tooltip,k.plotOptions.series&&k.plotOptions.series.tooltip,k.plotOptions[this.type].tooltip,c.tooltip.userOptions,d.series&&d.series.tooltip,d[this.type].tooltip,a.tooltip);this.stickyTracking=w(a.stickyTracking,e[this.type]&&e[this.type].stickyTracking,e.series&&e.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?
290
+ !0:b.stickyTracking);null===l.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&v(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});g(this,"afterSetOptions",{options:b});return b},getName:function(){return this.name||"Series "+(this.index+
291
+ 1)},getCyclic:function(a,b,c){var d,f=this.chart,e=this.userOptions,g=a+"Index",r=a+"Counter",h=c?c.length:w(f.options.chart[a+"Count"],f[a+"Count"]);b||(d=w(e[g],e["_"+g]),v(d)||(f.series.length||(f[r]=0),e["_"+g]=d=f[r]%h,f[r]+=1),c&&(b=c[d]));void 0!==d&&(this[g]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||u[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,
292
+ this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(c){var d=this.options,f=this.points,e=[],g,l,r,h=this.requireSorting;q(c,function(c){var l;l=a.defined(c)&&this.pointClass.prototype.optionsToObject.call({series:this},c).x;b(l)&&(l=a.inArray(l,this.xData,r),-1===l||f[l].touched?e.push(c):c!==d.data[l]?(f[l].update(c,!1,null,!1),f[l].touched=!0,h&&(r=l+1)):f[l]&&(f[l].touched=!0),g=!0)},this);if(g)for(c=f.length;c--;)l=f[c],l.touched||l.remove(!1),
293
+ l.touched=!1;else if(c.length===f.length)q(c,function(a,b){f[b].update&&a!==d.data[b]&&f[b].update(a,!1,null,!1)});else return!1;q(e,function(a){this.addPoint(a,!1)},this);return!0},setData:function(d,f,e,g){var r=this,l=r.points,h=l&&l.length||0,p,t=r.options,k=r.chart,n=null,E=r.xAxis,I=t.turboThreshold,A=this.xData,F=this.yData,L=(p=r.pointArrayMap)&&p.length,u;d=d||[];p=d.length;f=w(f,!0);!1!==g&&p&&h&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.isSeriesBoosting&&(u=this.updateData(d));if(!u){r.xIncrement=
294
+ null;r.colorCounter=0;q(this.parallelArrays,function(a){r[a+"Data"].length=0});if(I&&p>I){for(e=0;null===n&&e<p;)n=d[e],e++;if(b(n))for(e=0;e<p;e++)A[e]=this.autoIncrement(),F[e]=d[e];else if(m(n))if(L)for(e=0;e<p;e++)n=d[e],A[e]=n[0],F[e]=n.slice(1,L+1);else for(e=0;e<p;e++)n=d[e],A[e]=n[0],F[e]=n[1];else a.error(12)}else for(e=0;e<p;e++)void 0!==d[e]&&(n={series:r},r.pointClass.prototype.applyOptions.apply(n,[d[e]]),r.updateParallelArrays(n,e));F&&c(F[0])&&a.error(14,!0);r.data=[];r.options.data=
295
+ r.userOptions.data=d;for(e=h;e--;)l[e]&&l[e].destroy&&l[e].destroy();E&&(E.minRange=E.userMinRange);r.isDirty=k.isDirtyBox=!0;r.isDirtyData=!!l;e=!1}"point"===t.legendType&&(this.processData(),this.generatePoints());f&&k.redraw(e)},processData:function(b){var c=this.xData,d=this.yData,f=c.length,e;e=0;var l,g,r=this.xAxis,h,m=this.options;h=m.cropThreshold;var p=this.getExtremesFromAll||m.getExtremesFromAll,t=this.isCartesian,m=r&&r.val2lin,k=r&&r.isLog,q=this.requireSorting,n,A;if(t&&!this.isDirty&&
296
+ !r.isDirty&&!this.yAxis.isDirty&&!b)return!1;r&&(b=r.getExtremes(),n=b.min,A=b.max);t&&this.sorted&&!p&&(!h||f>h||this.forceCrop)&&(c[f-1]<n||c[0]>A?(c=[],d=[]):this.yData&&(c[0]<n||c[f-1]>A)&&(e=this.cropData(this.xData,this.yData,n,A),c=e.xData,d=e.yData,e=e.start,l=!0));for(h=c.length||1;--h;)f=k?m(c[h])-m(c[h-1]):c[h]-c[h-1],0<f&&(void 0===g||f<g)?g=f:0>f&&q&&(a.error(15),q=!1);this.cropped=l;this.cropStart=e;this.processedXData=c;this.processedYData=d;this.closestPointRange=g},cropData:function(a,
297
+ b,c,d,f){var e=a.length,g=0,r=e,h;f=w(f,this.cropShoulder,1);for(h=0;h<e;h++)if(a[h]>=c){g=Math.max(0,h-f);break}for(c=h;c<e;c++)if(a[c]>d){r=c+f;break}return{xData:a.slice(g,r),yData:b.slice(g,r),start:g,end:r}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,f=this.processedXData,e=this.processedYData,g=this.pointClass,h=f.length,m=this.cropStart||0,p,k=this.hasGroupedData,a=a.keys,n,q=[],A;c||k||(c=[],c.length=b.length,c=this.data=c);a&&k&&(this.options.keys=!1);for(A=0;A<h;A++)p=
298
+ m+A,k?(n=(new g).init(this,[f[A]].concat(t(e[A]))),n.dataGroup=this.groupMap[A],n.dataGroup.options&&(n.options=n.dataGroup.options,y(n,n.dataGroup.options))):(n=c[p])||void 0===b[p]||(c[p]=n=(new g).init(this,b[p],f[A])),n&&(n.index=p,q[A]=n);this.options.keys=a;if(c&&(h!==(d=c.length)||k))for(A=0;A<d;A++)A!==m||k||(A+=h),c[A]&&(c[A].destroyElements(),c[A].plotX=void 0);this.data=c;this.points=q},getExtremes:function(a){var c=this.yAxis,d=this.processedXData,f,e=[],l=0;f=this.xAxis.getExtremes();
299
+ var g=f.min,h=f.max,r,p,t=this.requireSorting?1:0,k,q;a=a||this.stackedYData||this.processedYData||[];f=a.length;for(q=0;q<f;q++)if(p=d[q],k=a[q],r=(b(k,!0)||m(k))&&(!c.positiveValuesOnly||k.length||0<k),p=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(d[q+t]||p)>=g&&(d[q-t]||p)<=h,r&&p)if(r=k.length)for(;r--;)"number"===typeof k[r]&&(e[l++]=k[r]);else e[l++]=k;this.dataMin=n(e);this.dataMax=D(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();
300
+ var a=this.options,c=a.stacking,f=this.xAxis,e=f.categories,h=this.yAxis,l=this.points,m=l.length,p=!!this.modifyValue,t=a.pointPlacement,k="between"===t||b(t),n=a.threshold,q=a.startFromThreshold?n:0,A,F,u,G,y=Number.MAX_VALUE;"between"===t&&(t=.5);b(t)&&(t*=w(a.pointRange||f.pointRange));for(a=0;a<m;a++){var K=l[a],C=K.x,D=K.y;F=K.low;var B=c&&h.stacks[(this.negStacks&&D<(q?0:n)?"-":"")+this.stackKey],M;h.positiveValuesOnly&&null!==D&&0>=D&&(K.isNull=!0);K.plotX=A=d(Math.min(Math.max(-1E5,f.translate(C,
301
+ 0,0,0,1,t,"flags"===this.type)),1E5));c&&this.visible&&!K.isNull&&B&&B[C]&&(G=this.getStackIndicator(G,C,this.index),M=B[C],D=M.points[G.key],F=D[0],D=D[1],F===q&&G.key===B[C].base&&(F=w(b(n)&&n,h.min)),h.positiveValuesOnly&&0>=F&&(F=null),K.total=K.stackTotal=M.total,K.percentage=M.total&&K.y/M.total*100,K.stackY=D,M.setOffset(this.pointXOffset||0,this.barW||0));K.yBottom=v(F)?Math.min(Math.max(-1E5,h.translate(F,0,1,0,1)),1E5):null;p&&(D=this.modifyValue(D,K));K.plotY=F="number"===typeof D&&Infinity!==
302
+ D?Math.min(Math.max(-1E5,h.translate(D,0,1,0,1)),1E5):void 0;K.isInside=void 0!==F&&0<=F&&F<=h.len&&0<=A&&A<=f.len;K.clientX=k?d(f.translate(C,0,0,0,1,t)):A;K.negative=K.y<(n||0);K.category=e&&void 0!==e[K.x]?e[K.x]:K.x;K.isNull||(void 0!==u&&(y=Math.min(y,Math.abs(A-u))),u=A);K.zone=this.zones.length&&K.getZone()}this.closestPointRangePx=y;g(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return h(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
303
+ !1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,f=b.inverted,e=this.clipBox,g=e||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),r=b[h],m=b[h+"m"];r||(a&&(g.width=0,f&&(g.x=b.plotSizeX),b[h+"m"]=m=d.clipRect(f?b.plotSizeX+99:-99,f?-b.plotLeft:-b.plotTop,99,f?b.chartWidth:b.chartHeight)),b[h]=r=d.clipRect(g),r.count={length:0});a&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);!1!==c.clip&&
304
+ (this.group.clip(a||e?r:b.clipRect),this.markerGroup.clip(m),this.sharedClipKey=h);a||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&h&&b[h]&&(e||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=C(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();
305
+ g(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,f,e,g=this.options.marker,h,m,p,t=this[this.specialGroup]||this.markerGroup,k,n=w(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)d=a[c],e=d.graphic,h=d.marker||{},m=!!d.marker,f=n&&void 0===h.enabled||h.enabled,p=d.isInside,f&&!d.isNull?(f=w(h.symbol,this.symbol),k=this.markerAttribs(d,
306
+ d.selected&&"select"),e?e[p?"show":"hide"](!0).animate(k):p&&(0<k.width||d.hasImage)&&(d.graphic=e=b.renderer.symbol(f,k.x,k.y,k.width,k.height,m?h:g).add(t)),e&&e.attr(this.pointAttribs(d,d.selected&&"select")),e&&e.addClass(d.getClassName(),!0)):e&&(d.graphic=e.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},f=d.symbol||c.symbol,e=w(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=w(b&&b.radius,c&&c.radius,e+(c&&c.radiusPlus||0)));a.hasImage=f&&0===
307
+ f.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,f=d&&d.marker||{},e=this.color,g=d&&d.color,h=a&&a.color,d=w(f.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;e=g||a||h||e;a=f.fillColor||c.fillColor||e;e=f.lineColor||c.lineColor||e;b&&(c=c.states[b],b=f.states&&f.states[b]||{},d=w(b.lineWidth,c.lineWidth,d+w(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||
308
+ a,e=b.lineColor||c.lineColor||e);return{stroke:e,"stroke-width":d,fill:a}},destroy:function(){var b=this,c=b.chart,d=/AppleWebKit\/533/.test(F.navigator.userAgent),f,h,l=b.data||[],m,t;g(b,"destroy");G(b);q(b.axisTypes||[],function(a){(t=b[a])&&t.series&&(p(t.series,b),t.isDirty=t.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(h=l.length;h--;)(m=l[h])&&m.destroy&&m.destroy();b.points=null;a.clearTimeout(b.animationTimeout);e(b,function(a,b){a instanceof K&&!a.survive&&(f=d&&"group"===
309
+ b?"hide":"destroy",a[f]())});c.hoverSeries===b&&(c.hoverSeries=null);p(c.series,b);c.orderSeries();e(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var d=this,f=d.options,e=f.step,g,h=[],r=[],m;a=a||d.points;(g=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&g&&(e=4-e);!f.connectNulls||b||c||(a=this.getValidPoints(a));q(a,function(l,g){var p=l.plotX,t=l.plotY,k=a[g-1];(l.leftCliff||k&&k.rightCliff)&&!c&&(m=!0);l.isNull&&!v(b)&&0<g?m=!f.connectNulls:l.isNull&&!b?m=!0:(0===g||
310
+ m?g=["M",l.plotX,l.plotY]:d.getPointSpline?g=d.getPointSpline(a,l,g):e?(g=1===e?["L",k.plotX,t]:2===e?["L",(k.plotX+p)/2,k.plotY,"L",(k.plotX+p)/2,t]:["L",p,k.plotY],g.push("L",p,t)):g=["L",p,t],r.push(l.x),e&&(r.push(l.x),2===e&&r.push(l.x)),h.push.apply(h,g),m=!1)});h.xMap=r;return d.graphPath=h},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),d=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]],d=a.getZonesGraphs(d);q(d,function(d,
311
+ e){var f=d[0],l=a[f];l?(l.endX=a.preventGraphAnimation?null:c.xMap,l.animate({d:c})):c.length&&(a[f]=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group),l={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?l.dashstyle=d[3]:"square"!==b.linecap&&(l["stroke-linecap"]=l["stroke-linejoin"]="round"),l=a[f].attr(l).shadow(2>e&&b.shadow));l&&(l.startX=c.xMap,l.isArea=c.isArea)})},getZonesGraphs:function(a){q(this.zones,function(b,c){a.push(["zone-graph-"+c,
312
+ "highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||""),b.color||this.color,b.dashStyle||this.options.dashStyle])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],h,m=this.graph,p=this.area,t=Math.max(b.chartWidth,b.chartHeight),k=this[(this.zoneAxis||"y")+"Axis"],n,A,F=b.inverted,u,G,y,K,v=!1;d.length&&(m||p)&&k&&void 0!==k.min&&(A=k.reversed,u=k.horiz,m&&!this.showLine&&m.hide(),p&&p.hide(),n=k.getExtremes(),q(d,function(d,l){e=
313
+ A?u?b.plotWidth:0:u?0:k.toPixels(n.min);e=Math.min(Math.max(w(f,e),0),t);f=Math.min(Math.max(Math.round(k.toPixels(w(d.value,n.max),!0)),0),t);v&&(e=f=k.toPixels(n.max));G=Math.abs(e-f);y=Math.min(e,f);K=Math.max(e,f);k.isXAxis?(h={x:F?K:y,y:0,width:G,height:t},u||(h.x=b.plotHeight-h.x)):(h={x:0,y:F?K:y,width:t,height:G},u&&(h.y=b.plotWidth-h.y));F&&c.isVML&&(h=k.isXAxis?{x:0,y:A?y:K,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[l]?
314
+ g[l].animate(h):(g[l]=c.clipRect(h),m&&a["zone-graph-"+l].clip(g[l]),p&&a["zone-area-"+l].clip(g[l]));v=d.value>n.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=g)},invertGroups:function(a){function b(){q(["group","markerGroup"],function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,f;c.xAxis&&(f=B(d,"resize",b),B(c,"destroy",f),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,
315
+ f){var e=this[a],g=!e;g&&(this[a]=e=this.chart.renderer.g().attr({zIndex:d||.1}).add(f));e.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(v(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);e.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return e},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);
316
+ return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&C(d.animation).duration,f=a.visible?"inherit":"hidden",h=d.zIndex,m=a.hasRendered,p=b.seriesGroup,t=b.inverted;c=a.plotGroup("group","series",f,h,p);a.markerGroup=a.plotGroup("markerGroup","markers",f,h,p);e&&a.animate(!0);c.inverted=a.isCartesian?t:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();
317
+ a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(t);!1===d.clip||a.sharedClipKey||m||c.clip(b.clipRect);e&&a.animate();m||(a.animationTimeout=A(function(){a.afterAnimate()},e));a.isDirty=!1;a.hasRendered=!0;g(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:w(d&&d.left,a.plotLeft),
318
+ translateY:w(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,e){var f,l;if(l=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),l=Math.floor(l/2),{point:c[l],left:a(c.slice(0,
319
+ l),d+1,e),right:a(c.slice(l+1),d+1,e)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;A(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,l,h){var m=b.point,p=d.kdAxisArray[l%h],t,k,r=m;k=v(a[e])&&v(m[e])?Math.pow(a[e]-m[e],2):null;t=v(a[f])&&v(m[f])?Math.pow(a[f]-m[f],2):null;t=(k||0)+(t||0);m.dist=v(t)?Math.sqrt(t):Number.MAX_VALUE;m.distX=v(k)?
320
+ Math.sqrt(k):Number.MAX_VALUE;p=a[p]-m[p];t=0>p?"left":"right";k=0>p?"right":"left";b[t]&&(t=c(a,b[t],l+1,h),r=t[g]<r[g]?t:m);b[k]&&Math.sqrt(p*p)<r[g]&&(a=c(a,b[k],l+1,h),r=a[g]<r[g]?a:r);return r}var d=this,e=this.kdAxisArray[0],f=this.kdAxisArray[1],g=b?"distX":"dist";b=-1<d.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(M);(function(a){var B=a.addEvent,C=a.animate,D=a.Axis,n=a.createElement,d=a.css,
321
+ k=a.defined,u=a.each,v=a.erase,q=a.extend,p=a.fireEvent,y=a.inArray,g=a.isNumber,h=a.isObject,m=a.isArray,b=a.merge,c=a.objectEach,f=a.pick,e=a.Point,w=a.Series,G=a.seriesTypes,t=a.setAnimation,K=a.splat;q(a.Chart.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=f(b,!0),p(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();p(e,"afterAddSeries");b&&e.redraw(c)}));return d},addAxis:function(a,c,d,e){var g=c?"xAxis":"yAxis",h=this.options;a=b(a,{index:this[g].length,
322
+ isX:c});c=new D(this,a);h[g]=K(h[g]||{});h[g].push(a);f(d,!0)&&this.redraw(e);return c},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,g=function(){e&&d(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=n("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=n("span",{className:"highcharts-loading-inner"},null,e),B(b,"redraw",g));e.className="highcharts-loading";b.loadingSpan.innerHTML=
323
+ a||c.lang.loading;d(e,q(f.style,{zIndex:10}));d(b.loadingSpan,f.labelStyle);b.loadingShown||(d(e,{opacity:0,display:""}),C(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0}));b.loadingShown=!0;g()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",C(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){d(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
324
+ propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,d,e,h){var m=this,t={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},r=a.chart,l,n,q=[];p(m,"update",{options:a});if(r){b(!0,m.options.chart,r);"className"in r&&m.setClassName(r.className);"reflow"in r&&m.setReflow(r.reflow);if("inverted"in r||"polar"in r||"type"in r)m.propFromSeries(),l=!0;"alignTicks"in r&&(l=!0);c(r,function(a,b){-1!==
325
+ y("chart."+b,m.propsRequireUpdateSeries)&&(n=!0);-1!==y(b,m.propsRequireDirtyBox)&&(m.isDirtyBox=!0)});"style"in r&&m.renderer.setStyle(r.style)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&b(!0,this.options.plotOptions,a.plotOptions);c(a,function(a,b){if(m[b]&&"function"===typeof m[b].update)m[b].update(a,!1);else if("function"===typeof m[t[b]])m[t[b]](a);"chart"!==b&&-1!==y(b,m.propsRequireUpdateSeries)&&(n=!0)});u("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;
326
+ a[b]&&("series"===b&&(c=[],u(m[b],function(a,b){a.options.isInternal||c.push(b)})),u(K(a[b]),function(a,d){(d=k(a.id)&&m.get(a.id)||m[b][c?c[d]:d])&&d.coll===b&&(d.update(a,!1),e&&(d.touched=!0));if(!d&&e)if("series"===b)m.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)m.addAxis(a,"xAxis"===b,!1).touched=!0}),e&&u(m[b],function(a){a.touched||a.options.isInternal?delete a.touched:q.push(a)}))});u(q,function(a){a.remove&&a.remove(!1)});l&&u(m.axes,function(a){a.update({},!1)});n&&u(m.series,
327
+ function(a){a.update({},!1)});a.loading&&b(!0,m.options.loading,a.loading);l=r&&r.width;r=r&&r.height;g(l)&&l!==m.chartWidth||g(r)&&r!==m.chartHeight?m.setSize(l,r,h):f(d,!0)&&m.redraw(h);p(m,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});q(e.prototype,{update:function(a,b,c,d){function e(){g.applyOptions(a);null===g.y&&l&&(g.graphic=l.destroy());h(a,!0)&&(l&&l.element&&a&&a.marker&&void 0!==a.marker.symbol&&(g.graphic=l.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=
328
+ g.dataLabel.destroy()),g.connector&&(g.connector=g.connector.destroy()));p=g.index;m.updateParallelArrays(g,p);r.data[p]=h(r.data[p],!0)||h(a,!0)?g.options:f(a,r.data[p]);m.isDirty=m.isDirtyData=!0;!m.fixedBox&&m.hasCartesianSeries&&(t.isDirtyBox=!0);"point"===r.legendType&&(t.isDirtyLegend=!0);b&&t.redraw(c)}var g=this,m=g.series,l=g.graphic,p,t=m.chart,r=m.options;b=f(b,!0);!1===d?e():g.firePointEvent("update",{options:a},e)},remove:function(a,b){this.series.removePoint(y(this,this.series.data),
329
+ a,b)}});q(w.prototype,{addPoint:function(a,b,c,d){var e=this.options,g=this.data,h=this.chart,l=this.xAxis,l=l&&l.hasNames&&l.names,m=e.data,p,t,r=this.xData,k,n;b=f(b,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);n=p.x;k=r.length;if(this.requireSorting&&n<r[k-1])for(t=!0;k&&r[k-1]>n;)k--;this.updateParallelArrays(p,"splice",k,0,0);this.updateParallelArrays(p,k);l&&p.name&&(l[n]=p.name);m.splice(k,0,a);t&&(this.data.splice(k,0,null),this.processData());"point"===e.legendType&&
330
+ this.generatePoints();c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(p,"shift"),m.shift()));this.isDirtyData=this.isDirty=!0;b&&h.redraw(d)},removePoint:function(a,b,c){var d=this,e=d.data,g=e[a],h=d.points,l=d.chart,m=function(){h&&h.length===e.length&&h.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(g||{series:d},"splice",a,1);g&&g.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&l.redraw()};t(c,l);b=f(b,!0);g?g.firePointEvent("remove",null,m):
331
+ m()},remove:function(a,b,c){function d(){e.destroy();e.remove=null;g.isDirtyLegend=g.isDirtyBox=!0;g.linkSeries();f(a,!0)&&g.redraw(b)}var e=this,g=e.chart;!1!==c?p(e,"remove",null,d):d()},update:function(c,d){var e=this,g=e.chart,h=e.userOptions,m=e.oldType||e.type,t=c.type||h.type||g.options.chart.type,l=G[m].prototype,k,n=["group","markerGroup","dataLabelsGroup"],w=["navigatorSeries","baseSeries"],A=e.finishedAnimating&&{animation:!1},F=["data","name","turboThreshold"],K=a.keys(c),v=0<K.length;
332
+ u(K,function(a){-1===y(a,F)&&(v=!1)});if(v)c.data&&this.setData(c.data,!1),c.name&&this.setName(c.name,!1);else{w=n.concat(w);u(w,function(a){w[a]=e[a];delete e[a]});c=b(h,A,{index:e.index,pointStart:f(h.pointStart,e.xData[0])},{data:e.options.data},c);e.remove(!1,null,!1);for(k in l)e[k]=void 0;G[t||m]?q(e,G[t||m].prototype):a.error(17,!0);u(w,function(a){e[a]=w[a]});e.init(g,c);c.zIndex!==h.zIndex&&u(n,function(a){e[a]&&e[a].attr({zIndex:c.zIndex})});e.oldType=m;g.linkSeries()}p(this,"afterUpdate");
333
+ f(d,!0)&&g.redraw(v?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});q(D.prototype,{update:function(a,d){var e=this.chart,g=a&&a.events||{};a=b(this.userOptions,a);e.options[this.coll].indexOf&&(e.options[this.coll][e.options[this.coll].indexOf(this.userOptions)]=a);c(e.options[this.coll].events,function(a,b){"undefined"===typeof g[b]&&(g[b]=void 0)});this.destroy(!0);this.init(e,q(a,{events:g}));e.isDirtyBox=!0;f(d,!0)&&e.redraw()},
334
+ remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);v(b.axes,this);v(b[c],this);m(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];u(b[c],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;f(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(M);(function(a){var B=a.animObject,C=a.color,D=a.each,n=a.extend,d=
335
+ a.defined,k=a.isNumber,u=a.merge,v=a.pick,q=a.Series,p=a.seriesType,y=a.svg;p("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group",
336
+ "dataLabelsGroup"],negStacks:!0,init:function(){q.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&D(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,m=a.xAxis,b=a.yAxis,c=m.options.reversedStacks,c=m.reversed&&!c||!m.reversed&&c,f,e={},p=0;!1===d.grouping?p=1:D(a.chart.series,function(c){var d=c.options,g=c.yAxis,h;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||b.len!==g.len||b.pos!==g.pos||
337
+ (d.stacking?(f=c.stackKey,void 0===e[f]&&(e[f]=p++),h=e[f]):!1!==d.grouping&&(h=p++),c.columnIndex=h)});var k=Math.min(Math.abs(m.transA)*(m.ordinalSlope||d.pointRange||m.closestPointRange||m.tickInterval||1),m.len),t=k*d.groupPadding,n=(k-2*t)/(p||1),d=Math.min(d.maxPointWidth||m.len,v(d.pointWidth,n*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(n-d)/2+(t+((a.columnIndex||0)+(c?1:0))*n-k/2)*(c?-1:1)};return a.columnMetrics},crispCol:function(a,d,m,b){var c=this.chart,f=this.borderWidth,
338
+ e=-(f%2?.5:0),f=f%2?.5:1;c.inverted&&c.renderer.isVML&&(f+=1);this.options.crisp&&(m=Math.round(a+m)+e,a=Math.round(a)+e,m-=a);b=Math.round(d+b)+f;e=.5>=Math.abs(d)&&.5<b;d=Math.round(d)+f;b-=d;e&&b&&(--d,b+=1);return{x:a,y:d,width:m,height:b}},translate:function(){var a=this,h=a.chart,m=a.options,b=a.dense=2>a.closestPointRange*a.xAxis.transA,b=a.borderWidth=v(m.borderWidth,b?0:1),c=a.yAxis,f=m.threshold,e=a.translatedThreshold=c.getThreshold(f),p=v(m.minPointLength,5),k=a.getColumnMetrics(),t=k.width,
339
+ n=a.barW=Math.max(t,1+2*b),A=a.pointXOffset=k.offset;h.inverted&&(e-=.5);m.pointPadding&&(n=Math.ceil(n));q.prototype.translate.apply(a);D(a.points,function(b){var g=v(b.yBottom,e),m=999+Math.abs(g),k=t,m=Math.min(Math.max(-m,b.plotY),c.len+m),q=b.plotX+A,w=n,l=Math.min(m,g),x,u=Math.max(m,g)-l;p&&Math.abs(u)<p&&(u=p,x=!c.reversed&&!b.negative||c.reversed&&b.negative,b.y===f&&a.dataMax<=f&&c.min<f&&(x=!x),l=Math.abs(l-e)>p?g-p:e-(x?p:0));d(b.options.pointWidth)&&(k=w=Math.ceil(b.options.pointWidth),
340
+ q-=Math.round((k-t)/2));b.barX=q;b.pointWidth=k;b.tooltipPos=h.inverted?[c.len+c.pos-h.plotLeft-m,a.xAxis.len-q-w/2,u]:[q+w/2,m+c.pos-h.plotTop,u];b.shapeType="rect";b.shapeArgs=a.crispCol.apply(a,b.isNull?[q,e,w,0]:[q,l,w,u])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var g=this.options,b,c=this.pointAttrToOptions||{};b=c.stroke||"borderColor";var f=
341
+ c["stroke-width"]||"borderWidth",e=a&&a.color||this.color,h=a&&a[b]||g[b]||this.color||e,p=a&&a[f]||g[f]||this[f]||0,c=g.dashStyle;a&&this.zones.length&&(e=a.getZone(),e=a.options.color||e&&e.color||this.color);d&&(a=u(g.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,e=a.color||void 0!==d&&C(e).brighten(a.brightness).get()||e,h=a[b]||h,p=a[f]||p,c=a.dashStyle||c);b={fill:e,stroke:h,"stroke-width":p};c&&(b.dashstyle=c);return b},drawPoints:function(){var a=this,d=this.chart,m=
342
+ a.options,b=d.renderer,c=m.animationLimit||250,f;D(a.points,function(e){var g=e.graphic,h=g&&d.pointCount<c?"animate":"attr";if(k(e.plotY)&&null!==e.y){f=e.shapeArgs;if(g)g[h](u(f));else e.graphic=g=b[e.shapeType](f).add(e.group||a.group);m.borderRadius&&g.attr({r:m.borderRadius});g[h](a.pointAttribs(e,e.selected&&"select")).shadow(m.shadow,null,m.stacking&&!m.borderRadius);g.addClass(e.getClassName(),!0)}else g&&(e.graphic=g.destroy())})},animate:function(a){var d=this,g=this.yAxis,b=d.options,c=
343
+ this.chart.inverted,f={},e=c?"translateX":"translateY",p;y&&(a?(f.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(b.threshold))),c?f.translateX=a-g.len:f.translateY=a,d.group.attr(f)):(p=d.group.attr(e),d.group.animate({scaleY:1},n(B(d.options.animation),{step:function(a,b){f[e]=p+b.pos*(g.pos-p);d.group.attr(f)}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&D(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});q.prototype.remove.apply(a,arguments)}})})(M);
344
+ (function(a){var B=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,
345
+ drawGraph:function(){this.options.lineWidth&&B.prototype.drawGraph.call(this)}})})(M);(function(a){var B=a.addEvent,C=a.arrayMax,D=a.defined,n=a.each,d=a.extend,k=a.format,u=a.map,v=a.merge,q=a.noop,p=a.pick,y=a.relativeLength,g=a.Series,h=a.seriesTypes,m=a.some,b=a.stableSort,c=a.isArray,f=a.splat;a.distribute=function(c,d,f){function e(a,b){return a.target-b.target}var g,h=!0,k=c,r=[],q;q=0;var w=k.reducedLen||d;for(g=c.length;g--;)q+=c[g].size;if(q>w){b(c,function(a,b){return(b.rank||0)-(a.rank||
346
+ 0)});for(q=g=0;q<=w;)q+=c[g].size,g++;r=c.splice(g-1,c.length)}b(c,e);for(c=u(c,function(a){return{size:a.size,targets:[a.target],align:p(a.align,.5)}});h;){for(g=c.length;g--;)h=c[g],q=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=Math.min(Math.max(0,q-h.size*h.align),d-h.size);g=c.length;for(h=!1;g--;)0<g&&c[g-1].pos+c[g-1].size>c[g].pos&&(c[g-1].size+=c[g].size,c[g-1].targets=c[g-1].targets.concat(c[g].targets),c[g-1].align=.5,c[g-1].pos+c[g-1].size>d&&(c[g-1].pos=d-c[g-1].size),
347
+ c.splice(g,1),h=!0)}k.push.apply(k,r);g=0;m(c,function(b){var c=0;if(m(b.targets,function(){k[g].pos=b.pos+c;if(Math.abs(k[g].pos-k[g].target)>f)return n(k.slice(0,g+1),function(a){delete a.pos}),k.reducedLen=(k.reducedLen||d)-.1*d,k.reducedLen>.1*d&&a.distribute(k,d,f),!0;c+=k[g].size;g++}))return!0});b(k,e)};g.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&
348
+ a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function d(a,b){var d=[],e;if(c(a)&&!c(b))d=u(a,function(a){return v(a,b)});else if(c(b)&&!c(a))d=u(b,function(b){return v(a,b)});else if(c(a)||c(b))for(e=Math.max(a.length,b.length);e--;)d[e]=v(a[e],b[e]);else d=v(a,b);return d}var g=this,h=g.chart,m=g.options,q=m.dataLabels,y=g.points,r,I=g.hasRendered||0,E,C=p(q.defer,!!m.animation),J=h.renderer,q=d(d(h.options.plotOptions&&h.options.plotOptions.series&&h.options.plotOptions.series.dataLabels,
349
+ h.options.plotOptions&&h.options.plotOptions[g.type]&&h.options.plotOptions[g.type].dataLabels),q);if(c(q)||q.enabled||g._hasPointLabels)E=g.plotGroup("dataLabelsGroup","data-labels",C&&!I?"hidden":"visible",q.zIndex||6),C&&(E.attr({opacity:+I}),I||B(g,"afterAnimate",function(){g.visible&&E.show(!0);E[m.animation?"animate":"attr"]({opacity:1},{duration:200})})),n(y,function(c){r=f(d(q,c.dlOptions||c.options&&c.options.dataLabels));n(r,function(d,e){var f=d.enabled&&!c.isNull&&b(c,d),l,t,r,n,q=c.dataLabels?
350
+ c.dataLabels[e]:c.dataLabel,w=c.connectors?c.connectors[e]:c.connector,A=!q;f&&(l=c.getLabelConfig(),t=d[c.formatPrefix+"Format"]||d.format,l=D(t)?k(t,l,h.time):(d[c.formatPrefix+"Formatter"]||d.formatter).call(l,d),t=d.style,r=d.rotation,t.color=p(d.color,t.color,g.color,"#000000"),"contrast"===t.color&&(c.contrastColor=J.getContrast(c.color||g.color),t.color=d.inside||0>p(d.distance,c.labelDistance)||m.stacking?c.contrastColor:"#000000"),m.cursor&&(t.cursor=m.cursor),n={fill:d.backgroundColor,stroke:d.borderColor,
351
+ "stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:r,padding:d.padding,zIndex:1},a.objectEach(n,function(a,b){void 0===a&&delete n[b]}));!q||f&&D(l)?f&&D(l)&&(q?n.text=l:(c.dataLabels=c.dataLabels||[],q=c.dataLabels[e]=r?J.text(l,0,-9999).addClass("highcharts-data-label"):J.label(l,0,-9999,d.shape,null,null,d.useHTML,null,"data-label"),e||(c.dataLabel=q),q.addClass(" highcharts-data-label-color-"+c.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),q.options=d,q.attr(n),
352
+ q.css(t).shadow(d.shadow),q.added||q.add(E),g.alignDataLabel(c,q,d,null,A)):(c.dataLabel=c.dataLabel.destroy(),c.dataLabels&&(1===c.dataLabels.length?delete c.dataLabels:delete c.dataLabels[e]),e||delete c.dataLabel,w&&(c.connector=c.connector.destroy(),c.connectors&&(1===c.connectors.length?delete c.connectors:delete c.connectors[e])))})});a.fireEvent(this,"afterDrawDataLabels")};g.prototype.alignDataLabel=function(a,b,c,f,g){var e=this.chart,h=e.inverted,m=p(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),
353
+ k=p(a.plotY,-9999),t=b.getBBox(),n,q=c.rotation,l=c.align,w=this.visible&&(a.series.forceDL||e.isInsidePlot(m,Math.round(k),h)||f&&e.isInsidePlot(m,h?f.x+1:f.y+f.height-1,h)),u="justify"===p(c.overflow,"justify");if(w&&(n=c.style.fontSize,n=e.renderer.fontMetrics(n,b).b,f=d({x:h?this.yAxis.len-k:m,y:Math.round(h?this.xAxis.len-m:k),width:0,height:0},f),d(c,{width:t.width,height:t.height}),q?(u=!1,m=e.renderer.rotCorr(n,q),m={x:f.x+c.x+f.width/2+m.x,y:f.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*
354
+ f.height},b[g?"attr":"animate"](m).attr({align:l}),k=(q+720)%360,k=180<k&&360>k,"left"===l?m.y-=k?t.height:0:"center"===l?(m.x-=t.width/2,m.y-=t.height/2):"right"===l&&(m.x-=t.width,m.y-=k?0:t.height),b.placed=!0,b.alignAttr=m):(b.align(c,null,f),m=b.alignAttr),u&&0<=f.height?a.isLabelJustified=this.justifyDataLabel(b,c,m,t,f,g):p(c.crop,!0)&&(w=e.isInsidePlot(m.x,m.y)&&e.isInsidePlot(m.x+t.width,m.y+t.height)),c.shape&&!q))b[g?"attr":"animate"]({anchorX:h?e.plotWidth-a.plotY:a.plotX,anchorY:h?e.plotHeight-
355
+ a.plotX:a.plotY});w||(b.attr({y:-9999}),b.placed=!1)};g.prototype.justifyDataLabel=function(a,b,c,d,f,g){var e=this.chart,h=b.align,m=b.verticalAlign,p,k,t=a.box?0:a.padding||0;p=c.x+t;0>p&&("right"===h?b.align="left":b.x=-p,k=!0);p=c.x+d.width-t;p>e.plotWidth&&("left"===h?b.align="right":b.x=e.plotWidth-p,k=!0);p=c.y+t;0>p&&("bottom"===m?b.verticalAlign="top":b.y=-p,k=!0);p=c.y+d.height-t;p>e.plotHeight&&("top"===m?b.verticalAlign="bottom":b.y=e.plotHeight-p,k=!0);k&&(a.placed=!g,a.align(b,null,
356
+ f));return k};h.pie&&(h.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,f=b.chart,h=b.options.dataLabels,m=p(h.connectorPadding,10),k=p(h.connectorWidth,1),q=f.plotWidth,u=f.plotHeight,y=Math.round(f.chartWidth/3),v,J=b.center,l=J[2]/2,x=J[1],B,M,H,P,Q=[[],[]],z,O,S,R,U=[0,0,0,0];b.visible&&(h.enabled||b._hasPointLabels)&&(n(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),
357
+ g.prototype.drawDataLabels.apply(b),n(c,function(a){a.dataLabel&&(a.visible?(Q[a.half].push(a),a.dataLabel._pos=null,!D(h.style.width)&&!D(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>y&&(a.dataLabel.css({width:.7*y}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),n(Q,function(c,e){var g,k,t=c.length,r=[],w;if(t)for(b.sortByAngle(c,e-.5),0<b.maxLabelDistance&&
358
+ (g=Math.max(0,x-l-b.maxLabelDistance),k=Math.min(x+l+b.maxLabelDistance,f.plotHeight),n(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,x-l-a.labelDistance),a.bottom=Math.min(x+l+a.labelDistance,f.plotHeight),w=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+w/2,size:w,rank:a.y},r.push(a.distributeBox))}),g=k+w-g,a.distribute(r,g,g/5)),R=0;R<t;R++)d=c[R],H=d.labelPos,B=d.dataLabel,S=!1===d.visible?"hidden":"inherit",O=g=H[1],r&&D(d.distributeBox)&&(void 0===
359
+ d.distributeBox.pos?S="hidden":(P=d.distributeBox.size,O=d.top+d.distributeBox.pos)),delete d.positionIndex,z=h.justify?J[0]+(e?-1:1)*(l+d.labelDistance):b.getX(O<d.top+2||O>d.bottom-2?g:O,e,d),B._attr={visibility:S,align:H[6]},B._pos={x:z+h.x+({left:m,right:-m}[H[6]]||0),y:O+h.y-10},H.x=z,H.y=O,p(h.crop,!0)&&(M=B.getBBox().width,g=null,z-M<m&&1===e?(g=Math.round(M-z+m),U[3]=Math.max(g,U[3])):z+M>q-m&&0===e&&(g=Math.round(z+M-q+m),U[1]=Math.max(g,U[1])),0>O-P/2?U[0]=Math.max(Math.round(-O+P/2),U[0]):
360
+ O+P/2>u&&(U[2]=Math.max(Math.round(O+P/2-u),U[2])),B.sideOverflow=g)}),0===C(U)||this.verifyDataLabelOverflow(U))&&(this.placeDataLabels(),k&&n(this.points,function(a){var c;v=a.connector;if((B=a.dataLabel)&&B._pos&&a.visible&&0<a.labelDistance){S=B._attr.visibility;if(c=!v)a.connector=v=f.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),v.attr({"stroke-width":k,stroke:h.connectorColor||a.color||"#666666"});
361
+ v[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});v.attr("visibility",S)}else v&&(a.connector=v.destroy())}))},h.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return p(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},h.pie.prototype.placeDataLabels=function(){n(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&
362
+ (b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},h.pie.prototype.alignDataLabel=q,h.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,f=c.minSize||80,e,g=null!==c.size;g||(null!==d[0]?e=Math.max(b[2]-Math.max(a[1],a[3]),f):(e=Math.max(b[2]-a[1]-
363
+ a[3],f),b[0]+=(a[3]-a[1])/2),null!==d[1]?e=Math.max(Math.min(e,b[2]-Math.max(a[0],a[2])),f):(e=Math.max(Math.min(e,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2),e<b[2]?(b[2]=e,b[3]=Math.min(y(c.innerSize||0,e),e),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):g=!0);return g});h.column&&(h.column.prototype.alignDataLabel=function(a,b,c,d,f){var e=this.chart.inverted,h=a.series,m=a.dlBox||a.shapeArgs,k=p(a.below,a.plotY>p(this.translatedThreshold,h.yAxis.len)),t=p(c.inside,!!this.options.stacking);
364
+ m&&(d=v(m),0>d.y&&(d.height+=d.y,d.y=0),m=d.y+d.height-h.yAxis.len,0<m&&(d.height-=m),e&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-d.x-d.width,width:d.height,height:d.width}),t||(e?(d.x+=k?0:d.width,d.width=0):(d.y+=k?d.height:0,d.height=0)));c.align=p(c.align,!e||t?"center":k?"right":"left");c.verticalAlign=p(c.verticalAlign,e||t?"middle":k?"top":"bottom");g.prototype.alignDataLabel.call(this,a,b,c,d,f);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})})(M);(function(a){var B=
365
+ a.Chart,C=a.each,D=a.isArray,n=a.objectEach,d=a.pick;a=a.addEvent;a(B,"render",function(){var a=[];C(this.labelCollectors||[],function(d){a=a.concat(d())});C(this.yAxis||[],function(d){d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&n(d.stacks,function(d){n(d,function(d){a.push(d.label)})})});C(this.series||[],function(k){var n=k.options.dataLabels;k.visible&&(!1!==n.enabled||k._hasPointLabels)&&C(k.points,function(k){if(k.visible){var p=D(k.dataLabels)?k.dataLabels:k.dataLabel?[k.dataLabel]:
366
+ [];C(p,function(p){var g=p.options;p.labelrank=d(g.labelrank,k.labelrank,k.shapeArgs&&k.shapeArgs.height);g.allowOverlap||a.push(p)})}})});this.hideOverlappingLabels(a)});B.prototype.hideOverlappingLabels=function(a){var d=a.length,k=this.renderer,n,p,y,g,h,m,b=function(a,b,d,g,h,m,p,k){return!(h>a+d||h+p<a||m>b+g||m+k<b)};y=function(a){var b,c,d,g=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=
367
+ d.width,a.height=d.height,d=k.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+g,y:b.y+(c.translateY||0)+g-d,width:a.width-2*g,height:a.height-2*g}};for(p=0;p<d;p++)if(n=a[p])n.oldOpacity=n.opacity,n.newOpacity=1,n.absoluteBox=y(n);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(p=0;p<d;p++)for(m=(y=a[p])&&y.absoluteBox,n=p+1;n<d;++n)if(h=(g=a[n])&&g.absoluteBox,m&&h&&y!==g&&0!==y.newOpacity&&0!==g.newOpacity&&(h=b(m.x,m.y,m.width,m.height,h.x,h.y,h.width,h.height)))(y.labelrank<
368
+ g.labelrank?y:g).newOpacity=0;C(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)):a.attr({opacity:c})),a.isOld=!0)})}})(M);(function(a){var B=a.addEvent,C=a.Chart,D=a.createElement,n=a.css,d=a.defaultOptions,k=a.defaultPlotOptions,u=a.each,v=a.extend,q=a.fireEvent,p=a.hasTouch,y=a.inArray,g=a.isObject,h=a.Legend,m=a.merge,b=a.pick,c=a.Point,f=a.Series,e=a.seriesTypes,
369
+ w=a.svg,G;G=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};u(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(u(a.trackerGroups,function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(p)a[d].on("touchstart",
370
+ c);a.options.cursor&&a[d].css(n).css({cursor:a.options.cursor})}}),a._hasTracking=!0);q(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),f=d.length,e=a.chart,g=e.pointer,h=e.renderer,m=e.options.tooltip.snap,l=a.tracker,k,n=function(){if(e.hoverSeries!==a)a.onMouseOver()},y="rgba(192,192,192,"+(w?.0001:.002)+")";if(f&&!c)for(k=f+1;k--;)"M"===d[k]&&d.splice(k+1,0,d[k+1]-m,d[k+2],"L"),(k&&"M"===d[k]||k===f)&&d.splice(k,
371
+ 0,"L",d[k-2]+m,d[k-1]);l?l.attr({d:d}):a.graph&&(a.tracker=h.path(d).attr({"stroke-linejoin":"round",stroke:y,fill:c?y:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*m),visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),u([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(p)a.on("touchstart",
372
+ n)}));q(this,"afterDrawTracker")}};e.column&&(e.column.prototype.drawTracker=G.drawTrackerPoint);e.pie&&(e.pie.prototype.drawTracker=G.drawTrackerPoint);e.scatter&&(e.scatter.prototype.drawTracker=G.drawTrackerPoint);d.legend.itemStyle.cursor="pointer";v(h.prototype,{setItemEvents:function(a,b,d){var f=this,e=f.chart.renderer.boxWrapper,g="highcharts-legend-"+(a instanceof c?"point":"series")+"-active";(d?b:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(g);b.css(f.options.itemHoverStyle)}).on("mouseout",
373
+ function(){b.css(m(a.visible?f.itemStyle:f.itemHiddenStyle));e.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};e.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):q(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);B(a.checkbox,
374
+ "click",function(b){q(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});v(C.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=d.lang,f=b.options.chart.resetZoomButton,e=f.theme,g=e.states,h="chart"===f.relativeTo?null:"plotBox";q(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,g&&g.hover).attr({align:f.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(f.position,
375
+ !1,h)})},zoomOut:function(){q(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var c,d=this.pointer,f=!1,e;!a||a.resetSelection?(u(this.axes,function(a){c=a.zoom()}),d.initiated=!1):u(a.xAxis.concat(a.yAxis),function(a){var b=a.axis;d[b.isXAxis?"zoomX":"zoomY"]&&(c=b.zoom(a.min,a.max),b.displayBtn&&(f=!0))});e=this.resetZoomButton;f&&!e?this.showResetZoom():!f&&g(e)&&(this.resetZoomButton=e.destroy());c&&this.redraw(b(this.options.chart.animation,a&&a.animation,100>this.pointCount))},
376
+ pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&u(d,function(a){a.setState()});u("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,k=b.getExtremes(),p=b.toValue(g-e,!0)+h*m,m=b.toValue(g+b.len-e,!0)-h*m,n=m<p,g=n?m:p,p=n?p:m,m=Math.min(k.dataMin,h?k.min:b.toValue(b.toPixels(k.min)-b.minPixelPadding)),h=Math.max(k.dataMax,h?k.max:b.toValue(b.toPixels(k.max)+
377
+ b.minPixelPadding)),n=m-g;0<n&&(p+=n,g=m);n=p-h;0<n&&(p=h,g-=n);b.series.length&&g!==k.min&&p!==k.max&&(b.setExtremes(g,p,!1,!1,{trigger:"pan"}),f=!0);c[d]=e});f&&c.redraw(!1);n(c.container,{cursor:"move"})}});v(c.prototype,{select:function(a,c){var d=this,f=d.series,e=f.chart;a=b(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:c},function(){d.selected=d.options.selected=a;f.options.data[y(d,f.data)]=d.options;d.setState(a&&"select");c||u(e.getSelectedPoints(),function(a){a.selected&&
378
+ a!==d&&(a.selected=a.options.selected=!1,f.options.data[y(a,f.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");u(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,
379
+ c=m(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){B(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,c){var d=Math.floor(this.plotX),f=this.plotY,e=this.series,g=e.options.states[a||"normal"]||{},h=k[e.type].marker&&e.options.marker,m=h&&!1===h.enabled,p=h&&h.states&&h.states[a||"normal"]||{},l=!1===p.enabled,n=e.stateMarkerGraphic,t=this.marker||{},u=e.chart,w=e.halo,y,G=h&&e.markerAttribs;a=a||"";if(!(a===this.state&&!c||this.selected&&"select"!==a||!1===
380
+ g.enabled||a&&(l||m&&!1===p.enabled)||a&&t.states&&t.states[a]&&!1===t.states[a].enabled)){G&&(y=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.animate(e.pointAttribs(this,a),b(u.options.chart.animation,g.animation)),y&&this.graphic.animate(y,b(u.options.chart.animation,p.animation,h.animation)),n&&n.hide();else{if(a&&p){h=t.symbol||e.symbol;n&&n.currentSymbol!==h&&(n=n.destroy());
381
+ if(n)n[c?"animate":"attr"]({x:y.x,y:y.y});else h&&(e.stateMarkerGraphic=n=u.renderer.symbol(h,y.x,y.y,y.width,y.height).add(e.markerGroup),n.currentSymbol=h);n&&n.attr(e.pointAttribs(this,a))}n&&(n[a&&u.isInsidePlot(d,f,u.inverted)?"show":"hide"](),n.element.point=this)}(d=g.halo)&&d.size?(w||(e.halo=w=u.renderer.path().add((this.graphic||n).parentGroup)),w.show()[c?"animate":"attr"]({d:this.haloPath(d.size)}),w.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,e.colorIndex)+(this.className?
382
+ " "+this.className:""),zIndex:-1}),w.point=this,w.attr(v({fill:this.color||e.color,"fill-opacity":d.opacity},d.attributes))):w&&w.point&&w.point.haloPath&&w.animate({d:w.point.haloPath(0)},null,w.hide);this.state=a;q(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});v(f.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&q(this,"mouseOver");
383
+ this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&q(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var c=this,d=c.options,f=c.graph,e=d.states,g=d.lineWidth,d=0;a=a||"";if(c.state!==a&&(u([c.group,c.markerGroup,c.dataLabelsGroup],function(b){b&&(c.state&&b.removeClass("highcharts-series-"+
384
+ c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(g=e[a].lineWidth||g+(e[a].lineWidthPlus||0)),f&&!f.dashstyle))for(g={"stroke-width":g},f.animate(g,b(e[a||"normal"]&&e[a||"normal"].animation,c.chart.options.chart.animation));c["zone-graph-"+d];)c["zone-graph-"+d].attr(g),d+=1},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,e,g=d.options.chart.ignoreHiddenSeries,h=c.visible;e=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:
385
+ a)?"show":"hide";u(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][e]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&u(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});u(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);q(c,e);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=
386
+ a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);q(this,a?"select":"unselect")},drawTracker:G.drawTrackerGraph})})(M);(function(a){var B=a.Chart,C=a.each,D=a.inArray,n=a.isArray,d=a.isObject,k=a.pick,u=a.splat;B.prototype.setResponsive=function(d){var k=this.options.responsive,p=[],n=this.currentResponsive;k&&k.rules&&C(k.rules,function(g){void 0===g._id&&(g._id=a.uniqueKey());this.matchResponsiveRule(g,p,d)},this);var g=a.merge.apply(0,a.map(p,function(d){return a.find(k.rules,
387
+ function(a){return a._id===d}).chartOptions})),p=p.toString()||void 0;p!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,d),p?(this.currentResponsive={ruleIds:p,mergedOptions:g,undoOptions:this.currentOptions(g)},this.update(g,d)):this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,d){var p=a.condition;(p.callback||function(){return this.chartWidth<=k(p.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=k(p.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=k(p.minWidth,0)&&this.chartHeight>=
388
+ k(p.minHeight,0)}).call(this)&&d.push(a._id)};B.prototype.currentOptions=function(k){function q(k,g,h,m){var b;a.objectEach(k,function(a,f){if(!m&&-1<D(f,["series","xAxis","yAxis"]))for(a=u(a),h[f]=[],b=0;b<a.length;b++)g[f][b]&&(h[f][b]={},q(a[b],g[f][b],h[f][b],m+1));else d(a)?(h[f]=n(a)?[]:{},q(a,g[f]||{},h[f],m+1)):h[f]=g[f]||null})}var p={};q(k,this.options,p,0);return p}})(M);(function(a){var B=a.addEvent,C=a.Axis,D=a.each,n=a.pick;B(C,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(D(this.series,
389
+ function(d,n){d.useMapGeometry&&(a[n]=d.xData,d.xData=[])}),this.seriesXData=a)});B(C,"afterGetSeriesExtremes",function(){var a=this.seriesXData,k,u,v;this.isXAxis&&(k=n(this.dataMin,Number.MAX_VALUE),u=n(this.dataMax,-Number.MAX_VALUE),D(this.series,function(d,p){d.useMapGeometry&&(k=Math.min(k,n(d.minX,k)),u=Math.max(u,n(d.maxX,u)),d.xData=a[p],v=!0)}),v&&(this.dataMin=k,this.dataMax=u),delete this.seriesXData)});B(C,"afterSetAxisTranslation",function(){var a=this.chart,k;k=a.plotWidth/a.plotHeight;
390
+ var a=a.xAxis[0],n;"yAxis"===this.coll&&void 0!==a.transA&&D(this.series,function(a){a.preserveAspectRatio&&(n=!0)});if(n&&(this.transA=a.transA=Math.min(this.transA,a.transA),k/=(a.max-a.min)/(this.max-this.min),k=1>k?this:a,a=(k.max-k.min)*k.transA,k.pixelPadding=k.len-a,k.minPixelPadding=k.pixelPadding/2,a=k.fixTo)){a=a[1]-k.toValue(a[0],!0);a*=k.transA;if(Math.abs(a)>k.minPixelPadding||k.min===k.dataMin&&k.max===k.dataMax)a=0;k.minPixelPadding-=a}});B(C,"render",function(){this.fixTo=null})})(M);
391
+ (function(a){var B=a.addEvent,C=a.Axis,D=a.Chart,n=a.color,d,k=a.each,u=a.extend,v=a.isNumber,q=a.Legend,p=a.LegendSymbolMixin,y=a.noop,g=a.merge,h=a.pick;a.ColorAxis||(d=a.ColorAxis=function(){this.init.apply(this,arguments)},u(d.prototype,C.prototype),u(d.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},
392
+ minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(C.prototype.keepProps),init:function(a,b){var c="vertical"!==a.options.legend.layout,d;this.coll="colorAxis";d=g(this.defaultColorAxisOptions,{side:c?2:1,reversed:!c},b,{opposite:!c,showEmpty:!1,title:null,visible:a.options.legend.enabled});C.prototype.init.call(this,a,d);b.dataClasses&&this.initDataClasses(b);this.initStops();this.horiz=
393
+ c;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var b=this.chart,c,d=0,e=b.options.chart.colorCount,h=this.options,m=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];k(a.dataClasses,function(a,f){a=g(a);c.push(a);a.color||("category"===h.dataClassColor?(f=b.options.colors,e=f.length,a.color=f[d],a.colorIndex=d,d++,d===e&&(d=0)):a.color=n(h.minColor).tweenTo(n(h.maxColor),2>m?.5:f/(m-1)))})},setTickPositions:function(){if(!this.dataClasses)return C.prototype.setTickPositions.call(this)},
394
+ initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];k(this.stops,function(a){a.color=n(a[1])})},setOptions:function(a){C.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,b=this.chart,c=b.options.legend||{},d,e;a?(this.left=c=a.attr("x"),this.top=d=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-c-e,this.bottom=b.chartHeight-
395
+ d-a,this.len=this.horiz?e:a,this.pos=this.horiz?c:d):this.len=(this.horiz?c.symbolWidth:c.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,b){var c=this.stops,d,e,g=this.dataClasses,h,m;if(g)for(m=g.length;m--;){if(h=g[m],d=h.from,c=h.to,(void 0===d||a>=d)&&(void 0===c||a<=c)){e=h.color;b&&(b.dataClass=m,b.colorIndex=h.colorIndex);break}}else{a=this.normalizedValue(a);for(m=c.length;m--&&
396
+ !(a>c[m][0]););d=c[m]||c[m+1];c=c[m+1]||d;a=1-(c[0]-a)/(c[0]-d[0]||1);e=d.color.tweenTo(c.color,a)}return e},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,C.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=b)},setLegendColor:function(){var a,b=this.reversed;a=b?1:0;b=b?0:1;a=this.horiz?[a,0,b,0]:[0,b,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],
397
+ y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,b){var c=a.padding,d=a.options,e=this.horiz,g=h(d.symbolWidth,e?this.defaultLegendLength:12),m=h(d.symbolHeight,e?12:this.defaultLegendLength),k=h(d.labelPadding,e?16:30),d=h(d.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,g,m).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=g+c+(e?d:k);this.legendItemHeight=m+c+(e?k:0)},setState:function(a){k(this.series,function(b){b.setState(a)})},
398
+ visible:!0,setVisible:y,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)a[b].getExtremes(),void 0!==a[b].valueMin&&(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var c=b&&b.plotX,d=b&&b.plotY,e,g=this.pos,h=this.len;b&&(e=this.toPixels(b[b.series.colorKey]),e<g?e=g-2:e>g+h&&(e=g+h+2),b.plotX=e,b.plotY=this.len-e,C.prototype.drawCrosshair.call(this,a,b),
399
+ b.plotX=c,b.plotY=d,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,c,d,e){return v(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:C.prototype.getPlotLinePath.call(this,a,b,c,d)},update:function(a,b){var c=this.chart,d=c.legend;
400
+ k(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&d.allItems&&(k(d.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),c.isDirtyLegend=!0);c.options[this.coll]=g(this.userOptions,a);C.prototype.update.call(this,a,b);this.legendItem&&(this.setLegendColor(),d.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);C.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var d=this,b=this.chart,c=this.legendItems,f=
401
+ b.options.legend,e=f.valueDecimals,g=f.valueSuffix||"",h;c.length||k(this.dataClasses,function(f,m){var n=!0,q=f.from,r=f.to;h="";void 0===q?h="\x3c ":void 0===r&&(h="\x3e ");void 0!==q&&(h+=a.numberFormat(q,e)+g);void 0!==q&&void 0!==r&&(h+=" - ");void 0!==r&&(h+=a.numberFormat(r,e)+g);c.push(u({chart:b,name:h,options:{},drawLegendSymbol:p.drawRectangle,visible:!0,setState:y,isDataClass:!0,setVisible:function(){n=this.visible=!n;k(d.series,function(a){k(a.points,function(a){a.dataClass===m&&a.setVisible(n)})});
402
+ b.legend.colorizeItem(this,n)}},f))});return c},name:""}),k(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,n(this.start).tweenTo(n(this.end),this.pos),null,!0)}}),B(D,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new d(this,a)}),B(q,"afterGetAllItems",function(d){var b=[],c=this.chart.colorAxis[0];c&&c.options&&c.options.showInLegend&&(c.options.dataClasses?b=c.getDataClassLegendSymbols():b.push(c),k(c.series,function(b){a.erase(d.allItems,
403
+ b)}));for(c=b.length;c--;)d.allItems.unshift(b[c])}),B(q,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),B(q,"afterUpdate",function(a,b,c){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},c)}))})(M);(function(a){var B=a.defined,C=a.each,D=a.noop,n=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var d=this,n=a?"show":"hide";
404
+ d.visible=!!a;C(["graphic","dataLabel"],function(a){if(d[a])d[a][n]()})},setState:function(d){a.Point.prototype.setState.call(this,d);this.graphic&&this.graphic.attr({zIndex:"hover"===d?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:D,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:n.column.prototype.pointAttribs,translateColors:function(){var a=this,
405
+ k=this.options.nullColor,n=this.colorAxis,v=this.colorKey;C(this.data,function(d){var p=d[v];if(p=d.options.color||(d.isNull?k:n&&void 0!==p?n.toColor(p,d):d.color||a.color))d.color=p})},colorAttribs:function(a){var d={};B(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(M);(function(a){function B(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function C(a){this.init(a)}var D=a.addEvent,n=a.Chart,d=a.doc,k=a.each,u=a.extend,v=a.merge,
406
+ q=a.pick;C.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};C.prototype.update=function(d){var k=this.chart,g=k.options.mapNavigation,h,m,b,c,f,e=function(a){this.handler.call(k,a);B(a)},p=k.mapNavButtons;d&&(g=k.options.mapNavigation=v(k.options.mapNavigation,d));for(;p.length;)p.pop().destroy();q(g.enableButtons,g.enabled)&&!k.renderer.forExport&&a.objectEach(g.buttons,function(a,d){h=v(g.buttonOptions,a);m=h.theme;m.style=v(h.theme.style,h.style);c=(b=m.states)&&b.hover;f=b&&b.select;
407
+ a=k.renderer.button(h.text,0,0,e,m,c,f,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:h.width,height:h.height,title:k.options.lang[d],padding:h.padding,zIndex:5}).add();a.handler=h.onclick;a.align(u(h,{width:a.width,height:2*a.height}),null,h.alignTo);D(a.element,"dblclick",B);p.push(a)});this.updateEvents(g)};C.prototype.updateEvents=function(a){var k=this.chart;q(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||
408
+ D(k.container,"dblclick",function(a){k.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());q(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||D(k.container,void 0===d.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){k.pointer.onContainerMouseWheel(a);B(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};u(n.prototype,{fitToBox:function(a,d){k([["x","width"],["y","height"]],function(g){var h=
409
+ g[0];g=g[1];a[h]+a[g]>d[h]+d[g]&&(a[g]>d[g]?(a[g]=d[g],a[h]=d[h]):a[h]=d[h]+d[g]-a[g]);a[g]>d[g]&&(a[g]=d[g]);a[h]<d[h]&&(a[h]=d[h])});return a},mapZoom:function(a,d,g,h,m){var b=this.xAxis[0],c=b.max-b.min,f=q(d,b.min+c/2),e=c*a,c=this.yAxis[0],k=c.max-c.min,p=q(g,c.min+k/2),k=k*a,f=this.fitToBox({x:f-e*(h?(h-b.pos)/b.len:.5),y:p-k*(m?(m-c.pos)/c.len:.5),width:e,height:k},{x:b.dataMin,y:c.dataMin,width:b.dataMax-b.dataMin,height:c.dataMax-c.dataMin}),e=f.x<=b.dataMin&&f.width>=b.dataMax-b.dataMin&&
410
+ f.y<=c.dataMin&&f.height>=c.dataMax-c.dataMin;h&&(b.fixTo=[h-b.pos,d]);m&&(c.fixTo=[m-c.pos,g]);void 0===a||e?(b.setExtremes(void 0,void 0,!1),c.setExtremes(void 0,void 0,!1)):(b.setExtremes(f.x,f.x+f.width,!1),c.setExtremes(f.y,f.y+f.height,!1));this.redraw()}});D(n,"beforeRender",function(){this.mapNavigation=new C(this);this.mapNavigation.update()})})(M);(function(a){var B=a.extend,C=a.pick,D=a.Pointer;a=a.wrap;B(D.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);
411
+ d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,k;a=this.normalize(a);k=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,
412
+ k),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(D.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;C(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(D.prototype,"pinchTranslate",function(a,d,k,u,v,q,p){a.call(this,d,k,u,v,q,p);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=u.scaleX>u.scaleY,this.pinchTranslateDirection(!a,d,k,u,v,q,p,a?u.scaleX:u.scaleY))})})(M);
413
+ (function(a){var B=a.colorPointMixin,C=a.each,D=a.extend,n=a.isNumber,d=a.map,k=a.merge,u=a.noop,v=a.pick,q=a.isArray,p=a.Point,y=a.Series,g=a.seriesType,h=a.seriesTypes,m=a.splat;g("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},
414
+ states:{normal:{animation:!0},hover:{halo:null,brightness:.2},select:{color:"#cccccc"}}},k(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:u,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,d=-c,e=c,g=-c,h=c,m=c,k=this.xAxis,p=this.yAxis,q;C(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var f=b.path||[],k=f.length,p=!1,r=-c,l=c,t=-c,u=c,w=b.properties;if(!b._foundBox){for(;k--;)n(f[k])&&
415
+ (p?(r=Math.max(r,f[k]),l=Math.min(l,f[k])):(t=Math.max(t,f[k]),u=Math.min(u,f[k])),p=!p);b._midX=l+(r-l)*v(b.middleX,w&&w["hc-middle-x"],.5);b._midY=u+(t-u)*v(b.middleY,w&&w["hc-middle-y"],.5);b._maxX=r;b._minX=l;b._maxY=t;b._minY=u;b.labelrank=v(b.labelrank,(r-l)*(t-u));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);g=Math.max(g,b._maxY);h=Math.min(h,b._minY);m=Math.min(b._maxX-b._minX,b._maxY-b._minY,m);q=!0}});q&&(this.minY=Math.min(h,v(this.minY,c)),this.maxY=Math.max(g,v(this.maxY,
416
+ -c)),this.minX=Math.min(e,v(this.minX,c)),this.maxX=Math.max(d,v(this.maxX,-c)),k&&void 0===k.options.minRange&&(k.minRange=Math.min(5*m,(this.maxX-this.minX)/5,k.minRange||c)),p&&void 0===p.options.minRange&&(p.minRange=Math.min(5*m,(this.maxY-this.minY)/5,p.minRange||c)))},getExtremes:function(){y.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=
417
+ this.maxY},translatePath:function(a){var b=!1,d=this.xAxis,e=this.yAxis,g=d.min,h=d.transA,d=d.minPixelPadding,k=e.min,m=e.transA,e=e.minPixelPadding,p,q=[];if(a)for(p=a.length;p--;)n(a[p])?(q[p]=b?(a[p]-g)*h+d:(a[p]-k)*m+e,b=!b):q[p]=a[p];return q},setData:function(b,c,f,e){var g=this.options,h=this.chart.options.chart,p=h&&h.map,u=g.mapData,v=g.joinBy,D=null===v,r=g.keys||this.pointArrayMap,B=[],E={},L=this.chart.mapTransforms;!u&&p&&(u="string"===typeof p?a.maps[p]:p);D&&(v="_i");v=this.joinBy=
418
+ m(v);v[1]||(v[1]=v[0]);b&&C(b,function(c,d){var e=0;if(n(c))b[d]={value:c};else if(q(c)){b[d]={};!g.keys&&c.length>r.length&&"string"===typeof c[0]&&(b[d]["hc-key"]=c[0],++e);for(var f=0;f<r.length;++f,++e)r[f]&&void 0!==c[e]&&(0<r[f].indexOf(".")?a.Point.prototype.setNestedProperty(b[d],c[e],r[f]):b[d][r[f]]=c[e])}D&&(b[d]._i=d)});this.getBox(b);(this.chart.mapTransforms=L=h&&h.mapTransforms||u&&u["hc-transform"]||L)&&a.objectEach(L,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=
419
+ Math.sin(a.rotation))});if(u){"FeatureCollection"===u.type&&(this.mapTitle=u.title,u=a.geojson(u,this.type,this));this.mapData=u;this.mapMap={};for(L=0;L<u.length;L++)h=u[L],p=h.properties,h._i=L,v[0]&&p&&p[v[0]]&&(h[v[0]]=p[v[0]]),E[h[v[0]]]=h;this.mapMap=E;b&&v[1]&&C(b,function(a){E[a[v[1]]]&&B.push(E[a[v[1]]])});g.allAreas?(this.getBox(u),b=b||[],v[1]&&C(b,function(a){B.push(a[v[1]])}),B="|"+d(B,function(a){return a&&a[v[0]]}).join("|")+"|",C(u,function(a){v[0]&&-1!==B.indexOf("|"+a[v[0]]+"|")||
420
+ (b.push(k(a,{value:null})),e=!1)})):this.getBox(B)}y.prototype.setData.call(this,b,c,f,e)},drawGraph:u,drawDataLabels:u,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,c=a.xAxis,d=a.yAxis,e=a.doFullTranslate();a.generatePoints();C(a.data,function(b){b.plotX=c.toPixels(b._midX,!0);b.plotY=d.toPixels(b._midY,!0);e&&(b.shapeType="path",b.shapeArgs={d:a.translatePath(b.path)})});a.translateColors()},
421
+ pointAttribs:function(a,c){c=h.column.prototype.pointAttribs.call(this,a,c);c["stroke-width"]=v(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return c},drawPoints:function(){var a=this,c=a.xAxis,d=a.yAxis,e=a.group,g=a.chart,k=g.renderer,m,p,n,q,r=this.baseTrans,u,v,y,B,l;a.transformGroup||(a.transformGroup=k.g().attr({scaleX:1,scaleY:1}).add(e),a.transformGroup.survive=!0);a.doFullTranslate()?(g.hasRendered&&C(a.points,function(b){b.shapeArgs&&
422
+ (b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,h.column.prototype.drawPoints.apply(a),a.group=e,C(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:c.min-c.minPixelPadding/c.transA,originY:d.min-d.minPixelPadding/d.transA+(d.reversed?0:d.len/d.transA),transAX:c.transA,
423
+ transAY:d.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(m=c.transA/r.transAX,p=d.transA/r.transAY,n=c.toPixels(r.originX,!0),q=d.toPixels(r.originY,!0),.99<m&&1.01>m&&.99<p&&1.01>p&&(p=m=1,n=Math.round(n),q=Math.round(q)),u=this.transformGroup,g.renderer.globalAnimation?(v=u.attr("translateX"),y=u.attr("translateY"),B=u.attr("scaleX"),l=u.attr("scaleY"),u.attr({animator:0}).animate({animator:1},{step:function(a,b){u.attr({translateX:v+(n-v)*b.pos,translateY:y+
424
+ (q-y)*b.pos,scaleX:B+(m-B)*b.pos,scaleY:l+(p-l)*b.pos})}})):u.attr({translateX:n,translateY:q,scaleX:m,scaleY:p}));e.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(m||1));this.drawMapDataLabels()},drawMapDataLabels:function(){y.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=y.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?
425
+ setTimeout(function(){c.call(a)}):c.call(a)},animate:function(a){var b=this.options.animation,d=this.group,e=this.xAxis,g=this.yAxis,h=e.pos,m=g.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?d.attr({translateX:h+e.len/2,translateY:m+g.len/2,scaleX:.001,scaleY:.001}):(d.animate({translateX:h,translateY:m,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,d=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],e=d.bBox,g=this.chart.options.drilldown.animation;
426
+ a||(a=Math.min(e.width/b.width,e.height/b.height),d.shapeArgs={scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},C(this.points,function(a){a.graphic&&a.graphic.attr(d.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},g)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){h.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){h.column.prototype.animateDrillupTo.call(this,a)}}),D({applyOptions:function(a,c){a=
427
+ p.prototype.applyOptions.call(this,a,c);c=this.series;var b=c.joinBy;c.mapData&&((b=void 0!==a[b[1]]&&c.mapMap[a[b[1]]])?(c.xyFromShape&&(a.x=b._midX,a.y=b._midY),D(a,b)):a.value=a.value||null);return a},onMouseOver:function(b){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)p.prototype.onMouseOver.call(this,b);else this.series.onMouseOut(b)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,
428
+ this._maxY,!1);a.chart.redraw()}},B))})(M);(function(a){var B=a.seriesType,C=a.seriesTypes;B("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,n){a=C.map.prototype.pointAttribs.call(this,a,n);a.fill=this.options.fillColor;return a},drawLegendSymbol:C.line.prototype.drawLegendSymbol})})(M);(function(a){var B=a.merge,C=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,
429
+ formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,n){a=void 0!==a.lat&&void 0!==a.lon?B(a,this.series.chart.fromLatLonToPoint(a)):a;return C.prototype.applyOptions.call(this,a,n)}})})(M);(function(a){var B=a.arrayMax,C=a.arrayMin,D=a.Axis,n=a.color,d=a.each,k=a.isNumber,u=a.noop,v=a.pick,q=a.pInt,p=a.Point,y=a.Series,g=a.seriesType,h=a.seriesTypes;g("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},
430
+ inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,
431
+ pointAttribs:function(a,b){var c=this.options.marker.fillOpacity;a=y.prototype.pointAttribs.call(this,a,b);1!==c&&(a.fill=n(a.fill).setOpacity(c).get("rgba"));return a},getRadii:function(a,b,c,d){var e,f,g,h=this.zData,m=[],p=this.options,n="width"!==p.sizeBy,q=p.zThreshold,u=b-a;f=0;for(e=h.length;f<e;f++)g=h[f],p.sizeByAbsoluteValue&&null!==g&&(g=Math.abs(g-q),b=u=Math.max(b-q,Math.abs(a-q)),a=0),k(g)?g<a?g=c/2-1:(g=0<u?(g-a)/u:.5,n&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(c+g*(d-c))/2):g=null,m.push(g);
432
+ this.radii=m},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(d(this.points,function(a){var b=a.graphic,d;b&&b.width&&(d={x:b.x,y:b.y,width:b.width,height:b.height},b.attr({x:a.plotX,y:a.plotY,width:1,height:1}),b.animate(d,this.options.animation))},this),this.animate=null)},translate:function(){var d,b=this.data,c,f,e=this.radii;h.scatter.prototype.translate.call(this);for(d=b.length;d--;)c=b[d],f=e?e[d]:0,k(f)&&f>=this.minPxSize/2?(c.marker=a.extend(c.marker,{radius:f,width:2*
433
+ f,height:2*f}),c.dlBox={x:c.plotX-f,y:c.plotY-f,width:2*f,height:2*f}):c.shapeArgs=c.plotY=c.dlBox=void 0},alignDataLabel:h.column.prototype.alignDataLabel,buildKDTree:u,applyZones:u},{haloPath:function(a){return p.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});D.prototype.beforePadding=function(){var g=this,b=this.len,c=this.chart,f=0,e=b,h=this.isXAxis,p=h?"xData":"yData",n=this.min,u={},y=Math.min(c.plotWidth,c.plotHeight),D=Number.MAX_VALUE,r=-Number.MAX_VALUE,
434
+ I=this.max-n,E=b/I,L=[];d(this.series,function(b){var e=b.options;!b.bubblePadding||!b.visible&&c.options.chart.ignoreHiddenSeries||(g.allowZoomOutside=!0,L.push(b),h&&(d(["minSize","maxSize"],function(a){var b=e[a],c=/%$/.test(b),b=q(b);u[a]=c?y*b/100:b}),b.minPxSize=u.minSize,b.maxPxSize=Math.max(u.maxSize,u.minSize),b=a.grep(b.zData,a.isNumber),b.length&&(D=v(e.zMin,Math.min(D,Math.max(C(b),!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),r=v(e.zMax,Math.max(r,B(b))))))});d(L,function(a){var b=
435
+ a[p],c=b.length,d;h&&a.getRadii(D,r,a.minPxSize,a.maxPxSize);if(0<I)for(;c--;)k(b[c])&&g.dataMin<=b[c]&&b[c]<=g.dataMax&&(d=a.radii[c],f=Math.min((b[c]-n)*E-d,f),e=Math.max((b[c]-n)*E+d,e))});L.length&&0<I&&!this.isLog&&(e-=b,E*=(b+Math.max(0,f)-Math.min(e,b))/b,d([["min","userMin",f],["max","userMax",e]],function(a){void 0===v(g.options[a[0]],g[a[1]])&&(g[a[0]]+=a[2]/E)}))}})(M);(function(a){var B=a.merge,C=a.Point,D=a.seriesType,n=a.seriesTypes;n.bubble&&D("mapbubble","bubble",{animationLimit:500,
436
+ tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:n.map.prototype.getMapData,getBox:n.map.prototype.getBox,setData:n.map.prototype.setData},{applyOptions:function(a,k){return a&&void 0!==a.lat&&void 0!==a.lon?C.prototype.applyOptions.call(this,B(a,this.series.chart.fromLatLonToPoint(a)),k):n.map.prototype.pointClass.prototype.applyOptions.call(this,a,k)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(M);(function(a){var B=
437
+ a.colorPointMixin,C=a.each,D=a.merge,n=a.noop,d=a.pick,k=a.Series,u=a.seriesType,v=a.seriesTypes;u("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},D(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,
438
+ getExtremesFromAll:!0,directTouch:!0,init:function(){var a;v.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=d(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,k=this.xAxis,n=this.yAxis,g=a.pointPadding||0,h=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();C(this.points,function(m){var b=(a.colsize||1)/2,c=(a.rowsize||1)/2,f=h(Math.round(k.len-k.translate(m.x-b,0,1,0,1)),-k.len,2*k.len),b=h(Math.round(k.len-
439
+ k.translate(m.x+b,0,1,0,1)),-k.len,2*k.len),e=h(Math.round(n.translate(m.y-c,0,1,0,1)),-n.len,2*n.len),c=h(Math.round(n.translate(m.y+c,0,1,0,1)),-n.len,2*n.len),p=d(m.pointPadding,g);m.plotX=m.clientX=(f+b)/2;m.plotY=(e+c)/2;m.shapeType="rect";m.shapeArgs={x:Math.min(f,b)+p,y:Math.min(e,c)+p,width:Math.abs(b-f)-2*p,height:Math.abs(c-e)-2*p}});this.translateColors()},drawPoints:function(){v.column.prototype.drawPoints.call(this);C(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},
440
+ animate:n,getBox:n,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:v.column.prototype.alignDataLabel,getExtremes:function(){k.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;k.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var d=this.shapeArgs;return["M",d.x-a,d.y-a,"L",d.x-a,d.y+d.height+a,d.x+d.width+a,d.y+d.height+a,d.x+d.width+a,d.y-a,"Z"]}},B))})(M);(function(a){function B(a,d){var k,g,
441
+ h,m=!1,b=a.x,c=a.y;a=0;for(k=d.length-1;a<d.length;k=a++)g=d[a][1]>c,h=d[k][1]>c,g!==h&&b<(d[k][0]-d[a][0])*(c-d[a][1])/(d[k][1]-d[a][1])+d[a][0]&&(m=!m);return m}var C=a.Chart,D=a.each,n=a.extend,d=a.format,k=a.merge,u=a.win,v=a.wrap;C.prototype.transformFromLatLon=function(d,k){if(void 0===u.proj4)return a.error(21),{x:0,y:null};d=u.proj4(k.crs,[d.lon,d.lat]);var p=k.cosAngle||k.rotation&&Math.cos(k.rotation),g=k.sinAngle||k.rotation&&Math.sin(k.rotation);d=k.rotation?[d[0]*p+d[1]*g,-d[0]*g+d[1]*
442
+ p]:d;return{x:((d[0]-(k.xoffset||0))*(k.scale||1)+(k.xpan||0))*(k.jsonres||1)+(k.jsonmarginX||0),y:(((k.yoffset||0)-d[1])*(k.scale||1)+(k.ypan||0))*(k.jsonres||1)-(k.jsonmarginY||0)}};C.prototype.transformToLatLon=function(d,k){if(void 0===u.proj4)a.error(21);else{d={x:((d.x-(k.jsonmarginX||0))/(k.jsonres||1)-(k.xpan||0))/(k.scale||1)+(k.xoffset||0),y:((-d.y-(k.jsonmarginY||0))/(k.jsonres||1)+(k.ypan||0))/(k.scale||1)+(k.yoffset||0)};var p=k.cosAngle||k.rotation&&Math.cos(k.rotation),g=k.sinAngle||
443
+ k.rotation&&Math.sin(k.rotation);k=u.proj4(k.crs,"WGS84",k.rotation?{x:d.x*p+d.y*-g,y:d.x*g+d.y*p}:d);return{lat:k.y,lon:k.x}}};C.prototype.fromPointToLatLon=function(d){var k=this.mapTransforms,n;if(k){for(n in k)if(k.hasOwnProperty(n)&&k[n].hitZone&&B({x:d.x,y:-d.y},k[n].hitZone.coordinates[0]))return this.transformToLatLon(d,k[n]);return this.transformToLatLon(d,k["default"])}a.error(22)};C.prototype.fromLatLonToPoint=function(d){var k=this.mapTransforms,n,g;if(!k)return a.error(22),{x:0,y:null};
444
+ for(n in k)if(k.hasOwnProperty(n)&&k[n].hitZone&&(g=this.transformFromLatLon(d,k[n]),B({x:g.x,y:-g.y},k[n].hitZone.coordinates[0])))return g;return this.transformFromLatLon(d,k["default"])};a.geojson=function(a,k,u){var g=[],h=[],m=function(a){var b,d=a.length;h.push("M");for(b=0;b<d;b++)1===b&&h.push("L"),h.push(a[b][0],-a[b][1])};k=k||"map";D(a.features,function(a){var b=a.geometry,d=b.type,b=b.coordinates;a=a.properties;var e;h=[];"map"===k||"mapbubble"===k?("Polygon"===d?(D(b,m),h.push("Z")):
445
+ "MultiPolygon"===d&&(D(b,function(a){D(a,m)}),h.push("Z")),h.length&&(e={path:h})):"mapline"===k?("LineString"===d?m(b):"MultiLineString"===d&&D(b,m),h.length&&(e={path:h})):"mappoint"===k&&"Point"===d&&(e={x:b[0],y:-b[1]});e&&g.push(n(e,{name:a.name||a.NAME,properties:a}))});u&&a.copyrightShort&&(u.chart.mapCredits=d(u.chart.options.credits.mapText,{geojson:a}),u.chart.mapCreditsFull=d(u.chart.options.credits.mapTextFull,{geojson:a}));return g};v(C.prototype,"addCredits",function(a,d){d=k(!0,this.options.credits,
446
+ d);this.mapCredits&&(d.href=null);a.call(this,d);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(M);(function(a){function B(a,d,h,k,b,c,f,e){return["M",a+b,d,"L",a+h-c,d,"C",a+h-c/2,d,a+h,d+c/2,a+h,d+c,"L",a+h,d+k-f,"C",a+h,d+k-f/2,a+h-f/2,d+k,a+h-f,d+k,"L",a+e,d+k,"C",a+e/2,d+k,a,d+k-e/2,a,d+k-e,"L",a,d+b,"C",a,d+b/2,a+b/2,d,a+b,d,"Z"]}var C=a.Chart,D=a.defaultOptions,n=a.each,d=a.extend,k=a.merge,u=a.pick,v=a.Renderer,q=a.SVGRenderer,p=a.VMLRenderer;d(D.lang,
447
+ {zoomIn:"Zoom in",zoomOut:"Zoom out"});D.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,
448
+ "");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));return a};a.maps={};q.prototype.symbols.topbutton=function(a,d,h,k,b){return B(a-1,d-1,h,k,b.r,b.r,0,0)};q.prototype.symbols.bottombutton=function(a,d,h,k,b){return B(a-1,d-1,h,k,0,0,b.r,b.r)};v===p&&n(["topbutton","bottombutton"],function(a){p.prototype.symbols[a]=q.prototype.symbols[a]});a.Map=a.mapChart=function(d,g,h){var m="string"===typeof d||d.nodeName,b=arguments[m?1:0],c={endOnTick:!1,visible:!1,
449
+ minPadding:0,maxPadding:0,startOnTick:!1},f,e=a.getOptions().credits;f=b.series;b.series=null;b=k({chart:{panning:"xy",type:"map"},credits:{mapText:u(e.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:u(e.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:c,yAxis:k(c,{reversed:!0})},b,{chart:{inverted:!1,alignTicks:!1}});b.series=f;return m?new C(d,b,h):new C(b,g)}})(M);return M});
450
+ //# sourceMappingURL=highmaps.js.map