highcharts 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
package/modules/gantt.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Gantt series
5
5
 
@@ -7,168 +7,170 @@
7
7
 
8
8
  License: www.highcharts.com/license
9
9
  */
10
- (function(v){"object"===typeof module&&module.exports?(v["default"]=v,module.exports=v):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(H){v(H);v.Highcharts=H;return v}):v("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(v){function H(a,p,h,x){a.hasOwnProperty(p)||(a[p]=x.apply(null,h))}v=v?v._modules:{};H(v,"parts-gantt/CurrentDateIndicator.js",[v["parts/Globals.js"]],function(a){var p=a.addEvent,h=a.PlotLineOrBand,x=a.merge,u={currentDateIndicator:!0,
11
- color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};p(a.Axis,"afterSetOptions",function(){var a=this.options,h=a.currentDateIndicator;h&&("object"===typeof h?(h.label&&h.label.format&&(h.label.formatter=void 0),h=x(u,h)):h=x(u),h.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(h))});p(h,"render",function(){var h=this.options,u,w;h.currentDateIndicator&&h.label&&(u=h.label.format,w=h.label.formatter,h.value=new Date,h.label.text=
12
- "function"===typeof w?w(this):a.dateFormat(u,new Date),this.label&&this.label.attr({text:h.label.text}))})});H(v,"parts-gantt/GridAxis.js",[v["parts/Globals.js"]],function(a){var p=a.addEvent,h=a.dateFormat,x=a.defined,u=a.isArray,A=a.isNumber,C=function(B){return a.isObject(B,!0)},w=a.merge,G=a.pick,k=a.wrap,m=a.Axis,r=a.Tick,E={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};m.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};
13
- m.prototype.isOuterAxis=function(){var a=this,d=-1,b=!0;a.chart.axes.forEach(function(c,l){c.side!==a.side||c.isNavigatorAxis()||(c===a?d=l:0<=d&&l>d&&(b=!1))});return b};m.prototype.getMaxLabelDimensions=function(a,d){var b={width:0,height:0};d.forEach(function(c){c=a[c];var d;C(c)&&(d=C(c.label)?c.label:{},c=d.getBBox?d.getBBox().height:0,d=A(d.textPxLength)?d.textPxLength:0,b.height=Math.max(c,b.height),b.width=Math.max(d,b.width))});return b};a.dateFormats.W=function(a){a=new Date(a);var d;a.setHours(0,
14
- 0,0,0);a.setDate(a.getDate()-(a.getDay()||7));d=new Date(a.getFullYear(),0,1);return Math.ceil(((a-d)/864E5+1)/7)};a.dateFormats.E=function(a){return h("%a",a,!0).charAt(0)};p(r,"afterGetLabelPosition",function(a){var d=this.label,b=this.axis,c=b.reversed,l=b.chart,f=b.options,g=f&&C(f.grid)?f.grid:{},f=b.options.labels,n=f.align,y=E[b.side],e=a.tickmarkOffset,q=b.tickPositions,t=this.pos-e,q=A(q[a.index+1])?q[a.index+1]-e:b.max+e,F=b.tickSize("tick",!0),e=u(F)?F[0]:0,F=F&&F[1]/2,D;!0===g.enabled&&
15
- ("top"===y?(g=b.top+b.offset,D=g-e):"bottom"===y?(D=l.chartHeight-b.bottom+b.offset,g=D+e):(g=b.top+b.len-b.translate(c?q:t),D=b.top+b.len-b.translate(c?t:q)),"right"===y?(y=l.chartWidth-b.right+b.offset,c=y+e):"left"===y?(c=b.left+b.offset,y=c-e):(y=Math.round(b.left+b.translate(c?q:t))-F,c=Math.round(b.left+b.translate(c?t:q))-F),this.slotWidth=c-y,a.pos.x="left"===n?y:"right"===n?c:y+(c-y)/2,a.pos.y=D+(g-D)/2,l=l.renderer.fontMetrics(f.style.fontSize,d.element),d=d.getBBox().height,f.useHTML?a.pos.y+=
16
- l.b+-(d/2):(d=Math.round(d/l.h),a.pos.y+=(l.b-(l.h-l.f))/2+-((d-1)*l.h/2)),a.pos.x+=b.horiz&&f.x||0)});p(m,"afterTickSize",function(a){var d=this.maxLabelDimensions,b=this.options;!0===(b&&C(b.grid)?b.grid:{}).enabled&&(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),d=b+(this.horiz?d.height:d.width),u(a.tickSize)?a.tickSize[0]=d:a.tickSize=[d])});p(m,"afterGetTitlePosition",function(a){var d=this.options;if(!0===(d&&C(d.grid)?d.grid:{}).enabled){var b=this.axisTitle,c=b&&b.getBBox().width,l=this.horiz,
17
- f=this.left,g=this.top,n=this.width,y=this.height,e=d.title,d=this.opposite,q=this.offset,t=this.tickSize()||[0],F=e.x||0,D=e.y||0,z=G(e.margin,l?5:10),b=this.chart.renderer.fontMetrics(e.style&&e.style.fontSize,b).f,t=(l?g+y:f)+t[0]/2*(d?-1:1)*(l?1:-1)+(this.side===E.bottom?b:0);a.titlePosition.x=l?f-c/2-z+F:t+(d?n:0)+q+F;a.titlePosition.y=l?t-(d?y:0)+(d?b:-b)/2+q+D:g-z+D}});k(m.prototype,"unsquish",function(a){var d=this.options;return!0===(d&&C(d.grid)?d.grid:{}).enabled&&this.categories?this.tickInterval:
18
- a.apply(this,Array.prototype.slice.call(arguments,1))});p(m,"afterSetOptions",function(k){var d=this.options;k=k.userOptions;var b,c=d&&C(d.grid)?d.grid:{};!0===c.enabled&&(b=w(!0,{className:"highcharts-grid-axis "+(k.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},
19
- units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},k),"xAxis"===this.coll&&(x(k.linkedTo)&&!x(k.tickPixelInterval)&&(b.tickPixelInterval=350),x(k.tickPixelInterval)||!x(k.linkedTo)||x(k.tickPositioner)||x(k.tickInterval)||(b.tickPositioner=function(c,f){var d=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(d){var n,l,e,q,t=b.units;for(q=0;q<t.length;q++)if(t[q][0]===
20
- d.unitName){n=q;break}if(t[n][1])return t[n+1]&&(e=t[n+1][0],l=(t[n+1][1]||[1])[0]),d=a.timeUnits[e],this.tickInterval=d*l,this.getTimeTicks({unitRange:d,count:l,unitName:e},c,f,this.options.startOfWeek)}})),w(!0,this.options,b),this.horiz&&(d.minPadding=G(k.minPadding,0),d.maxPadding=G(k.maxPadding,0)),A(d.grid.borderWidth)&&(d.tickWidth=d.lineWidth=c.borderWidth))});p(m,"afterSetAxisTranslation",function(){var a=this.options,d=a&&C(a.grid)?a.grid:{},b=this.tickPositions&&this.tickPositions.info,
21
- c=this.userOptions.labels||{};this.horiz&&(!0===d.enabled&&this.series.forEach(function(b){b.options.pointRange=0}),b&&(!1===a.dateTimeLabelFormats[b.unitName].range||1<b.count)&&!x(c.align)&&(a.labels.align="left",x(c.x)||(a.labels.x=3)))});p(m,"trimTicks",function(){var a=this.options,d=a&&C(a.grid)?a.grid:{},b=this.categories,c=this.tickPositions,l=c[0],f=c[c.length-1],g=this.linkedParent&&this.linkedParent.min||this.min,n=this.linkedParent&&this.linkedParent.max||this.max,y=this.tickInterval;
22
- !0!==d.enabled||b||!this.horiz&&!this.isLinked||((l>g||l<g&&l+y>g)&&!a.startOnTick&&(c[0]=g),(f<n||f>n&&f-y<n)&&!a.endOnTick&&(c[c.length-1]=n))});p(m,"afterRender",function(){var a=this.options,d=a&&C(a.grid)?a.grid:{},b,c,l,f,g,n,y=this.chart.renderer,e=this.horiz;if(!0===d.enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),d=this.maxLabelDimensions.width+d,b=a.lineWidth,this.rightWall&&this.rightWall.destroy(),
23
- c=this.axisGroup.getBBox(),this.isOuterAxis()&&this.axisLine&&(e&&(d=c.height-1),b))){c=this.getLinePath(b);g=c.indexOf("M")+1;n=c.indexOf("L")+1;l=c.indexOf("M")+2;f=c.indexOf("L")+2;if(this.side===E.top||this.side===E.left)d=-d;e?(c[l]+=d,c[f]+=d):(c[g]+=d,c[n]+=d);this.axisLineExtra?this.axisLineExtra.animate({d:c}):this.axisLineExtra=y.path(c).attr({stroke:a.lineColor,"stroke-width":b,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}});
24
- p(m,"init",function(r){function d(){var c=b.options,e=25/11,f=b.chart.renderer.fontMetrics(c.labels.style.fontSize);c.labels||(c.labels={});c.labels.align=G(c.labels.align,"center");b.categories||(c.showLastLabel=!1);b.horiz&&(c.tickLength=l.cellHeight||f.h*e);b.labelRotation=0;c.labels.rotation=0}var b=this,c=b.chart,l=(r=r.userOptions)&&C(r.grid)?r.grid:{},f,g,n;if(l.enabled)if(x(l.borderColor)&&(r.tickColor=r.lineColor=l.borderColor),u(l.columns)){g=0;for(n=l.columns.length;n--;)f=w(r,l.columns[n],
25
- {type:"category"}),delete f.grid.columns,f=new m(b.chart,f),f.isColumn=!0,f.columnIndex=g,k(f,"labelFormatter",function(b){var e=this.axis,c=e.tickPositions,f=this.value,d=f===c[0],c=f===c[c.length-1],n=a.find(e.series[0].options.data,function(b){return b[e.isXAxis?"x":"y"]===f});this.isFirst=d;this.isLast=c;this.point=n;return b.call(this)}),g++;p(this,"afterInit",function(){a.erase(c.axes,this);a.erase(c[b.coll],this)})}else p(this,"afterInit",d)})});H(v,"modules/static-scale.src.js",[v["parts/Globals.js"]],
26
- function(a){var p=a.Chart,h=a.pick;a.addEvent(a.Axis,"afterSetOptions",function(){this.horiz||!a.isNumber(this.options.staticScale)||this.chart.options.chart.height||(this.staticScale=this.options.staticScale)});p.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(p){var u=p.chart,x=!!u.initiatedScale&&u.options.animation,C=p.options.staticScale,w;p.staticScale&&a.defined(p.min)&&(w=h(p.unitLength,p.max+p.tickInterval-p.min)*C,w=Math.max(w,C),
27
- C=w-u.plotHeight,1<=Math.abs(C)&&(u.plotHeight=w,u.redrawTrigger="adjustHeight",u.setSize(void 0,u.chartHeight+C,x)),p.series.forEach(function(a){(a=a.sharedClipKey&&u[a.sharedClipKey])&&a.attr({height:u.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};a.addEvent(p,"render",p.prototype.adjustHeight)});H(v,"parts-gantt/Tree.js",[v["parts/Globals.js"]],function(a){var p=a.extend,h=a.isNumber,x=a.pick,u=function(a,h){var w=a.reduce(function(a,m){var k=x(m.parent,"");void 0===a[k]&&
28
- (a[k]=[]);a[k].push(m);return a},{});Object.keys(w).forEach(function(a,m){var k=w[a];""!==a&&-1===h.indexOf(a)&&(k.forEach(function(a){m[""].push(a)}),delete m[a])});return w},A=function(a,w,u,k,m,r){var E=0,B=0,d=r&&r.after,b=r&&r.before;w={data:k,depth:u-1,id:a,level:u,parent:w};var c,l;"function"===typeof b&&b(w,r);b=(m[a]||[]).map(function(b){var f=A(b.id,a,u+1,b,m,r),d=b.start;b=!0===b.milestone?d:b.end;c=!h(c)||d<c?d:c;l=!h(l)||b>l?b:l;E=E+1+f.descendants;B=Math.max(f.height+1,B);return f});
29
- k&&(k.start=x(k.start,c),k.end=x(k.end,l));p(w,{children:b,descendants:E,height:B});"function"===typeof d&&d(w,r);return w};return{getListOfParents:u,getNode:A,getTree:function(a,h){var w=a.map(function(a){return a.id});a=u(a,w);return A("",null,1,null,a,h)}}});H(v,"mixins/tree-series.js",[v["parts/Globals.js"]],function(a){var p=a.extend,h=a.isArray,x=a.isObject,u=a.isNumber,A=a.merge,C=a.pick;return{getColor:function(h,p){var k=p.index,m=p.mapOptionsToLevel,r=p.parentColor,E=p.parentColorIndex,
30
- B=p.series,d=p.colors,b=p.siblings,c=B.points,l=B.chart.options.chart,f,g,n,y;if(h){c=c[h.i];h=m[h.level]||{};if(m=c&&h.colorByPoint)g=c.index%(d?d.length:l.colorCount),f=d&&d[g];if(!B.chart.styledMode){d=c&&c.options.color;l=h&&h.color;if(n=r)n=(n=h&&h.colorVariation)&&"brightness"===n.key?a.color(r).brighten(k/b*n.to).get():r;n=C(d,l,f,n,B.color)}y=C(c&&c.options.colorIndex,h&&h.colorIndex,g,E,p.colorIndex)}return{color:n,colorIndex:y}},getLevelOptions:function(a){var w=null,k,m,r,E;if(x(a))for(w=
31
- {},r=u(a.from)?a.from:1,E=a.levels,m={},k=x(a.defaults)?a.defaults:{},h(E)&&(m=E.reduce(function(a,d){var b,c;x(d)&&u(d.level)&&(c=A({},d),b="boolean"===typeof c.levelIsConstant?c.levelIsConstant:k.levelIsConstant,delete c.levelIsConstant,delete c.level,d=d.level+(b?0:r-1),x(a[d])?p(a[d],c):a[d]=c);return a},{})),E=u(a.to)?a.to:1,a=0;a<=E;a++)w[a]=A({},k,x(m[a])?m[a]:{});return w},setTreeValues:function G(a,m){var k=m.before,h=m.idRoot,B=m.mapIdToNode[h],d=m.points[a.i],b=d&&d.options||{},c=0,l=[];
32
- p(a,{levelDynamic:a.level-(("boolean"===typeof m.levelIsConstant?m.levelIsConstant:1)?0:B.level),name:C(d&&d.name,""),visible:h===a.id||("boolean"===typeof m.visible?m.visible:!1)});"function"===typeof k&&(a=k(a,m));a.children.forEach(function(b,d){var f=p({},m);p(f,{index:d,siblings:a.children.length,visible:a.visible});b=G(b,f);l.push(b);b.visible&&(c+=b.val)});a.visible=0<c||a.visible;k=C(b.value,c);p(a,{children:l,childrenTotal:c,isLeaf:a.visible&&!c,val:k});return a},updateRootId:function(a){var k;
33
- x(a)&&(k=x(a.options)?a.options:{},k=C(a.rootNode,k.rootId,""),x(a.userOptions)&&(a.userOptions.rootId=k),a.rootNode=k);return k}}});H(v,"modules/broken-axis.src.js",[v["parts/Globals.js"]],function(a){var p=a.addEvent,h=a.pick,x=a.extend,u=a.isArray,A=a.find,C=a.fireEvent,w=a.Axis,v=a.Series,k=function(a,k){return A(k,function(k){return k.from<a&&a<k.to})};x(w.prototype,{isInBreak:function(a,k){var m=a.repeat||Infinity,r=a.from,d=a.to-a.from;k=k>=r?(k-r)%m:m-(r-k)%m;return a.inclusive?k<=d:k<d&&
34
- 0!==k},isInAnyBreak:function(a,k){var m=this.options.breaks,r=m&&m.length,d,b,c;if(r){for(;r--;)this.isInBreak(m[r],a)&&(d=!0,b||(b=h(m[r].showPoints,!this.isXAxis)));c=d&&k?d&&!b:d}return c}});p(w,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});p(w,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,k=this.tickPositions.info,h=[],p;for(p=0;p<a.length;p++)this.isInAnyBreak(a[p])||h.push(a[p]);this.tickPositions=h;this.tickPositions.info=
35
- k}});p(w,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});w.prototype.setBreaks=function(a,r){function m(b){var c=b,a,g;for(g=0;g<d.breakArray.length;g++)if(a=d.breakArray[g],a.to<=b)c-=a.len;else if(a.from>=b)break;else if(d.isInBreak(a,b)){c-=b-a.from;break}return c}function p(b){var c,a;for(a=0;a<d.breakArray.length&&!(c=d.breakArray[a],c.from>=b);a++)c.to<b?b+=c.len:d.isInBreak(c,b)&&(b+=c.len);return b}var d=this,b=u(a)&&!!a.length;d.isDirty=d.isBroken!==b;d.isBroken=b;
36
- d.options.breaks=d.userOptions.breaks=a;d.forceRedraw=!0;b||d.val2lin!==m||(delete d.val2lin,delete d.lin2val);b&&(d.userOptions.ordinal=!1,d.val2lin=m,d.lin2val=p,d.setExtremes=function(b,a,f,d,n){if(this.isBroken){for(var c,e=this.options.breaks;c=k(b,e);)b=c.to;for(;c=k(a,e);)a=c.from;a<b&&(a=b)}w.prototype.setExtremes.call(this,b,a,f,d,n)},d.setAxisTranslation=function(b){w.prototype.setAxisTranslation.call(this,b);this.unitLength=null;if(this.isBroken){b=d.options.breaks;var c=[],a=[],g=0,n,
37
- y,e=d.userMin||d.min,q=d.userMax||d.max,t=h(d.pointRangePadding,0),k,D;b.forEach(function(b){y=b.repeat||Infinity;d.isInBreak(b,e)&&(e+=b.to%y-e%y);d.isInBreak(b,q)&&(q-=q%y-b.from%y)});b.forEach(function(b){k=b.from;for(y=b.repeat||Infinity;k-y>e;)k-=y;for(;k<e;)k+=y;for(D=k;D<q;D+=y)c.push({value:D,move:"in"}),c.push({value:D+(b.to-b.from),move:"out",size:b.breakSize})});c.sort(function(b,e){return b.value===e.value?("in"===b.move?0:1)-("in"===e.move?0:1):b.value-e.value});n=0;k=e;c.forEach(function(b){n+=
38
- "in"===b.move?1:-1;1===n&&"in"===b.move&&(k=b.value);0===n&&(a.push({from:k,to:b.value,len:b.value-k-(b.size||0)}),g+=b.value-k-(b.size||0))});d.breakArray=a;d.unitLength=q-e-g+t;C(d,"afterBreaks");d.staticScale?d.transA=d.staticScale:d.unitLength&&(d.transA*=(q-d.min+t)/d.unitLength);t&&(d.minPixelPadding=d.transA*d.minPointOffset);d.min=e;d.max=q}});h(r,!0)&&this.chart.redraw()};p(v,"afterGeneratePoints",function(){var a=this.xAxis,k=this.yAxis,h=this.points,p,d=h.length,b=this.options.connectNulls,
39
- c;if(a&&k&&(a.options.breaks||k.options.breaks))for(;d--;)p=h[d],c=null===p.y&&!1===b,c||!a.isInAnyBreak(p.x,!0)&&!k.isInAnyBreak(p.y,!0)||(h.splice(d,1),this.data[d]&&this.data[d].destroyElements())});p(v,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,h(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,k){var m=this,r=m.points,d,b,c,l;a&&k.forEach(function(f){d=a.breakArray||[];b=a.isXAxis?a.min:h(m.options.threshold,a.min);r.forEach(function(g){l=
40
- h(g["stack"+f.toUpperCase()],g[f]);d.forEach(function(f){c=!1;if(b<f.from&&l>f.to||b>f.from&&l<f.from)c="pointBreak";else if(b<f.from&&l>f.from&&l<f.to||b>f.from&&l>f.to&&l<f.from)c="pointInBreak";c&&C(a,c,{point:g,brk:f})})})})};a.Series.prototype.gappedPath=function(){var k=this.currentDataGrouping,h=k&&k.gapSize,k=this.options.gapSize,p=this.points.slice(),u=p.length-1,d=this.yAxis;if(k&&0<u)for("value"!==this.options.gapUnit&&(k*=this.closestPointRange),h&&h>k&&(k=h);u--;)p[u+1].x-p[u].x>k&&(h=
41
- (p[u].x+p[u+1].x)/2,p.splice(u+1,0,{isNull:!0,x:h}),this.options.stacking&&(h=d.stacks[this.stackKey][h]=new a.StackItem(d,d.options.stackLabels,!1,h,this.stack),h.total=0));return this.getGraphPath(p)}});H(v,"parts-gantt/TreeGrid.js",[v["parts/Globals.js"],v["parts-gantt/Tree.js"],v["mixins/tree-series.js"]],function(a,p,h){var x=a.addEvent,u=function(b){return Array.prototype.slice.call(b,1)},A=a.defined,C=a.extend,w=a.find,v=a.fireEvent,k=h.getLevelOptions,m=a.merge,r=a.isNumber,E=function(b){return a.isObject(b,
42
- !0)},B=a.isString,d=a.pick,b=a.wrap;h=a.Axis;var c=a.Tick,l=function(e,c){var a,f;for(a in c)c.hasOwnProperty(a)&&(f=c[a],b(e,a,f))},f=function(b,e){var c=b.collapseStart;b=b.collapseEnd;b>=e&&(c-=.5);return{from:c,to:b,showPoints:!1}},g=function(b){return Object.keys(b.mapOfPosToGridNode).reduce(function(e,c){c=+c;b.min<=c&&b.max>=c&&!b.isInAnyBreak(c)&&e.push(c);return e},[])},n=function(b,c){var e=b.options.breaks||[],a=f(c,b.max);return e.some(function(b){return b.from===a.from&&b.to===a.to})},
43
- y=function(b,c){var e=b.options.breaks||[];b=f(c,b.max);e.push(b);return e},e=function(b,e){var c=b.options.breaks||[],a=f(e,b.max);return c.reduce(function(b,e){e.to===a.to&&e.from===a.from||b.push(e);return b},[])},q=function(b,e){var c=b.labelIcon,f=!c,q=e.renderer,g=e.xy,n=e.options,l=n.width,t=n.height,z=g.x-l/2-n.padding,g=g.y-t/2,k=e.collapsed?90:180,y=e.show&&a.isNumber(g);f&&(b.labelIcon=c=q.path(q.symbols[n.type](n.x,n.y,l,t)).addClass("highcharts-label-icon").add(e.group));y||c.attr({y:-9999});
44
- q.styledMode||c.attr({"stroke-width":1,fill:d(e.color,"#666666")}).css({cursor:"pointer",stroke:n.lineColor,strokeWidth:n.lineWidth});c[f?"attr":"animate"]({translateX:z,translateY:g,rotation:k})},t=function(b,e,c){var a=[],f=[],d={},q={},g=-1,n="boolean"===typeof e?e:!1;b=p.getTree(b,{after:function(b){b=q[b.pos];var e=0,c=0;b.children.forEach(function(b){c+=b.descendants+1;e=Math.max(b.height+1,e)});b.descendants=c;b.height=e;b.collapsed&&f.push(b)},before:function(b){var e=E(b.data)?b.data:{},
45
- c=B(e.name)?e.name:"",f=d[b.parent],f=E(f)?q[f.pos]:null,l=function(b){return b.name===c},t;n&&E(f)&&(t=w(f.children,l))?(l=t.pos,t.nodes.push(b)):l=g++;q[l]||(q[l]=t={depth:f?f.depth+1:0,name:c,nodes:[b],children:[],pos:l},-1!==l&&a.push(c),E(f)&&f.children.push(t));B(b.id)&&(d[b.id]=b);!0===e.collapsed&&(t.collapsed=!0);b.pos=l}});q=function(b,e){var c=function(b,a,f){var d=a+(-1===a?0:e-1),q=(d-a)/2,g=a+q;b.nodes.forEach(function(b){var e=b.data;E(e)&&(e.y=a+e.seriesIndex,delete e.seriesIndex);
46
- b.pos=g});f[g]=b;b.pos=g;b.tickmarkOffset=q+.5;b.collapseStart=d+.5;b.children.forEach(function(b){c(b,d+1,f);d=b.collapseEnd-.5});b.collapseEnd=d+.5;return f};return c(b["-1"],-1,{})}(q,c);return{categories:a,mapOfIdToNode:d,mapOfPosToGridNode:q,collapsedNodes:f,tree:b}},F=function(b){b.target.axes.filter(function(b){return"treegrid"===b.options.type}).forEach(function(b){var e=b.options||{},c=e.labels,f,d=e.uniqueNames,q=0,e=b.series.reduce(function(b,e){e.visible&&(e.options.data.forEach(function(e){E(e)&&
47
- (e.seriesIndex=q,b.push(e))}),!0===d&&q++);return b},[]),g=t(e,d,!0===d?q:1);b.categories=g.categories;b.mapOfPosToGridNode=g.mapOfPosToGridNode;b.hasNames=!0;b.tree=g.tree;b.series.forEach(function(b){var e=b.options.data.map(function(b){return E(b)?m(b):b});b.visible&&b.setData(e,!1)});b.mapOptionsToLevel=k({defaults:c,from:1,levels:c.levels,to:b.tree.height});f=a.addEvent(b,"foundExtremes",function(){g.collapsedNodes.forEach(function(e){e=y(b,e);b.setBreaks(e,!1)});f()})})};l(h.prototype,{init:function(b,
48
- e,c){var a="treegrid"===c.type;a&&(x(e,"beforeRender",F),x(e,"beforeRedraw",F),c=m({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},c,{reversed:!0,grid:{columns:void 0}}));b.apply(this,[e,c]);a&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(b){var e=this.options,c=e&&e.labels,e=c&&r(c.indentation)?e.labels.indentation:0,c=b.apply(this,
49
- u(arguments)),a;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(a=this.mapOfPosToGridNode[-1].height,c.width+=e*(a-1));return c},generateTick:function(b,e){var a=E(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},f=this.ticks,d=f[e],q,g;"treegrid"===this.options.type?(g=this.mapOfPosToGridNode[e],(a=a[g.depth])&&(q={labels:a}),d?(d.parameters.category=g.name,d.options=q,d.addLabel()):f[e]=new c(this,e,null,void 0,{category:g.name,tickmarkOffset:g.tickmarkOffset,options:q})):b.apply(this,
50
- u(arguments))},setTickInterval:function(b){var e=this.options;"treegrid"===e.type?(this.min=d(this.userMin,e.min,this.dataMin),this.max=d(this.userMax,e.max,this.dataMax),v(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.mapOfPosToGridNode?g(this):[]):b.apply(this,u(arguments))}});l(c.prototype,{getLabelPosition:function(b,e,c,a,f,q,g,n,l){var t=d(this.options&&this.options.labels,q);q=this.pos;var k=this.axis,y="treegrid"===k.options.type;
51
- b=b.apply(this,[e,c,a,f,t,g,n,l]);y&&(e=t&&E(t.symbol)?t.symbol:{},t=t&&r(t.indentation)?t.indentation:0,q=(q=(k=k.mapOfPosToGridNode)&&k[q])&&q.depth||1,b.x+=e.width+2*e.padding+(q-1)*t);return b},renderLabel:function(b){var e=this,c=e.pos,f=e.axis,g=e.label,t=f.mapOfPosToGridNode,l=f.options,k=d(e.options&&e.options.labels,l&&l.labels),y=k&&E(k.symbol)?k.symbol:{},F=(t=t&&t[c])&&t.depth,l="treegrid"===l.type,D=!(!g||!g.element),h=-1<f.tickPositions.indexOf(c),c=f.chart.styledMode;l&&t&&D&&g.addClass("highcharts-treegrid-node-level-"+
52
- F);b.apply(e,u(arguments));l&&t&&D&&0<t.descendants&&(f=n(f,t),q(e,{color:!c&&g.styles.color,collapsed:f,group:g.parentGroup,options:y,renderer:g.renderer,show:h,xy:g.xy}),y="highcharts-treegrid-node-"+(f?"expanded":"collapsed"),g.addClass("highcharts-treegrid-node-"+(f?"collapsed":"expanded")).removeClass(y),c||g.css({cursor:"pointer"}),[g,e.labelIcon].forEach(function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){var b=g;b.addClass("highcharts-treegrid-node-active");
53
- b.renderer.styledMode||b.css({textDecoration:"underline"})}),a.addEvent(b.element,"mouseout",function(){var b=g,e=k,e=A(e.style)?e.style:{};b.removeClass("highcharts-treegrid-node-active");b.renderer.styledMode||b.css({textDecoration:e.textDecoration})}),a.addEvent(b.element,"click",function(){e.toggleCollapse()}),b.attachedTreeGridEvents=!0)}))}});C(c.prototype,{collapse:function(b){var e=this.axis,c=y(e,e.mapOfPosToGridNode[this.pos]);e.setBreaks(c,d(b,!0))},expand:function(b){var c=this.axis,a=
54
- e(c,c.mapOfPosToGridNode[this.pos]);c.setBreaks(a,d(b,!0))},toggleCollapse:function(b){var c=this.axis,a;a=c.mapOfPosToGridNode[this.pos];a=n(c,a)?e(c,a):y(c,a);c.setBreaks(a,d(b,!0))}});h.prototype.utils={getNode:p.getNode}});H(v,"parts-gantt/PathfinderAlgorithms.js",[v["parts/Globals.js"]],function(a){function p(a,h,r){r=r||0;var k=a.length-1;h-=1e-7;for(var m,d;r<=k;)if(m=k+r>>1,d=h-a[m].xMin,0<d)r=m+1;else if(0>d)k=m-1;else return m;return 0<r?r-1:0}function h(a,h){for(var k=p(a,h.x+1)+1;k--;){var m;
55
- if(m=a[k].xMax>=h.x)m=a[k],m=h.x<=m.xMax&&h.x>=m.xMin&&h.y<=m.yMax&&h.y>=m.yMin;if(m)return k}return-1}function x(a){var k=[];if(a.length){k.push("M",a[0].start.x,a[0].start.y);for(var h=0;h<a.length;++h)k.push("L",a[h].end.x,a[h].end.y)}return k}function u(a,h){a.yMin=C(a.yMin,h.yMin);a.yMax=A(a.yMax,h.yMax);a.xMin=C(a.xMin,h.xMin);a.xMax=A(a.xMax,h.xMax)}var A=Math.min,C=Math.max,w=Math.abs,v=a.pick;return{straight:function(a,h){return{path:["M",a.x,a.y,"L",h.x,h.y],obstacles:[{start:a,end:h}]}},
56
- simpleConnect:a.extend(function(a,m,r){function k(b,c,e,a,f){b={x:b.x,y:b.y};b[c]=e[a||c]+(f||0);return b}function p(b,c,e){var a=w(c[e]-b[e+"Min"])>w(c[e]-b[e+"Max"]);return k(c,e,b,e+(a?"Max":"Min"),a?1:-1)}var d=[],b,c=v(r.startDirectionX,w(m.x-a.x)>w(m.y-a.y))?"x":"y",l=r.chartObstacles,f=h(l,a);r=h(l,m);var g;-1<r?(b=l[r],r=p(b,m,c),b={start:r,end:m},g=r):g=m;-1<f&&(l=l[f],r=p(l,a,c),d.push({start:a,end:r}),r[c]>a[c]===r[c]>g[c]&&(c="y"===c?"x":"y",m=a[c]<m[c],d.push({start:r,end:k(r,c,l,c+(m?
57
- "Max":"Min"),m?1:-1)}),c="y"===c?"x":"y"));a=d.length?d[d.length-1].end:a;r=k(a,c,g);d.push({start:a,end:r});c=k(r,"y"===c?"x":"y",g);d.push({start:r,end:c});d.push(b);return{path:x(d),obstacles:d}},{requiresObstacles:!0}),fastAvoid:a.extend(function(a,m,r){function k(b,e,a){var c,f,d,q,g,t=b.x<e.x?1:-1;b.x<e.x?(c=b,f=e):(c=e,f=b);b.y<e.y?(q=b,d=e):(q=e,d=b);for(g=0>t?A(p(z,f.x),z.length-1):0;z[g]&&(0<t&&z[g].xMin<=f.x||0>t&&z[g].xMax>=c.x);){if(z[g].xMin<=f.x&&z[g].xMax>=c.x&&z[g].yMin<=d.y&&z[g].yMax>=
58
- q.y)return a?{y:b.y,x:b.x<e.x?z[g].xMin-1:z[g].xMax+1,obstacle:z[g]}:{x:b.x,y:b.y<e.y?z[g].yMin-1:z[g].yMax+1,obstacle:z[g]};g+=t}return e}function B(b,e,c,a,f){var d=f.soft,q=f.hard,g=a?"x":"y",t={x:e.x,y:e.y},l={x:e.x,y:e.y};f=b[g+"Max"]>=d[g+"Max"];var d=b[g+"Min"]<=d[g+"Min"],n=b[g+"Max"]>=q[g+"Max"],q=b[g+"Min"]<=q[g+"Min"],y=w(b[g+"Min"]-e[g]),h=w(b[g+"Max"]-e[g]);c=10>w(y-h)?e[g]<c[g]:h<y;l[g]=b[g+"Min"];t[g]=b[g+"Max"];b=k(e,l,a)[g]!==l[g];e=k(e,t,a)[g]!==t[g];c=b?e?c:!0:e?!1:c;c=d?f?c:!0:
59
- f?!1:c;return q?n?c:!0:n?!1:c}function d(b,e,c){if(b.x===e.x&&b.y===e.y)return[];var a=c?"x":"y",f,g,l,n,m=r.obstacleOptions.margin;f={soft:{xMin:q,xMax:t,yMin:F,yMax:D},hard:r.hardBounds};g=h(z,b);-1<g?(g=z[g],f=B(g,b,e,c,f),u(g,r.hardBounds),n=c?{y:b.y,x:g[f?"xMax":"xMin"]+(f?1:-1)}:{x:b.x,y:g[f?"yMax":"yMin"]+(f?1:-1)},l=h(z,n),-1<l&&(l=z[l],u(l,r.hardBounds),n[a]=f?C(g[a+"Max"]-m+1,(l[a+"Min"]+g[a+"Max"])/2):A(g[a+"Min"]+m-1,(l[a+"Max"]+g[a+"Min"])/2),b.x===n.x&&b.y===n.y?(y&&(n[a]=f?C(g[a+"Max"],
60
- l[a+"Max"])+1:A(g[a+"Min"],l[a+"Min"])-1),y=!y):y=!1),b=[{start:b,end:n}]):(a=k(b,{x:c?e.x:b.x,y:c?b.y:e.y},c),b=[{start:b,end:{x:a.x,y:a.y}}],a[c?"x":"y"]!==e[c?"x":"y"]&&(f=B(a.obstacle,a,e,!c,f),u(a.obstacle,r.hardBounds),f={x:c?a.x:a.obstacle[f?"xMax":"xMin"]+(f?1:-1),y:c?a.obstacle[f?"yMax":"yMin"]+(f?1:-1):a.y},c=!c,b=b.concat(d({x:a.x,y:a.y},f,c))));return b=b.concat(d(b[b.length-1].end,e,!c))}function b(b,e,a){var c=A(b.xMax-e.x,e.x-b.xMin)<A(b.yMax-e.y,e.y-b.yMin);a=B(b,e,a,c,{soft:r.hardBounds,
61
- hard:r.hardBounds});return c?{y:e.y,x:b[a?"xMax":"xMin"]+(a?1:-1)}:{x:e.x,y:b[a?"yMax":"yMin"]+(a?1:-1)}}var c=v(r.startDirectionX,w(m.x-a.x)>w(m.y-a.y)),l=c?"x":"y",f,g,n=[],y=!1,e=r.obstacleMetrics,q=A(a.x,m.x)-e.maxWidth-10,t=C(a.x,m.x)+e.maxWidth+10,F=A(a.y,m.y)-e.maxHeight-10,D=C(a.y,m.y)+e.maxHeight+10,z=r.chartObstacles;f=p(z,q);e=p(z,t);z=z.slice(f,e+1);-1<(e=h(z,m))&&(g=b(z[e],m,a),n.push({end:m,start:g}),m=g);for(;-1<(e=h(z,m));)f=0>m[l]-a[l],g={x:m.x,y:m.y},g[l]=z[e][f?l+"Max":l+"Min"]+
62
- (f?1:-1),n.push({end:m,start:g}),m=g;a=d(a,m,c);a=a.concat(n.reverse());return{path:x(a),obstacles:a}},{requiresObstacles:!0})}});H(v,"parts-gantt/ArrowSymbols.js",[v["parts/Globals.js"]],function(a){a.SVGRenderer.prototype.symbols.arrow=function(a,h,x,u){return["M",a,h+u/2,"L",a+x,h,"L",a,h+u/2,"L",a+x,h+u]};a.SVGRenderer.prototype.symbols["arrow-half"]=function(p,h,x,u){return a.SVGRenderer.prototype.symbols.arrow(p,h,x/2,u)};a.SVGRenderer.prototype.symbols["triangle-left"]=function(a,h,x,u){return["M",
63
- a+x,h,"L",a,h+u/2,"L",a+x,h+u,"Z"]};a.SVGRenderer.prototype.symbols["arrow-filled"]=a.SVGRenderer.prototype.symbols["triangle-left"];a.SVGRenderer.prototype.symbols["triangle-left-half"]=function(p,h,x,u){return a.SVGRenderer.prototype.symbols["triangle-left"](p,h,x/2,u)};a.SVGRenderer.prototype.symbols["arrow-filled-half"]=a.SVGRenderer.prototype.symbols["triangle-left-half"]});H(v,"parts-gantt/Pathfinder.js",[v["parts/Globals.js"],v["parts-gantt/PathfinderAlgorithms.js"]],function(a,p){function h(b){var a=
64
- b.shapeArgs;return a?{xMin:a.x,xMax:a.x+a.width,yMin:a.y,yMax:a.y+a.height}:(a=b.graphic&&b.graphic.getBBox())?{xMin:b.plotX-a.width/2,xMax:b.plotX+a.width/2,yMin:b.plotY-a.height/2,yMax:b.plotY+a.height/2}:null}function x(b){for(var a=b.length,l=0,f,g,n=[],k=function(b,a,c){c=E(c,10);var e=b.yMax+c>a.yMin-c&&b.yMin-c<a.yMax+c,f=b.xMax+c>a.xMin-c&&b.xMin-c<a.xMax+c,g=e?b.xMin>a.xMax?b.xMin-a.xMax:a.xMin-b.xMax:Infinity,q=f?b.yMin>a.yMax?b.yMin-a.yMax:a.yMin-b.yMax:Infinity;return f&&e?c?k(b,a,Math.floor(c/
65
- 2)):Infinity:d(g,q)};l<a;++l)for(f=l+1;f<a;++f)g=k(b[l],b[f]),80>g&&n.push(g);n.push(80);return B(Math.floor(n.sort(function(b,a){return b-a})[Math.floor(n.length/10)]/2-1),1)}function u(b,a,d){this.init(b,a,d)}function A(b){this.init(b)}function C(b){if(b.options.pathfinder||b.series.reduce(function(b,a){a.options&&r(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder);return b||a.options&&a.options.pathfinder},!1))r(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder),
66
- a.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var w=a.defined,v=a.deg2rad,k=a.extend,m=a.addEvent,r=a.merge,E=a.pick,B=Math.max,d=Math.min;k(a.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});u.prototype={init:function(b,a,d){this.fromPoint=b;this.toPoint=a;this.options=d;this.chart=
67
- b.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(b,a,d){var c=this.chart,g=c.styledMode,n=c.pathfinder,l=!c.options.chart.forExport&&!1!==d,e=this.graphics&&this.graphics.path;n.group||(n.group=c.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(c.seriesGroup));n.group.translate(c.plotLeft,c.plotTop);e&&e.renderer||(e=c.renderer.path().add(n.group),g||e.attr({opacity:0}));e.attr(a);b={d:b};g||(b.opacity=1);e[l?"animate":"attr"](b,d);this.graphics=
68
- this.graphics||{};this.graphics.path=e},addMarker:function(b,a,d){var c=this.fromPoint.series.chart,g=c.pathfinder,c=c.renderer,n="start"===b?this.fromPoint:this.toPoint,l=n.getPathfinderAnchorPoint(a),e,q;a.enabled&&(d="start"===b?{x:d[4],y:d[5]}:{x:d[d.length-5],y:d[d.length-4]},d=n.getRadiansToVector(d,l),l=n.getMarkerVector(d,a.radius,l),d=-d/v,a.width&&a.height?(e=a.width,q=a.height):e=q=2*a.radius,this.graphics=this.graphics||{},l={x:l.x-e/2,y:l.y-q/2,width:e,height:q,rotation:d,rotationOriginX:l.x,
69
- rotationOriginY:l.y},this.graphics[b]?this.graphics[b].animate(l):(this.graphics[b]=c.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(l).add(g.group),c.styledMode||this.graphics[b].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},n.series.options.animation)))},getPath:function(b){var c=this.pathfinder,d=this.chart,f=c.algorithms[b.type],g=c.chartObstacles;if("function"!==typeof f)a.error('"'+b.type+
70
- '" is not a Pathfinder algorithm.');else return f.requiresObstacles&&!g&&(g=c.chartObstacles=c.getChartObstacles(b),d.options.connectors.algorithmMargin=b.algorithmMargin,c.chartObstacleMetrics=c.getObstacleMetrics(g)),f(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),r({chartObstacles:g,lineObstacles:c.lineObstacles||[],obstacleMetrics:c.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:b.algorithmMargin},
71
- startDirectionX:c.getAlgorithmStartDirection(b.startMarker)},b))},render:function(){var b=this.fromPoint,a=b.series,l=a.chart,f=l.pathfinder,g=r(l.options.connectors,a.options.connectors,b.options.connectors,this.options),n={};l.styledMode||(n.stroke=g.lineColor||b.color,n["stroke-width"]=g.lineWidth,g.dashStyle&&(n.dashstyle=g.dashStyle));n.class="highcharts-point-connecting-path highcharts-color-"+b.colorIndex;g=r(n,g);w(g.marker.radius)||(g.marker.radius=d(B(Math.ceil((g.algorithmMargin||8)/2)-
72
- 1,1),5));b=this.getPath(g);l=b.path;b.obstacles&&(f.lineObstacles=f.lineObstacles||[],f.lineObstacles=f.lineObstacles.concat(b.obstacles));this.renderPath(l,n,a.options.animation);this.addMarker("start",r(g.marker,g.startMarker),l);this.addMarker("end",r(g.marker,g.endMarker),l)},destroy:function(){this.graphics&&(a.objectEach(this.graphics,function(b){b.destroy()}),delete this.graphics)}};A.prototype={algorithms:p,init:function(b){this.chart=b;this.connections=[];m(b,"redraw",function(){this.pathfinder.update()})},
73
- update:function(b){var c=this.chart,d=this,f=d.connections;d.connections=[];c.series.forEach(function(b){b.visible&&b.points.forEach(function(b){var e,f=b.options&&b.options.connect&&a.splat(b.options.connect);b.visible&&!1!==b.isInside&&f&&f.forEach(function(f){e=c.get("string"===typeof f?f:f.to);e instanceof a.Point&&e.series.visible&&e.visible&&!1!==e.isInside&&d.connections.push(new u(b,e,"string"===typeof f?{}:f))})})});for(var g=0,n,k,e=f.length,q=d.connections.length;g<e;++g){k=!1;for(n=0;n<
74
- q;++n)if(f[g].fromPoint===d.connections[n].fromPoint&&f[g].toPoint===d.connections[n].toPoint){d.connections[n].graphics=f[g].graphics;k=!0;break}k||f[g].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(b)},renderConnections:function(b){b?this.chart.series.forEach(function(b){var a=function(){var a=b.chart.pathfinder;(a&&a.connections||[]).forEach(function(a){a.fromPoint&&a.fromPoint.series===b&&a.render()});b.pathfinderRemoveRenderEvent&&(b.pathfinderRemoveRenderEvent(),
75
- delete b.pathfinderRemoveRenderEvent)};!1===b.options.animation?a():b.pathfinderRemoveRenderEvent=m(b,"afterAnimate",a)}):this.connections.forEach(function(b){b.render()})},getChartObstacles:function(b){for(var a=[],d=this.chart.series,f=E(b.algorithmMargin,0),g,n=0,k=d.length;n<k;++n)if(d[n].visible)for(var e=0,q=d[n].points.length,t;e<q;++e)t=d[n].points[e],t.visible&&(t=h(t))&&a.push({xMin:t.xMin-f,xMax:t.xMax+f,yMin:t.yMin-f,yMax:t.yMax+f});a=a.sort(function(b,a){return b.xMin-a.xMin});w(b.algorithmMargin)||
76
- (g=b.algorithmMargin=x(a),a.forEach(function(b){b.xMin-=g;b.xMax+=g;b.yMin-=g;b.yMax+=g}));return a},getObstacleMetrics:function(b){for(var a=0,d=0,f,g,n=b.length;n--;)f=b[n].xMax-b[n].xMin,g=b[n].yMax-b[n].yMin,a<f&&(a=f),d<g&&(d=g);return{maxHeight:d,maxWidth:a}},getAlgorithmStartDirection:function(b){var a="top"!==b.verticalAlign&&"bottom"!==b.verticalAlign;return"left"!==b.align&&"right"!==b.align?a?void 0:!1:a?!0:void 0}};a.Connection=u;a.Pathfinder=A;k(a.Point.prototype,{getPathfinderAnchorPoint:function(b){var a=
77
- h(this),d,f;switch(b.align){case "right":d="xMax";break;case "left":d="xMin"}switch(b.verticalAlign){case "top":f="yMin";break;case "bottom":f="yMax"}return{x:d?a[d]:(a.xMin+a.xMax)/2,y:f?a[f]:(a.yMin+a.yMax)/2}},getRadiansToVector:function(b,a){w(a)||(a=h(this),a={x:(a.xMin+a.xMax)/2,y:(a.yMin+a.yMax)/2});return Math.atan2(a.y-b.y,b.x-a.x)},getMarkerVector:function(b,a,d){for(var c=2*Math.PI,g=h(this),n=g.xMax-g.xMin,l=g.yMax-g.yMin,e=Math.atan2(l,n),q=!1,n=n/2,t=l/2,k=g.xMin+n,g=g.yMin+t,D=k,z=
78
- g,m={},r=1,p=1;b<-Math.PI;)b+=c;for(;b>Math.PI;)b-=c;c=Math.tan(b);b>-e&&b<=e?(p=-1,q=!0):b>e&&b<=Math.PI-e?p=-1:b>Math.PI-e||b<=-(Math.PI-e)?(r=-1,q=!0):r=-1;q?(D+=r*n,z+=p*n*c):(D+=l/(2*c)*r,z+=p*t);d.x!==k&&(D=d.x);d.y!==g&&(z=d.y);m.x=D+a*Math.cos(b);m.y=z-a*Math.sin(b);return m}});a.Chart.prototype.callbacks.push(function(b){!1!==b.options.connectors.enabled&&(C(b),this.pathfinder=new A(this),this.pathfinder.update(!0))})});H(v,"modules/xrange.src.js",[v["parts/Globals.js"]],function(a){var p=
79
- a.addEvent,h=a.defined,x=a.Color,u=a.seriesTypes.column,A=a.correctFloat,v=a.isNumber,w=a.isObject,G=a.merge,k=a.pick,m=a.seriesType,r=a.Axis,E=a.Point,B=a.Series;m("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;w(a)&&(a=a.amount);h(a)||(a=0);return A(100*a)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},
80
- borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:a.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop,getColumnMetrics:function(){function a(){c.series.forEach(function(b){var a=b.xAxis;b.xAxis=b.yAxis;b.yAxis=a})}var b,c=this.chart;a();b=u.prototype.getColumnMetrics.call(this);a();return b},cropData:function(a,b,c,l){b=B.prototype.cropData.call(this,this.x2Data,b,c,l);b.xData=a.slice(b.start,b.end);return b},
81
- findPointIndex:function(d){var b=this.data,c=this.points,l=d.id,f,g;l&&(g=(f=a.find(b,function(b){return b.id===l}))?f.index:void 0);void 0===g&&(g=(f=a.find(b,function(b){return b.x===d.x&&b.x2===d.x2&&!(c[g]&&c[g].touched)}))?f.index:void 0);this.cropped&&g>=this.cropStart&&(g-=this.cropStart);return g},translatePoint:function(a){var b=this.xAxis,c=this.yAxis,d=this.columnMetrics,f=this.options,g=f.minPointLength||0,n=a.plotX,y=k(a.x2,a.x+(a.len||0)),e=b.translate(y,0,0,0,1),y=Math.abs(e-n),q=this.chart.inverted,
82
- t=k(f.borderWidth,1)%2/2,F=d.offset,D=Math.round(d.width);g&&(g-=y,0>g&&(g=0),n-=g/2,e+=g/2);n=Math.max(n,-10);e=Math.min(Math.max(e,-10),b.len+10);h(a.options.pointWidth)&&(F-=(Math.ceil(a.options.pointWidth)-D)/2,D=Math.ceil(a.options.pointWidth));f.pointPlacement&&v(a.plotY)&&c.categories&&(a.plotY=c.translate(a.y,0,1,0,1,f.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(n,e))+t,y:Math.floor(a.plotY+F)+t,width:Math.round(Math.abs(e-n)),height:D,r:this.options.borderRadius};f=a.shapeArgs.x;
83
- g=f+a.shapeArgs.width;0>f||g>b.len?(f=Math.min(b.len,Math.max(0,f)),g=Math.max(0,Math.min(g,b.len)),e=g-f,a.dlBox=G(a.shapeArgs,{x:f,width:g-f,centerX:e?e/2:null})):a.dlBox=null;q?(a.tooltipPos[1]+=y/2*(b.reversed?1:-1),a.tooltipPos[0]+=d.width/2,a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],b.len-1),0),a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],c.len-1),0)):(a.tooltipPos[0]+=y/2*(b.reversed?-1:1),a.tooltipPos[1]-=d.width/2,a.tooltipPos[0]=Math.max(Math.min(a.tooltipPos[0],b.len-1),0),
84
- a.tooltipPos[1]=Math.max(Math.min(a.tooltipPos[1],c.len-1),0));if(c=a.partialFill)w(c)&&(c=c.amount),v(c)||(c=0),b=a.shapeArgs,a.partShapeArgs={x:b.x,y:b.y,width:b.width,height:b.height,r:this.options.borderRadius},a.clipRectArgs={x:b.x,y:b.y,width:Math.max(Math.round(y*c+(a.plotX-n)),0),height:b.height}},translate:function(){u.prototype.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)},drawPoint:function(a,b){var c=this.options,d=this.chart.renderer,f=
85
- a.graphic,g=a.shapeType,n=a.shapeArgs,h=a.partShapeArgs,e=a.clipRectArgs,q=a.partialFill,t=c.stacking&&!c.borderRadius,F=a.state,D=c.states[F||"normal"]||{},z=void 0===F?"attr":"animate",F=this.pointAttribs(a,F),D=k(this.chart.options.chart.animation,D.animation);if(a.isNull)f&&(a.graphic=f.destroy());else{if(f)a.graphicOriginal[b](n);else a.graphic=f=d.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=d[g](G(n)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(f);
86
- h&&(a.graphicOverlay?(a.graphicOverlay[b](G(h)),a.clipRect.animate(G(e))):(a.clipRect=d.clipRect(e.x,e.y,e.width,e.height),a.graphicOverlay=d[g](h).addClass("highcharts-partfill-overlay").add(f).clip(a.clipRect)));this.chart.styledMode||(a.graphicOriginal.animate(F,D).shadow(c.shadow,null,t),h&&(w(q)||(q={}),w(c.partialFill)&&(q=G(q,c.partialFill)),b=q.fill||x(F.fill).brighten(-.3).get()||x(a.color||this.color).brighten(-.3).get(),F.fill=b,a.graphicOverlay[z](F,D).shadow(c.shadow,null,t)))}},drawPoints:function(){var a=
87
- this,b=a.getAnimationVerb();a.points.forEach(function(c){a.drawPoint(c,b)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var a,b=this.series;if(b.options.colorByPoint&&!this.options.color){a=b.options.colors||b.chart.options.colors;var c=this.y%(a?a.length:b.chart.options.chart.colorCount);a=a&&a[c];b.chart.styledMode||(this.color=a);this.options.colorIndex||(this.colorIndex=c)}else this.color||(this.color=
88
- b.color)},init:function(){E.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){E.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=E.prototype.getLabelConfig.call(this),b=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=b&&b[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});p(r,"afterGetSeriesExtremes",
89
- function(){var a=this.series,b,c;this.isXAxis&&(b=k(this.dataMax,-Number.MAX_VALUE),a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>b&&(b=a,c=!0)})}),c&&(this.dataMax=b))})});H(v,"parts-gantt/GanttSeries.js",[v["parts/Globals.js"]],function(a){var p=a.dateFormat,h=a.isObject,x=a.isNumber,u=a.merge,A=a.pick,v=a.seriesType,w=a.stop,G=a.seriesTypes.xrange;v("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;h(a)&&(a=a.amount);if(x(a)&&
90
- 0<a)return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:null,pointFormatter:function(){var k=this.series,h=k.chart.tooltip,r=k.xAxis,u=r.options.dateTimeLabelFormats,w=r.options.startOfWeek,d=k.tooltipOptions,b=d.xDateFormat,c=this.end?this.end-this.start:0,k=this.options.milestone,r="\x3cb\x3e"+(this.name||this.yCategory)+"\x3c/b\x3e";if(d.pointFormat)return this.tooltipFormatter(d.pointFormat);b||(b=a.splat(h.getDateFormat(c,
91
- this.start,w,u))[0]);h=p(b,this.start);u=p(b,this.end);r+="\x3cbr/\x3e";return k?r+("Date "+h+"\x3cbr/\x3e"):r+("Start: "+h+"\x3cbr/\x3e")+("End: "+u+"\x3cbr/\x3e")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(a){var k,h;G.prototype.translatePoint.call(this,a);a.options.milestone&&(k=
92
- a.shapeArgs,h=k.height,a.shapeArgs={x:k.x-h/2,y:k.y,width:h,height:h})},drawPoint:function(a,h){var k=this.options,m=this.chart.renderer,p=a.shapeArgs,d=a.plotY,b=a.graphic,c=a.selected&&"select",l=k.stacking&&!k.borderRadius;a.options.milestone?x(d)&&null!==a.y?(p=m.symbols.diamond(p.x,p.y,p.width,p.height),b?(w(b),b[h]({d:p})):a.graphic=m.path(p).addClass(a.getClassName(),!0).add(a.group||this.group),this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,c)).shadow(k.shadow,null,l)):b&&(a.graphic=
93
- b.destroy()):G.prototype.drawPoint.call(this,a,h)},setData:a.Series.prototype.setData,setGanttPointAliases:function(a){function h(h,k){void 0!==k&&(a[h]=k)}h("x",A(a.start,a.x));h("x2",A(a.end,a.x2));h("partialFill",A(a.completed,a.partialFill));h("connect",A(a.dependency,a.connect))}},u(G.prototype.pointClass.prototype,{applyOptions:function(h,m){h=u(h);a.seriesTypes.gantt.prototype.setGanttPointAliases(h);return h=G.prototype.pointClass.prototype.applyOptions.call(this,h,m)}}))});H(v,"parts-gantt/GanttChart.js",
94
- [v["parts/Globals.js"]],function(a){var p=a.merge,h=a.splat,x=a.Chart;a.ganttChart=function(u,A,v){var w="string"===typeof u||u.nodeName,C=A.series,k=a.getOptions(),m,r=A;A=arguments[w?1:0];a.isArray(A.xAxis)||(A.xAxis=[A.xAxis||{},{}]);A.xAxis=A.xAxis.map(function(a,h){1===h&&(m=0);return p(k.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:m},a,{type:"datetime"})});A.yAxis=h(A.yAxis||{}).map(function(a){return p(k.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},
95
- a)});A.series=null;A=p(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},A,{isGantt:!0});A.series=r.series=C;A.series.forEach(function(h){h.data.forEach(function(h){a.seriesTypes.gantt.prototype.setGanttPointAliases(h)})});return w?new x(u,A,v):new x(A,A)}});H(v,"parts/Scrollbar.js",[v["parts/Globals.js"]],function(a){function p(b,a,d){this.init(b,a,d)}var h=a.addEvent,x=a.Axis,u=a.correctFloat,v=a.defaultOptions,C=a.defined,w=a.destroyObjectProperties,G=a.fireEvent,k=a.hasTouch,m=a.merge,
96
- r=a.pick,E=a.removeEvent,B,d={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};v.scrollbar=m(!0,d,v.scrollbar);a.swapXY=B=function(b,a){var c=b.length,
97
- f;if(a)for(a=0;a<c;a+=3)f=b[a+1],b[a+1]=b[a+2],b[a+2]=f;return b};p.prototype={init:function(a,c,h){this.scrollbarButtons=[];this.renderer=a;this.userOptions=c;this.options=m(d,c);this.chart=h;this.size=r(this.options.size,this.options.height);c.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,c=this.options,d=this.size,f=this.chart.styledMode,g;this.group=g=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,
98
- r:c.trackBorderRadius||0,height:d,width:d}).add(g);f||this.track.attr({fill:c.trackBackgroundColor,stroke:c.trackBorderColor,"stroke-width":c.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(B(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,
99
- "M",3,d/4,"L",3,2*d/3],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:c.barBackgroundColor,stroke:c.barBorderColor,"stroke-width":c.barBorderWidth}),this.scrollbarRifles.attr({stroke:c.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,
100
- c,d,f){var b=this.options.vertical,n=0,h=this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=d;this.xOffset=this.height=f;this.yOffset=n;b?(this.width=this.yOffset=d=n=this.size,this.xOffset=c=0,this.barWidth=f-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=f=c=this.size,this.barWidth=d-2*f,this.y+=this.options.margin);this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:d,height:f});this.scrollbarButtons[1][h]({translateX:b?0:d-c,translateY:b?
101
- f-n:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,f=this.options,g=this.size,n;n=b.g().add(this.group);d.push(n);n=b.rect().addClass("highcharts-scrollbar-button").add(n);this.chart.styledMode||n.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,fill:f.buttonBackgroundColor});n.attr(n.crisp({x:-.5,y:-.5,width:g+1,height:g+1,r:f.buttonBorderRadius},n.strokeWidth()));n=b.path(B(["M",g/2+(a?-1:1),g/2-3,"L",g/2+(a?-1:1),g/2+3,"L",g/2+(a?2:-2),g/2],
102
- f.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);this.chart.styledMode||n.attr({fill:f.buttonArrowColor})},setRange:function(a,c){var b=this.options,f=b.vertical,g=b.minWidth,d=this.barWidth,h,e,q=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";C(d)&&(a=Math.max(a,0),h=Math.ceil(d*a),this.calculatedWidth=e=u(d*Math.min(c,1)-h),e<g&&(h=(d-g+e)*a,e=g),g=Math.floor(h+this.xOffset+this.yOffset),d=e/2-.5,this.from=a,this.to=c,f?(this.scrollbarGroup[q]({translateY:g}),
103
- this.scrollbar[q]({height:e}),this.scrollbarRifles[q]({translateY:d}),this.scrollbarTop=g,this.scrollbarLeft=0):(this.scrollbarGroup[q]({translateX:g}),this.scrollbar[q]({width:e}),this.scrollbarRifles[q]({translateX:d}),this.scrollbarLeft=g,this.scrollbarTop=0),12>=e?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var c=a.chart.pointer.normalize(b),
104
- f=a.options.vertical?"chartY":"chartX",g=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][f]||(c=a.cursorToScrollbarPosition(c)[f],f=a[f],f=c-f,a.hasDragged=!0,a.updatePosition(g[0]+f,g[1]+f),a.hasDragged&&G(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&G(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=
105
- function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=u(a.to-a.from)*a.options.step;a.updatePosition(u(a.from-c),u(a.to-c));G(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);G(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};
106
- a.trackClick=function(b){var c=a.chart.pointer.normalize(b),f=a.to-a.from,g=a.y+a.scrollbarTop,d=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>g||!a.options.vertical&&c.chartX>d?a.updatePosition(a.from+f,a.to+f):a.updatePosition(a.from-f,a.to-f);G(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-
107
- this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,c){1<c&&(a=u(1-u(c-a)),c=1);0>a&&(c=u(c-a),a=0);this.from=a;this.to=c},update:function(a){this.destroy();this.init(this.chart.renderer,m(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],c=this.scrollbarButtons,d=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,n=this.mouseUpHandler,a=[[c[a[0]].element,"click",this.buttonToMinClick],[c[a[1]].element,"click",this.buttonToMaxClick],
108
- [this.track.element,"click",this.trackClick],[d,"mousedown",f],[d.ownerDocument,"mousemove",g],[d.ownerDocument,"mouseup",n]];k&&a.push([d,"touchstart",f],[d.ownerDocument,"touchmove",g],[d.ownerDocument,"touchend",n]);a.forEach(function(a){h.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){E.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&
109
- this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,w(a.scrollbarButtons))}};a.Scrollbar||(h(x,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new p(b.chart.renderer,b.options.scrollbar,b.chart),h(b.scrollbar,"changed",function(c){var d=Math.min(r(b.options.min,b.min),b.min,b.dataMin),f=Math.max(r(b.options.max,b.max),
110
- b.max,b.dataMax)-d,g;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(g=d+f*this.to,d+=f*this.from):(g=d+f*(1-this.from),d+=f*(1-this.to));r(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===c.DOMType||!C(c.DOMType)?b.setExtremes(d,g,!0,"mousemove"!==c.DOMType,c):this.setRange(this.from,this.to)}))}),h(x,"afterRender",function(){var a=Math.min(r(this.options.min,this.min),this.min,r(this.dataMin,this.min)),c=Math.max(r(this.options.max,this.max),this.max,r(this.dataMax,
111
- this.max)),d=this.scrollbar,f=this.titleOffset||0;if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:f+this.axisTitleMargin+this.offset),this.width,this.height),f=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?f+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),f=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[f]+=this.scrollbar.size+this.scrollbar.options.margin;
112
- isNaN(a)||isNaN(c)||!C(this.min)||!C(this.max)?d.setRange(0,0):(f=(this.min-a)/(c-a),a=(this.max-a)/(c-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(f,a):d.setRange(1-a,1-f))}}),h(x,"afterGetOffset",function(){var a=this.horiz?2:1,c=this.scrollbar;c&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=c.size+c.options.margin)}),a.Scrollbar=p)});H(v,"parts/RangeSelector.js",[v["parts/Globals.js"]],function(a){function p(a){this.init(a)}var h=a.addEvent,x=a.Axis,u=a.Chart,
113
- v=a.css,C=a.createElement,w=a.defaultOptions,G=a.defined,k=a.destroyObjectProperties,m=a.discardElement,r=a.extend,E=a.fireEvent,B=a.isNumber,d=a.merge,b=a.pick,c=a.pInt,l=a.splat;r(w,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});w.lang=d(w.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});
114
- p.prototype={clickButton:function(a,c){var f=this.chart,d=this.buttonOptions[a],e=f.xAxis[0],g=f.scroller&&f.scroller.getUnionExtremes()||e||{},t=g.dataMin,k=g.dataMax,D,z=e&&Math.round(Math.min(e.max,b(k,e.max))),m=d.type,p,g=d._range,r,u,w,T=d.dataGrouping;if(null!==t&&null!==k){f.fixedRange=g;T&&(this.forcedDataGrouping=!0,x.prototype.setDataGrouping.call(e||{chart:this.chart},T,!1),this.frozenStates=d.preserveDataGrouping);if("month"===m||"year"===m)e?(m={range:d,max:z,chart:f,dataMin:t,dataMax:k},
115
- D=e.minFromRange.call(m),B(m.newMax)&&(z=m.newMax)):g=d;else if(g)D=Math.max(z-g,t),z=Math.min(D+g,k);else if("ytd"===m)if(e)void 0===k&&(t=Number.MAX_VALUE,k=Number.MIN_VALUE,f.series.forEach(function(a){a=a.xData;t=Math.min(a[0],t);k=Math.max(a[a.length-1],k)}),c=!1),z=this.getYTDExtremes(k,t,f.time.useUTC),D=r=z.min,z=z.max;else{this.deferredYTDClick=a;return}else"all"===m&&e&&(D=t,z=k);D+=d._offsetMin;z+=d._offsetMax;this.setSelected(a);e?e.setExtremes(D,z,b(c,1),null,{trigger:"rangeSelectorButton",
116
- rangeSelectorButton:d}):(p=l(f.options.xAxis)[0],w=p.range,p.range=g,u=p.min,p.min=r,h(f,"load",function(){p.range=w;p.min=u}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,f=c.buttons||[].concat(b.defaultButtons),e=c.selected,d=function(){var a=
117
- b.minInput,e=b.maxInput;a&&a.blur&&E(a,"blur");e&&e.blur&&E(e,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=f;this.unMouseDown=h(a.container,"mousedown",d);this.unResize=h(a,"resize",d);f.forEach(b.computeButtonRange);void 0!==e&&f[e]&&this.clickButton(e,!1);h(a,"load",function(){a.xAxis&&a.xAxis[0]&&h(a.xAxis[0],"setExtremes",function(e){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==e.trigger&&"updatedData"!==e.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,
118
- !1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],d=Math.round(c.max-c.min),e=!c.hasVisibleSeries,q=b.scroller&&b.scroller.getUnionExtremes()||c,t=q.dataMin,h=q.dataMax,b=a.getYTDExtremes(h,t,b.time.useUTC),k=b.min,z=b.max,l=a.selected,m=B(l),p=a.options.allButtonsEnabled,r=a.buttons;a.buttonOptions.forEach(function(b,f){var g=b._range,q=b.type,n=b.count||1,D=r[f],y=0,F=b._offsetMax-b._offsetMin;b=f===l;var u=g>h-t,V=g<c.minRange,S=!1,w=!1,g=g===d;("month"===q||"year"===
119
- q)&&d+36E5>=864E5*{month:28,year:365}[q]*n-F&&d-36E5<=864E5*{month:31,year:366}[q]*n+F?g=!0:"ytd"===q?(g=z-k+F===d,S=!b):"all"===q&&(g=c.max-c.min>=h-t,w=!b&&m&&g);q=!p&&(u||V||w||e);n=b&&g||g&&!m&&!S||b&&a.frozenStates;q?y=3:n&&(m=!0,y=2);D.state!==y&&(D.setState(y),0===y&&l===f&&a.setSelected(null))})},computeButtonRange:function(a){var c=a.type,d=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[c])a._range=f[c]*d;else if("month"===c||"year"===c)a._range=864E5*
120
- {month:30,year:365}[c]*d;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,e=this[a+"Input"];G(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];v(this[a+"Input"],
121
- {left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){v(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function f(){var a=z.value,b=(t.inputDateParser||Date.parse)(a),e=k.xAxis[0],d=k.scroller&&k.scroller.xAxis?k.scroller.xAxis:e,f=d.dataMin,d=d.dataMax;b!==z.previousValue&&(z.previousValue=b,B(b)||(b=a.split("-"),b=Date.UTC(c(b[0]),c(b[1])-1,c(b[2]))),B(b)&&
122
- (k.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),D?b>h.maxInput.HCTime?b=void 0:b<f&&(b=f):b<h.minInput.HCTime?b=void 0:b>d&&(b=d),void 0!==b&&e.setExtremes(D?b:e.min,D?e.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var h=this,k=h.chart,e=k.renderer.style||{},q=k.renderer,t=k.options.rangeSelector,l=h.div,D="min"===b,z,m,p=this.inputGroup;this[b+"Label"]=m=q.label(w.lang[D?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(p);
123
- p.offset+=m.width+5;this[b+"DateBox"]=q=q.label("",p.offset).addClass("highcharts-range-input").attr({padding:2,width:t.inputBoxWidth||90,height:t.inputBoxHeight||17,"text-align":"center"}).on("click",function(){h.showInput(b);h[b+"Input"].focus()});k.styledMode||q.attr({stroke:t.inputBoxBorderColor||"#cccccc","stroke-width":1});q.add(p);p.offset+=q.width+(D?10:0);this[b+"Input"]=z=C("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:k.plotTop+"px"},l);k.styledMode||(m.css(d(e,
124
- t.labelStyle)),q.css(d({color:"#333333"},e,t.inputStyle)),v(z,r({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:e.fontSize,fontFamily:e.fontFamily,top:"-9999em"},t.inputStyle)));z.onfocus=function(){h.showInput(b)};z.onblur=function(){z===a.doc.activeElement&&(f(),h.hideInput(b),z.blur())};z.onchange=f;z.onkeypress=function(a){13===a.keyCode&&f()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
125
- 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,e=new d.Date(a),f=d.get("FullYear",e);c=c?d.Date.UTC(f,0,1):+new d.Date(f,0,1);b=Math.max(b||0,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}},render:function(a,c){var d=this,f=d.chart,e=f.renderer,g=f.container,t=f.options,h=t.exporting&&!1!==t.exporting.enabled&&t.navigation&&t.navigation.buttonOptions,k=w.lang,l=d.div,m=t.rangeSelector,p=b(t.chart.style&&t.chart.style.zIndex,
126
- 0)+1,t=m.floating,r=d.buttons,l=d.inputGroup,u=m.buttonTheme,v=m.buttonPosition,x=m.inputPosition,A=m.inputEnabled,B=u&&u.states,E=f.plotLeft,G,H=d.buttonGroup,L;L=d.rendered;var M=d.options.verticalAlign,O=f.legend,P=O&&O.options,Q=v.y,N=x.y,R=L||!1,U=R?"animate":"attr",K=0,I=0,J;if(!1!==m.enabled){L||(d.group=L=e.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=H=e.g("range-selector-buttons").add(L),d.zoomText=e.text(k.rangeSelectorZoom,0,15).add(H),f.styledMode||(d.zoomText.css(m.labelStyle),
127
- u["stroke-width"]=b(u["stroke-width"],0)),d.buttonOptions.forEach(function(a,b){r[b]=e.button(a.text,0,0,function(e){var c=a.events&&a.events.click,f;c&&(f=c.call(a,e));!1!==f&&d.clickButton(b);d.isActive=!0},u,B&&B.hover,B&&B.select,B&&B.disabled).attr({"text-align":"center"}).add(H)}),!1!==A&&(d.div=l=C("div",null,{position:"relative",height:0,zIndex:p}),g.parentNode.insertBefore(l,g),d.inputGroup=l=e.g("input-group").add(L),l.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[U]({x:b(E+
128
- v.x,E)});G=b(E+v.x,E)+d.zoomText.getBBox().width+5;d.buttonOptions.forEach(function(a,e){r[e][U]({x:G});G+=r[e].width+b(m.buttonSpacing,5)});E=f.plotLeft-f.spacing[3];d.updateButtonStates();h&&this.titleCollision(f)&&"top"===M&&"right"===v.align&&v.y+H.getBBox().height-12<(h.y||0)+h.height&&(K=-40);"left"===v.align?J=v.x-f.spacing[3]:"right"===v.align&&(J=v.x+K-f.spacing[1]);H.align({y:v.y,width:H.getBBox().width,align:v.align,x:J},!0,f.spacingBox);d.group.placed=R;d.buttonGroup.placed=R;!1!==A&&
129
- (K=h&&this.titleCollision(f)&&"top"===M&&"right"===x.align&&x.y-l.getBBox().height-12<(h.y||0)+h.height+f.spacing[0]?-40:0,"left"===x.align?J=E:"right"===x.align&&(J=-Math.max(f.axisOffset[1],-K)),l.align({y:x.y,width:l.getBBox().width,align:x.align,x:x.x+J-2},!0,f.spacingBox),g=l.alignAttr.translateX+l.alignOptions.x-K+l.getBBox().x+2,h=l.alignOptions.width,k=H.alignAttr.translateX+H.getBBox().x,J=H.getBBox().width+20,(x.align===v.align||k+J>g&&g+h>k&&Q<N+l.getBBox().height)&&l.attr({translateX:l.alignAttr.translateX+
130
- (f.axisOffset[1]>=-K?0:-K),translateY:l.alignAttr.translateY+H.getBBox().height+10}),d.setInputValue("min",a),d.setInputValue("max",c),d.inputGroup.placed=R);d.group.align({verticalAlign:M},!0,f.spacingBox);a=d.group.getBBox().height+20;c=d.group.alignAttr.translateY;"bottom"===M&&(O=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?O.legendHeight+b(P.margin,10):0,a=a+O-20,I=c-a-(t?0:m.y)-10);if("top"===M)t&&(I=0),f.titleOffset&&(I=f.titleOffset+f.options.title.margin),I+=f.margin[0]-f.spacing[0]||
131
- 0;else if("middle"===M)if(N===Q)I=0>N?c+void 0:c;else if(N||Q)I=0>N||0>Q?I-Math.min(N,Q):c-a+NaN;d.group.translate(m.x,m.y+Math.floor(I));!1!==A&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,e=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(e,d);if(0>e&&0>d||0<e&&0<d)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
132
- a.options.subtitle.text)},update:function(a){var b=this.chart;d(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();k(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,e){a&&"chart"!==e&&(a.destroy?a.destroy():a.nodeType&&m(this[e]));a!==p.prototype[e]&&(b[e]=null)},this)}};x.prototype.minFromRange=function(){var a=
133
- this.range,c={month:"Month",year:"FullYear"}[a.type],d,h=this.max,e,q,t=this.chart.time,k=function(a,b){var e=new t.Date(a),d=t.get(c,e);t.set(c,e,d+b);d===t.get(c,e)&&e.setDate(0);return e.getTime()-a};B(a)?(d=h-a,q=a):(d=h+k(h,-a.count),this.chart&&(this.chart.fixedRange=h-d));e=b(this.dataMin,Number.MIN_VALUE);B(d)||(d=e);d<=e&&(d=e,void 0===q&&(q=k(d,a.count)),this.newMax=Math.min(d+q,this.dataMax));B(h)||(d=void 0);return d};a.RangeSelector||(h(u,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
134
- (this.rangeSelector=new p(this))}),h(u,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(B(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),h(u,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,
135
- d=this.extraTopMargin;b&&b.enabled&&!G(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new p(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)}),h(u,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
136
- "bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),h(u,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),u.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();B(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,e,f;d&&(f=h(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),e=h(a,"redraw",b),b());h(a,"destroy",function(){d&&
137
- (e(),f())})}),a.RangeSelector=p)});H(v,"parts/Navigator.js",[v["parts/Globals.js"]],function(a){function p(a){this.init(a)}var h=a.addEvent,v=a.Axis,u=a.Chart,A=a.color,C=a.defaultOptions,w=a.defined,G=a.destroyObjectProperties,k=a.erase,m=a.extend,r=a.hasTouch,E=a.isArray,B=a.isNumber,d=a.isTouchDevice,b=a.merge,c=a.pick,l=a.removeEvent,f=a.Scrollbar,g=a.Series,n,y=function(a){var b=[].filter.call(arguments,B);if(b.length)return Math[a].apply(0,b)};n=void 0===a.seriesTypes.areaspline?"line":"areaspline";
138
- m(C,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:A("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:n,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
10
+ (function(z){"object"===typeof module&&module.exports?(z["default"]=z,module.exports=z):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(I){z(I);z.Highcharts=I;return z}):z("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(z){function I(b,w,f,u){b.hasOwnProperty(w)||(b[w]=u.apply(null,f))}z=z?z._modules:{};I(z,"parts-gantt/CurrentDateIndicator.js",[z["parts/Globals.js"]],function(b){var w=b.addEvent,f=b.PlotLineOrBand,u=b.merge,r={currentDateIndicator:!0,
11
+ color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};w(b.Axis,"afterSetOptions",function(){var b=this.options,f=b.currentDateIndicator;f&&("object"===typeof f?(f.label&&f.label.format&&(f.label.formatter=void 0),f=u(r,f)):f=u(r),f.value=new Date,b.plotLines||(b.plotLines=[]),b.plotLines.push(f))});w(f,"render",function(){var f=this.options,u,m;f.currentDateIndicator&&f.label&&(u=f.label.format,m=f.label.formatter,f.value=new Date,f.label.text=
12
+ "function"===typeof m?m(this):b.dateFormat(u,new Date),this.label&&this.label.attr({text:f.label.text}))})});I(z,"parts-gantt/GridAxis.js",[z["parts/Globals.js"]],function(b){var w=b.addEvent,f=b.dateFormat,u=b.defined,r=b.isArray,x=b.isNumber,A=function(c){return b.isObject(c,!0)},m=b.merge,H=b.pick,B=b.wrap,p=b.Chart,l=b.Axis,D=b.Tick,C=function(c){var a=c.options,d=a&&A(a.grid)?a.grid:{},e=25/11,k=c.chart.renderer.fontMetrics(a.labels.style.fontSize);a.labels||(a.labels={});a.labels.align=H(a.labels.align,
13
+ "center");c.categories||(a.showLastLabel=!1);c.horiz&&(a.tickLength=d.cellHeight||k.h*e);c.labelRotation=0;a.labels.rotation=0},h={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};l.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};l.prototype.isOuterAxis=function(){var c=this,a=-1,d=!0;c.chart.axes.forEach(function(e,k){e.side!==c.side||e.isNavigatorAxis()||(e===c?a=k:0<=a&&k>a&&(d=!1))});d&&x(c.columnIndex)&&(d=(c.linkedParent&&
14
+ c.linkedParent.columns||c.columns).length===c.columnIndex);return d};l.prototype.getMaxLabelDimensions=function(c,a){var d={width:0,height:0};a.forEach(function(a){a=c[a];var e;A(a)&&(e=A(a.label)?a.label:{},a=e.getBBox?e.getBBox().height:0,e.textStr&&!x(e.textPxLength)&&(e.textPxLength=e.getBBox().width),e=x(e.textPxLength)?e.textPxLength:0,d.height=Math.max(a,d.height),d.width=Math.max(e,d.width))});return d};b.dateFormats.W=function(c){c=new Date(c);var a;c.setHours(0,0,0,0);c.setDate(c.getDate()-
15
+ (c.getDay()||7));a=new Date(c.getFullYear(),0,1);return Math.ceil(((c-a)/864E5+1)/7)};b.dateFormats.E=function(c){return f("%a",c,!0).charAt(0)};w(D,"afterGetLabelPosition",function(c){var a=this.label,d=this.axis,e=d.reversed,k=d.chart,b=d.options,g=b&&A(b.grid)?b.grid:{},b=d.options.labels,n=b.align,q=h[d.side],y=c.tickmarkOffset,E=d.tickPositions,v=this.pos-y,E=x(E[c.index+1])?E[c.index+1]-y:d.max+y,J=d.tickSize("tick",!0),y=r(J)?J[0]:0,J=J&&J[1]/2,F;!0===g.enabled&&("top"===q?(g=d.top+d.offset,
16
+ F=g-y):"bottom"===q?(F=k.chartHeight-d.bottom+d.offset,g=F+y):(g=d.top+d.len-d.translate(e?E:v),F=d.top+d.len-d.translate(e?v:E)),"right"===q?(q=k.chartWidth-d.right+d.offset,e=q+y):"left"===q?(e=d.left+d.offset,q=e-y):(q=Math.round(d.left+d.translate(e?E:v))-J,e=Math.round(d.left+d.translate(e?v:E))-J),this.slotWidth=e-q,c.pos.x="left"===n?q:"right"===n?e:q+(e-q)/2,c.pos.y=F+(g-F)/2,k=k.renderer.fontMetrics(b.style.fontSize,a.element),a=a.getBBox().height,b.useHTML?c.pos.y+=k.b+-(a/2):(a=Math.round(a/
17
+ k.h),c.pos.y+=(k.b-(k.h-k.f))/2+-((a-1)*k.h/2)),c.pos.x+=d.horiz&&b.x||0)});w(l,"afterTickSize",function(c){var a=this.maxLabelDimensions,d=this.options;!0===(d&&A(d.grid)?d.grid:{}).enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),a=d+(this.horiz?a.height:a.width),r(c.tickSize)?c.tickSize[0]=a:c.tickSize=[a])});w(l,"afterGetTitlePosition",function(c){var a=this.options;if(!0===(a&&A(a.grid)?a.grid:{}).enabled){var d=this.axisTitle,e=d&&d.getBBox().width,k=this.horiz,b=this.left,g=this.top,
18
+ n=this.width,q=this.height,y=a.title,a=this.opposite,E=this.offset,v=this.tickSize()||[0],J=y.x||0,F=y.y||0,l=H(y.margin,k?5:10),d=this.chart.renderer.fontMetrics(y.style&&y.style.fontSize,d).f,v=(k?g+q:b)+v[0]/2*(a?-1:1)*(k?1:-1)+(this.side===h.bottom?d:0);c.titlePosition.x=k?b-e/2-l+J:v+(a?n:0)+E+J;c.titlePosition.y=k?v-(a?q:0)+(a?d:-d)/2+E+F:g-l+F}});B(l.prototype,"unsquish",function(c){var a=this.options;return!0===(a&&A(a.grid)?a.grid:{}).enabled&&this.categories?this.tickInterval:c.apply(this,
19
+ Array.prototype.slice.call(arguments,1))});w(l,"afterSetOptions",function(c){var a=this.options;c=c.userOptions;var d,e=a&&A(a.grid)?a.grid:{};!0===e.enabled&&(d=m(!0,{className:"highcharts-grid-axis "+(c.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",
20
+ [1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},c),"xAxis"===this.coll&&(u(c.linkedTo)&&!u(c.tickPixelInterval)&&(d.tickPixelInterval=350),u(c.tickPixelInterval)||!u(c.linkedTo)||u(c.tickPositioner)||u(c.tickInterval)||(d.tickPositioner=function(a,c){var g=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(g){var e,k,t,h,v=d.units;for(h=0;h<v.length;h++)if(v[h][0]===g.unitName){e=h;break}if(v[e][1])return v[e+
21
+ 1]&&(t=v[e+1][0],k=(v[e+1][1]||[1])[0]),g=b.timeUnits[t],this.tickInterval=g*k,this.getTimeTicks({unitRange:g,count:k,unitName:t},a,c,this.options.startOfWeek)}})),m(!0,this.options,d),this.horiz&&(a.minPadding=H(c.minPadding,0),a.maxPadding=H(c.maxPadding,0)),x(a.grid.borderWidth)&&(a.tickWidth=a.lineWidth=e.borderWidth))});w(l,"afterSetAxisTranslation",function(){var a=this.options,t=a&&A(a.grid)?a.grid:{},d=this.tickPositions&&this.tickPositions.info,e=this.userOptions.labels||{};this.horiz&&(!0===
22
+ t.enabled&&this.series.forEach(function(a){a.options.pointRange=0}),d&&(!1===a.dateTimeLabelFormats[d.unitName].range||1<d.count)&&!u(e.align)&&(a.labels.align="left",u(e.x)||(a.labels.x=3)))});w(l,"trimTicks",function(){var a=this.options,t=a&&A(a.grid)?a.grid:{},d=this.categories,e=this.tickPositions,k=e[0],h=e[e.length-1],g=this.linkedParent&&this.linkedParent.min||this.min,n=this.linkedParent&&this.linkedParent.max||this.max,q=this.tickInterval;!0!==t.enabled||d||!this.horiz&&!this.isLinked||
23
+ (k<g&&k+q>g&&!a.startOnTick&&(e[0]=g),h>n&&h-q<n&&!a.endOnTick&&(e[e.length-1]=n))});w(l,"afterRender",function(){var a=this.options,t=a&&A(a.grid)?a.grid:{},d,e,k,b,g,n,q=this.chart.renderer,y=this.horiz;if(!0===t.enabled){t=2*Math.abs(this.defaultLeftAxisOptions.labels.x);this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions);t=this.maxLabelDimensions.width+t;d=a.lineWidth;this.rightWall&&this.rightWall.destroy();e=this.axisGroup.getBBox();if(this.isOuterAxis()&&this.axisLine&&
24
+ (y&&(t=e.height-1),d)){e=this.getLinePath(d);g=e.indexOf("M")+1;n=e.indexOf("L")+1;k=e.indexOf("M")+2;b=e.indexOf("L")+2;if(this.side===h.top||this.side===h.left)t=-t;y?(e[k]+=t,e[b]+=t):(e[g]+=t,e[n]+=t);this.axisLineExtra?this.axisLineExtra.animate({d:e}):this.axisLineExtra=q.path(e).attr({stroke:a.lineColor,"stroke-width":d,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}(this.columns||[]).forEach(function(a){a.render()})}});var a=
25
+ {afterGetOffset:function(){(this.columns||[]).forEach(function(a){a.getOffset()})},afterInit:function(){var a=this.chart,t=this.userOptions,d=this.options,d=d&&A(d.grid)?d.grid:{};d.enabled&&(C(this),B(this,"labelFormatter",function(a){var c=this.axis,g=c.tickPositions,d=this.value,e=(c.isLinked?c.linkedParent:c).series[0],k=d===g[0],g=d===g[g.length-1],e=e&&b.find(e.options.data,function(a){return a[c.isXAxis?"x":"y"]===d});this.isFirst=k;this.isLast=g;this.point=e;return a.call(this)}));if(d.columns)for(var e=
26
+ this.columns=[],k=this.columnIndex=0;++k<d.columns.length;){var h=m(t,d.columns[d.columns.length-k-1],{linkedTo:0,type:"category"});delete h.grid.columns;h=new l(this.chart,h,!0);h.isColumn=!0;h.columnIndex=k;b.erase(a.axes,h);b.erase(a[this.coll],h);e.push(h)}},afterSetOptions:function(a){a=(a=a.userOptions)&&A(a.grid)?a.grid:{};var c=a.columns;a.enabled&&c&&m(!0,this.options,c[c.length-1])},afterSetScale:function(){(this.columns||[]).forEach(function(a){a.setScale()})},destroy:function(a){(this.columns||
27
+ []).forEach(function(c){c.destroy(a.keepEvents)})},init:function(a){var c=(a=a.userOptions)&&A(a.grid)?a.grid:{};c.enabled&&u(c.borderColor)&&(a.tickColor=a.lineColor=c.borderColor)}};Object.keys(a).forEach(function(c){w(l,c,a[c])});w(p,"afterSetChartSize",function(){this.axes.forEach(function(a){(a.columns||[]).forEach(function(a){a.setAxisSize();a.setAxisTranslation()})})})});I(z,"modules/static-scale.src.js",[z["parts/Globals.js"]],function(b){var w=b.Chart,f=b.pick;b.addEvent(b.Axis,"afterSetOptions",
28
+ function(){var f=this.chart.options&&this.chart.options.chart;!this.horiz&&b.isNumber(this.options.staticScale)&&(!f.height||f.scrollablePlotArea&&f.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});w.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(u){var r=u.chart,w=!!r.initiatedScale&&r.options.animation,A=u.options.staticScale,m;u.staticScale&&b.defined(u.min)&&(m=f(u.unitLength,u.max+u.tickInterval-u.min)*A,m=
29
+ Math.max(m,A),A=m-r.plotHeight,1<=Math.abs(A)&&(r.plotHeight=m,r.redrawTrigger="adjustHeight",r.setSize(void 0,r.chartHeight+A,w)),u.series.forEach(function(b){(b=b.sharedClipKey&&r[b.sharedClipKey])&&b.attr({height:r.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};b.addEvent(w,"render",w.prototype.adjustHeight)});I(z,"parts-gantt/Tree.js",[z["parts/Globals.js"]],function(b){var w=b.extend,f=b.isNumber,u=b.pick,r=function(b,m){var f=b.reduce(function(b,p){var l=u(p.parent,"");void 0===
30
+ b[l]&&(b[l]=[]);b[l].push(p);return b},{});Object.keys(f).forEach(function(b,p){var l=f[b];""!==b&&-1===m.indexOf(b)&&(l.forEach(function(b){p[""].push(b)}),delete p[b])});return f},x=function(b,m,r,B,p,l){var D=0,C=0,h=l&&l.after,a=l&&l.before;m={data:B,depth:r-1,id:b,level:r,parent:m};var c,t;"function"===typeof a&&a(m,l);a=(p[b]||[]).map(function(a){var d=x(a.id,b,r+1,a,p,l),k=a.start;a=!0===a.milestone?k:a.end;c=!f(c)||k<c?k:c;t=!f(t)||a>t?a:t;D=D+1+d.descendants;C=Math.max(d.height+1,C);return d});
31
+ B&&(B.start=u(B.start,c),B.end=u(B.end,t));w(m,{children:a,descendants:D,height:C});"function"===typeof h&&h(m,l);return m};return{getListOfParents:r,getNode:x,getTree:function(b,m){var f=b.map(function(b){return b.id});b=r(b,f);return x("",null,1,null,b,m)}}});I(z,"mixins/tree-series.js",[z["parts/Globals.js"]],function(b){var w=b.extend,f=b.isArray,u=b.isObject,r=b.isNumber,x=b.merge,A=b.pick;return{getColor:function(m,f){var B=f.index,p=f.mapOptionsToLevel,l=f.parentColor,D=f.parentColorIndex,
32
+ C=f.series,h=f.colors,a=f.siblings,c=C.points,t=C.chart.options.chart,d,e,k,G;if(m){c=c[m.i];m=p[m.level]||{};if(p=c&&m.colorByPoint)e=c.index%(h?h.length:t.colorCount),d=h&&h[e];if(!C.chart.styledMode){h=c&&c.options.color;t=m&&m.color;if(k=l)k=(k=m&&m.colorVariation)&&"brightness"===k.key?b.color(l).brighten(B/a*k.to).get():l;k=A(h,t,d,k,C.color)}G=A(c&&c.options.colorIndex,m&&m.colorIndex,e,D,f.colorIndex)}return{color:k,colorIndex:G}},getLevelOptions:function(b){var m=null,B,p,l,D;if(u(b))for(m=
33
+ {},l=r(b.from)?b.from:1,D=b.levels,p={},B=u(b.defaults)?b.defaults:{},f(D)&&(p=D.reduce(function(b,h){var a,c;u(h)&&r(h.level)&&(c=x({},h),a="boolean"===typeof c.levelIsConstant?c.levelIsConstant:B.levelIsConstant,delete c.levelIsConstant,delete c.level,h=h.level+(a?0:l-1),u(b[h])?w(b[h],c):b[h]=c);return b},{})),D=r(b.to)?b.to:1,b=0;b<=D;b++)m[b]=x({},B,u(p[b])?p[b]:{});return m},setTreeValues:function H(b,p){var l=p.before,f=p.idRoot,B=p.mapIdToNode[f],h=p.points[b.i],a=h&&h.options||{},c=0,t=[];
34
+ w(b,{levelDynamic:b.level-(("boolean"===typeof p.levelIsConstant?p.levelIsConstant:1)?0:B.level),name:A(h&&h.name,""),visible:f===b.id||("boolean"===typeof p.visible?p.visible:!1)});"function"===typeof l&&(b=l(b,p));b.children.forEach(function(a,e){var d=w({},p);w(d,{index:e,siblings:b.children.length,visible:b.visible});a=H(a,d);t.push(a);a.visible&&(c+=a.val)});b.visible=0<c||b.visible;l=A(a.value,c);w(b,{children:t,childrenTotal:c,isLeaf:b.visible&&!c,val:l});return b},updateRootId:function(b){var f;
35
+ u(b)&&(f=u(b.options)?b.options:{},f=A(b.rootNode,f.rootId,""),u(b.userOptions)&&(b.userOptions.rootId=f),b.rootNode=f);return f}}});I(z,"modules/broken-axis.src.js",[z["parts/Globals.js"]],function(b){var w=b.addEvent,f=b.pick,u=b.extend,r=b.isArray,x=b.find,A=b.fireEvent,m=b.Axis,H=b.Series,B=function(b,l){return x(l,function(l){return l.from<b&&b<l.to})};u(m.prototype,{isInBreak:function(b,l){var f=b.repeat||Infinity,p=b.from,h=b.to-b.from;l=l>=p?(l-p)%f:f-(p-l)%f;return b.inclusive?l<=h:l<h&&
36
+ 0!==l},isInAnyBreak:function(b,l){var p=this.options.breaks,m=p&&p.length,h,a,c;if(m){for(;m--;)this.isInBreak(p[m],b)&&(h=!0,a||(a=f(p[m].showPoints,!this.isXAxis)));c=h&&l?h&&!a:h}return c}});w(m,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});w(m,"afterSetTickPositions",function(){if(this.isBroken){var b=this.tickPositions,l=this.tickPositions.info,f=[],m;for(m=0;m<b.length;m++)this.isInAnyBreak(b[m])||f.push(b[m]);this.tickPositions=f;this.tickPositions.info=
37
+ l}});w(m,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});m.prototype.setBreaks=function(b,l){function p(a){var c=a,d,e;for(e=0;e<h.breakArray.length;e++)if(d=h.breakArray[e],d.to<=a)c-=d.len;else if(d.from>=a)break;else if(h.isInBreak(d,a)){c-=a-d.from;break}return c}function C(a){var c,d;for(d=0;d<h.breakArray.length&&!(c=h.breakArray[d],c.from>=a);d++)c.to<a?a+=c.len:h.isInBreak(c,a)&&(a+=c.len);return a}var h=this,a=r(b)&&!!b.length;h.isDirty=h.isBroken!==a;h.isBroken=a;
38
+ h.options.breaks=h.userOptions.breaks=b;h.forceRedraw=!0;a||h.val2lin!==p||(delete h.val2lin,delete h.lin2val);a&&(h.userOptions.ordinal=!1,h.val2lin=p,h.lin2val=C,h.setExtremes=function(a,b,d,e,k){if(this.isBroken){for(var c,g=this.options.breaks;c=B(a,g);)a=c.to;for(;c=B(b,g);)b=c.from;b<a&&(b=a)}m.prototype.setExtremes.call(this,a,b,d,e,k)},h.setAxisTranslation=function(a){m.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=h.options.breaks;var c=[],d=[],e=0,b,
39
+ G,g=h.userMin||h.min,n=h.userMax||h.max,q=f(h.pointRangePadding,0),y,E;a.forEach(function(a){G=a.repeat||Infinity;h.isInBreak(a,g)&&(g+=a.to%G-g%G);h.isInBreak(a,n)&&(n-=n%G-a.from%G)});a.forEach(function(a){y=a.from;for(G=a.repeat||Infinity;y-G>g;)y-=G;for(;y<g;)y+=G;for(E=y;E<n;E+=G)c.push({value:E,move:"in"}),c.push({value:E+(a.to-a.from),move:"out",size:a.breakSize})});c.sort(function(a,g){return a.value===g.value?("in"===a.move?0:1)-("in"===g.move?0:1):a.value-g.value});b=0;y=g;c.forEach(function(a){b+=
40
+ "in"===a.move?1:-1;1===b&&"in"===a.move&&(y=a.value);0===b&&(d.push({from:y,to:a.value,len:a.value-y-(a.size||0)}),e+=a.value-y-(a.size||0))});h.breakArray=d;h.unitLength=n-g-e+q;A(h,"afterBreaks");h.staticScale?h.transA=h.staticScale:h.unitLength&&(h.transA*=(n-h.min+q)/h.unitLength);q&&(h.minPixelPadding=h.transA*h.minPointOffset);h.min=g;h.max=n}});f(l,!0)&&this.chart.redraw()};w(H,"afterGeneratePoints",function(){var b=this.xAxis,l=this.yAxis,f=this.points,m,h=f.length,a=this.options.connectNulls,
41
+ c;if(b&&l&&(b.options.breaks||l.options.breaks))for(;h--;)m=f[h],c=null===m.y&&!1===a,c||!b.isInAnyBreak(m.x,!0)&&!l.isInAnyBreak(m.y,!0)||(f.splice(h,1),this.data[h]&&this.data[h].destroyElements())});w(H,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,f(this.pointArrayMap,["y"]))});b.Series.prototype.drawBreaks=function(b,l){var m=this,p=m.points,h,a,c,t;b&&l.forEach(function(d){h=b.breakArray||[];a=b.isXAxis?b.min:f(m.options.threshold,b.min);p.forEach(function(e){t=
42
+ f(e["stack"+d.toUpperCase()],e[d]);h.forEach(function(d){c=!1;if(a<d.from&&t>d.to||a>d.from&&t<d.from)c="pointBreak";else if(a<d.from&&t>d.from&&t<d.to||a>d.from&&t>d.to&&t<d.from)c="pointInBreak";c&&A(b,c,{point:e,brk:d})})})})};b.Series.prototype.gappedPath=function(){var f=this.currentDataGrouping,l=f&&f.gapSize,f=this.options.gapSize,m=this.points.slice(),B=m.length-1,h=this.yAxis;if(f&&0<B)for("value"!==this.options.gapUnit&&(f*=this.closestPointRange),l&&l>f&&(f=l);B--;)m[B+1].x-m[B].x>f&&(l=
43
+ (m[B].x+m[B+1].x)/2,m.splice(B+1,0,{isNull:!0,x:l}),this.options.stacking&&(l=h.stacks[this.stackKey][l]=new b.StackItem(h,h.options.stackLabels,!1,l,this.stack),l.total=0));return this.getGraphPath(m)}});I(z,"parts-gantt/TreeGrid.js",[z["parts/Globals.js"],z["parts-gantt/Tree.js"],z["mixins/tree-series.js"]],function(b,w,f){var u=b.addEvent,r=function(a){return Array.prototype.slice.call(a,1)},x=b.defined,A=b.extend,m=b.find,H=b.fireEvent,B=f.getLevelOptions,p=b.merge,l=b.isNumber,D=function(a){return b.isObject(a,
44
+ !0)},C=b.isString,h=b.pick,a=b.wrap;f=b.Axis;var c=b.Tick,t=function(g,c){var d,b;for(d in c)c.hasOwnProperty(d)&&(b=c[d],a(g,d,b))},d=function(a,g){var c=a.collapseStart;a=a.collapseEnd;a>=g&&(c-=.5);return{from:c,to:a,showPoints:!1}},e=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(g,c){c=+c;a.min<=c&&a.max>=c&&!a.isInAnyBreak(c)&&g.push(c);return g},[])},k=function(a,c){var g=a.options.breaks||[],b=d(c,a.max);return g.some(function(a){return a.from===b.from&&a.to===b.to})},
45
+ G=function(a,c){var g=a.options.breaks||[];a=d(c,a.max);g.push(a);return g},g=function(a,c){var g=a.options.breaks||[],b=d(c,a.max);return g.reduce(function(a,c){c.to===b.to&&c.from===b.from||a.push(c);return a},[])},n=function(a,c){var g=a.labelIcon,d=!g,e=c.renderer,n=c.xy,k=c.options,q=k.width,v=k.height,t=n.x-q/2-k.padding,n=n.y-v/2,E=c.collapsed?90:180,y=c.show&&b.isNumber(n);d&&(a.labelIcon=g=e.path(e.symbols[k.type](k.x,k.y,q,v)).addClass("highcharts-label-icon").add(c.group));y||g.attr({y:-9999});
46
+ e.styledMode||g.attr({"stroke-width":1,fill:h(c.color,"#666666")}).css({cursor:"pointer",stroke:k.lineColor,strokeWidth:k.lineWidth});g[d?"attr":"animate"]({translateX:t,translateY:n,rotation:E})},q=function(a,c,g){var d=[],b=[],e={},n={},k=-1,h="boolean"===typeof c?c:!1;a=w.getTree(a,{after:function(a){a=n[a.pos];var c=0,g=0;a.children.forEach(function(a){g+=a.descendants+1;c=Math.max(a.height+1,c)});a.descendants=g;a.height=c;a.collapsed&&b.push(a)},before:function(a){var c=D(a.data)?a.data:{},
47
+ g=C(c.name)?c.name:"",b=e[a.parent],b=D(b)?n[b.pos]:null,q=function(a){return a.name===g},v;h&&D(b)&&(v=m(b.children,q))?(q=v.pos,v.nodes.push(a)):q=k++;n[q]||(n[q]=v={depth:b?b.depth+1:0,name:g,nodes:[a],children:[],pos:q},-1!==q&&d.push(g),D(b)&&b.children.push(v));C(a.id)&&(e[a.id]=a);!0===c.collapsed&&(v.collapsed=!0);a.pos=q}});n=function(a,c){var g=function(a,d,b){var e=d+(-1===d?0:c-1),n=(e-d)/2,k=d+n;a.nodes.forEach(function(a){var c=a.data;D(c)&&(c.y=d+c.seriesIndex,delete c.seriesIndex);
48
+ a.pos=k});b[k]=a;a.pos=k;a.tickmarkOffset=n+.5;a.collapseStart=e+.5;a.children.forEach(function(a){g(a,e+1,b);e=a.collapseEnd-.5});a.collapseEnd=e+.5;return b};return g(a["-1"],-1,{})}(n,g);return{categories:d,mapOfIdToNode:e,mapOfPosToGridNode:n,collapsedNodes:b,tree:a}},y=function(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(c){var g=c.options||{},d=g.labels,e,n=g.uniqueNames,k=0,h;c.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty})&&
49
+ (g=c.series.reduce(function(a,c){c.visible&&(c.options.data.forEach(function(c){D(c)&&(c.seriesIndex=k,a.push(c))}),!0===n&&k++);return a},[]),h=q(g,n,!0===n?k:1),c.categories=h.categories,c.mapOfPosToGridNode=h.mapOfPosToGridNode,c.hasNames=!0,c.tree=h.tree,c.series.forEach(function(a){var c=a.options.data.map(function(a){return D(a)?p(a):a});a.visible&&a.setData(c,!1)}),c.mapOptionsToLevel=B({defaults:d,from:1,levels:d.levels,to:c.tree.height}),"beforeRender"===a.type&&(e=b.addEvent(c,"foundExtremes",
50
+ function(){h.collapsedNodes.forEach(function(a){a=G(c,a);c.setBreaks(a,!1)});e()})))})};t(f.prototype,{init:function(a,c,g){var d="treegrid"===g.type;d&&(u(c,"beforeRender",y),u(c,"beforeRedraw",y),g=p({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},g,{reversed:!0,grid:{columns:void 0}}));a.apply(this,[c,g]);d&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var c=
51
+ this.options,g=c&&c.labels,c=g&&l(g.indentation)?c.labels.indentation:0,g=a.apply(this,r(arguments)),d;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(d=this.mapOfPosToGridNode[-1].height,g.width+=c*(d-1));return g},generateTick:function(a,g){var d=D(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},b=this.ticks,e=b[g],n,k;"treegrid"===this.options.type?(k=this.mapOfPosToGridNode[g],(d=d[k.depth])&&(n={labels:d}),e?(e.parameters.category=k.name,e.options=n,e.addLabel()):b[g]=new c(this,
52
+ g,null,void 0,{category:k.name,tickmarkOffset:k.tickmarkOffset,options:n})):a.apply(this,r(arguments))},setTickInterval:function(a){var c=this.options;"treegrid"===c.type?(this.min=h(this.userMin,c.min,this.dataMin),this.max=h(this.userMax,c.max,this.dataMax),H(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.mapOfPosToGridNode?e(this):[]):a.apply(this,r(arguments))}});t(c.prototype,{getLabelPosition:function(a,c,g,d,b,e,n,k,q){var t=
53
+ h(this.options&&this.options.labels,e);e=this.pos;var v=this.axis,y="treegrid"===v.options.type;a=a.apply(this,[c,g,d,b,t,n,k,q]);y&&(c=t&&D(t.symbol)?t.symbol:{},t=t&&l(t.indentation)?t.indentation:0,e=(e=(v=v.mapOfPosToGridNode)&&v[e])&&e.depth||1,a.x+=c.width+2*c.padding+(e-1)*t);return a},renderLabel:function(a){var c=this,g=c.pos,d=c.axis,e=c.label,q=d.mapOfPosToGridNode,t=d.options,y=h(c.options&&c.options.labels,t&&t.labels),E=y&&D(y.symbol)?y.symbol:{},G=(q=q&&q[g])&&q.depth,t="treegrid"===
54
+ t.type,f=!(!e||!e.element),l=-1<d.tickPositions.indexOf(g),g=d.chart.styledMode;t&&q&&f&&e.addClass("highcharts-treegrid-node-level-"+G);a.apply(c,r(arguments));t&&q&&f&&0<q.descendants&&(d=k(d,q),n(c,{color:!g&&e.styles.color,collapsed:d,group:e.parentGroup,options:E,renderer:e.renderer,show:l,xy:e.xy}),E="highcharts-treegrid-node-"+(d?"expanded":"collapsed"),e.addClass("highcharts-treegrid-node-"+(d?"collapsed":"expanded")).removeClass(E),g||e.css({cursor:"pointer"}),[e,c.labelIcon].forEach(function(a){a.attachedTreeGridEvents||
55
+ (b.addEvent(a.element,"mouseover",function(){var a=e;a.addClass("highcharts-treegrid-node-active");a.renderer.styledMode||a.css({textDecoration:"underline"})}),b.addEvent(a.element,"mouseout",function(){var a=e,c=y,c=x(c.style)?c.style:{};a.removeClass("highcharts-treegrid-node-active");a.renderer.styledMode||a.css({textDecoration:c.textDecoration})}),b.addEvent(a.element,"click",function(){c.toggleCollapse()}),a.attachedTreeGridEvents=!0)}))}});A(c.prototype,{collapse:function(a){var c=this.axis,
56
+ g=G(c,c.mapOfPosToGridNode[this.pos]);c.setBreaks(g,h(a,!0))},expand:function(a){var c=this.axis,d=g(c,c.mapOfPosToGridNode[this.pos]);c.setBreaks(d,h(a,!0))},toggleCollapse:function(a){var c=this.axis,d;d=c.mapOfPosToGridNode[this.pos];d=k(c,d)?g(c,d):G(c,d);c.setBreaks(d,h(a,!0))}});f.prototype.utils={getNode:w.getNode}});I(z,"parts-gantt/PathfinderAlgorithms.js",[z["parts/Globals.js"]],function(b){function w(b,f,l){l=l||0;var m=b.length-1;f-=1e-7;for(var p,h;l<=m;)if(p=m+l>>1,h=f-b[p].xMin,0<h)l=
57
+ p+1;else if(0>h)m=p-1;else return p;return 0<l?l-1:0}function f(b,f){for(var l=w(b,f.x+1)+1;l--;){var m;if(m=b[l].xMax>=f.x)m=b[l],m=f.x<=m.xMax&&f.x>=m.xMin&&f.y<=m.yMax&&f.y>=m.yMin;if(m)return l}return-1}function u(b){var f=[];if(b.length){f.push("M",b[0].start.x,b[0].start.y);for(var m=0;m<b.length;++m)f.push("L",b[m].end.x,b[m].end.y)}return f}function r(b,f){b.yMin=A(b.yMin,f.yMin);b.yMax=x(b.yMax,f.yMax);b.xMin=A(b.xMin,f.xMin);b.xMax=x(b.xMax,f.xMax)}var x=Math.min,A=Math.max,m=Math.abs,H=
58
+ b.pick;return{straight:function(b,f){return{path:["M",b.x,b.y,"L",f.x,f.y],obstacles:[{start:b,end:f}]}},simpleConnect:b.extend(function(b,p,l){function r(a,c,g,d,b){a={x:a.x,y:a.y};a[c]=g[d||c]+(b||0);return a}function w(a,c,g){var d=m(c[g]-a[g+"Min"])>m(c[g]-a[g+"Max"]);return r(c,g,a,g+(d?"Max":"Min"),d?1:-1)}var h=[],a,c=H(l.startDirectionX,m(p.x-b.x)>m(p.y-b.y))?"x":"y",t=l.chartObstacles,d=f(t,b);l=f(t,p);var e;-1<l?(a=t[l],l=w(a,p,c),a={start:l,end:p},e=l):e=p;-1<d&&(t=t[d],l=w(t,b,c),h.push({start:b,
59
+ end:l}),l[c]>=b[c]===l[c]>=e[c]&&(c="y"===c?"x":"y",p=b[c]<p[c],h.push({start:l,end:r(l,c,t,c+(p?"Max":"Min"),p?1:-1)}),c="y"===c?"x":"y"));b=h.length?h[h.length-1].end:b;l=r(b,c,e);h.push({start:b,end:l});c=r(l,"y"===c?"x":"y",e);h.push({start:l,end:c});h.push(a);return{path:u(h),obstacles:h}},{requiresObstacles:!0}),fastAvoid:b.extend(function(b,p,l){function B(a,c,g){var d,b,e,n,k,q=a.x<c.x?1:-1;a.x<c.x?(d=a,b=c):(d=c,b=a);a.y<c.y?(n=a,e=c):(n=c,e=a);for(k=0>q?x(w(v,b.x),v.length-1):0;v[k]&&(0<
60
+ q&&v[k].xMin<=b.x||0>q&&v[k].xMax>=d.x);){if(v[k].xMin<=b.x&&v[k].xMax>=d.x&&v[k].yMin<=e.y&&v[k].yMax>=n.y)return g?{y:a.y,x:a.x<c.x?v[k].xMin-1:v[k].xMax+1,obstacle:v[k]}:{x:a.x,y:a.y<c.y?v[k].yMin-1:v[k].yMax+1,obstacle:v[k]};k+=q}return c}function C(a,c,g,d,b){var e=b.soft,n=b.hard,k=d?"x":"y",q={x:c.x,y:c.y},h={x:c.x,y:c.y};b=a[k+"Max"]>=e[k+"Max"];var e=a[k+"Min"]<=e[k+"Min"],t=a[k+"Max"]>=n[k+"Max"],n=a[k+"Min"]<=n[k+"Min"],y=m(a[k+"Min"]-c[k]),f=m(a[k+"Max"]-c[k]);g=10>m(y-f)?c[k]<g[k]:f<
61
+ y;h[k]=a[k+"Min"];q[k]=a[k+"Max"];a=B(c,h,d)[k]!==h[k];c=B(c,q,d)[k]!==q[k];g=a?c?g:!0:c?!1:g;g=e?b?g:!0:b?!1:g;return n?t?g:!0:t?!1:g}function h(a,c,g){if(a.x===c.x&&a.y===c.y)return[];var d=g?"x":"y",b,e,k,t,m=l.obstacleOptions.margin;b={soft:{xMin:n,xMax:q,yMin:y,yMax:E},hard:l.hardBounds};e=f(v,a);-1<e?(e=v[e],b=C(e,a,c,g,b),r(e,l.hardBounds),t=g?{y:a.y,x:e[b?"xMax":"xMin"]+(b?1:-1)}:{x:a.x,y:e[b?"yMax":"yMin"]+(b?1:-1)},k=f(v,t),-1<k&&(k=v[k],r(k,l.hardBounds),t[d]=b?A(e[d+"Max"]-m+1,(k[d+"Min"]+
62
+ e[d+"Max"])/2):x(e[d+"Min"]+m-1,(k[d+"Max"]+e[d+"Min"])/2),a.x===t.x&&a.y===t.y?(G&&(t[d]=b?A(e[d+"Max"],k[d+"Max"])+1:x(e[d+"Min"],k[d+"Min"])-1),G=!G):G=!1),a=[{start:a,end:t}]):(d=B(a,{x:g?c.x:a.x,y:g?a.y:c.y},g),a=[{start:a,end:{x:d.x,y:d.y}}],d[g?"x":"y"]!==c[g?"x":"y"]&&(b=C(d.obstacle,d,c,!g,b),r(d.obstacle,l.hardBounds),b={x:g?d.x:d.obstacle[b?"xMax":"xMin"]+(b?1:-1),y:g?d.obstacle[b?"yMax":"yMin"]+(b?1:-1):d.y},g=!g,a=a.concat(h({x:d.x,y:d.y},b,g))));return a=a.concat(h(a[a.length-1].end,
63
+ c,!g))}function a(a,c,g){var d=x(a.xMax-c.x,c.x-a.xMin)<x(a.yMax-c.y,c.y-a.yMin);g=C(a,c,g,d,{soft:l.hardBounds,hard:l.hardBounds});return d?{y:c.y,x:a[g?"xMax":"xMin"]+(g?1:-1)}:{x:c.x,y:a[g?"yMax":"yMin"]+(g?1:-1)}}var c=H(l.startDirectionX,m(p.x-b.x)>m(p.y-b.y)),t=c?"x":"y",d,e,k=[],G=!1,g=l.obstacleMetrics,n=x(b.x,p.x)-g.maxWidth-10,q=A(b.x,p.x)+g.maxWidth+10,y=x(b.y,p.y)-g.maxHeight-10,E=A(b.y,p.y)+g.maxHeight+10,v=l.chartObstacles;d=w(v,n);g=w(v,q);v=v.slice(d,g+1);-1<(g=f(v,p))&&(e=a(v[g],
64
+ p,b),k.push({end:p,start:e}),p=e);for(;-1<(g=f(v,p));)d=0>p[t]-b[t],e={x:p.x,y:p.y},e[t]=v[g][d?t+"Max":t+"Min"]+(d?1:-1),k.push({end:p,start:e}),p=e;b=h(b,p,c);b=b.concat(k.reverse());return{path:u(b),obstacles:b}},{requiresObstacles:!0})}});I(z,"parts-gantt/ArrowSymbols.js",[z["parts/Globals.js"]],function(b){b.SVGRenderer.prototype.symbols.arrow=function(b,f,u,r){return["M",b,f+r/2,"L",b+u,f,"L",b,f+r/2,"L",b+u,f+r]};b.SVGRenderer.prototype.symbols["arrow-half"]=function(w,f,u,r){return b.SVGRenderer.prototype.symbols.arrow(w,
65
+ f,u/2,r)};b.SVGRenderer.prototype.symbols["triangle-left"]=function(b,f,u,r){return["M",b+u,f,"L",b,f+r/2,"L",b+u,f+r,"Z"]};b.SVGRenderer.prototype.symbols["arrow-filled"]=b.SVGRenderer.prototype.symbols["triangle-left"];b.SVGRenderer.prototype.symbols["triangle-left-half"]=function(w,f,u,r){return b.SVGRenderer.prototype.symbols["triangle-left"](w,f,u/2,r)};b.SVGRenderer.prototype.symbols["arrow-filled-half"]=b.SVGRenderer.prototype.symbols["triangle-left-half"]});I(z,"parts-gantt/Pathfinder.js",
66
+ [z["parts/Globals.js"],z["parts-gantt/PathfinderAlgorithms.js"]],function(b,w){function f(a){var c=a.shapeArgs;return c?{xMin:c.x,xMax:c.x+c.width,yMin:c.y,yMax:c.y+c.height}:(c=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-c.width/2,xMax:a.plotX+c.width/2,yMin:a.plotY-c.height/2,yMax:a.plotY+c.height/2}:null}function u(a){for(var c=a.length,b=0,d,e,k=[],f=function(a,c,d){d=D(d,10);var g=a.yMax+d>c.yMin-d&&a.yMin-d<c.yMax+d,b=a.xMax+d>c.xMin-d&&a.xMin-d<c.xMax+d,e=g?a.xMin>c.xMax?a.xMin-c.xMax:c.xMin-
67
+ a.xMax:Infinity,k=b?a.yMin>c.yMax?a.yMin-c.yMax:c.yMin-a.yMax:Infinity;return b&&g?d?f(a,c,Math.floor(d/2)):Infinity:h(e,k)};b<c;++b)for(d=b+1;d<c;++d)e=f(a[b],a[d]),80>e&&k.push(e);k.push(80);return C(Math.floor(k.sort(function(a,c){return a-c})[Math.floor(k.length/10)]/2-1),1)}function r(a,c,b){this.init(a,c,b)}function x(a){this.init(a)}function A(a){if(a.options.pathfinder||a.series.reduce(function(a,b){b.options&&l(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||
68
+ b.options&&b.options.pathfinder},!1))l(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),b.error('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}var m=b.defined,H=b.deg2rad,B=b.extend,p=b.addEvent,l=b.merge,D=b.pick,C=Math.max,h=Math.min;B(b.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});
69
+ r.prototype={init:function(a,c,b){this.fromPoint=a;this.toPoint=c;this.options=b;this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,c,b){var d=this.chart,e=d.styledMode,k=d.pathfinder,h=!d.options.chart.forExport&&!1!==b,g=this.graphics&&this.graphics.path;k.group||(k.group=d.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(d.seriesGroup));k.group.translate(d.plotLeft,d.plotTop);g&&g.renderer||(g=d.renderer.path().add(k.group),e||g.attr({opacity:0}));
70
+ g.attr(c);a={d:a};e||(a.opacity=1);g[h?"animate":"attr"](a,b);this.graphics=this.graphics||{};this.graphics.path=g},addMarker:function(a,c,b){var d=this.fromPoint.series.chart,e=d.pathfinder,d=d.renderer,k="start"===a?this.fromPoint:this.toPoint,h=k.getPathfinderAnchorPoint(c),g,n;c.enabled&&(b="start"===a?{x:b[4],y:b[5]}:{x:b[b.length-5],y:b[b.length-4]},b=k.getRadiansToVector(b,h),h=k.getMarkerVector(b,c.radius,h),b=-b/H,c.width&&c.height?(g=c.width,n=c.height):g=n=2*c.radius,this.graphics=this.graphics||
71
+ {},h={x:h.x-g/2,y:h.y-n/2,width:g,height:n,rotation:b,rotationOriginX:h.x,rotationOriginY:h.y},this.graphics[a]?this.graphics[a].animate(h):(this.graphics[a]=d.symbol(c.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(h).add(e.group),d.styledMode||this.graphics[a].attr({fill:c.color||this.fromPoint.color,stroke:c.lineColor,"stroke-width":c.lineWidth,opacity:0}).animate({opacity:1},k.series.options.animation)))},getPath:function(a){var c=this.pathfinder,h=this.chart,d=c.algorithms[a.type],
72
+ e=c.chartObstacles;if("function"!==typeof d)b.error('"'+a.type+'" is not a Pathfinder algorithm.');else return d.requiresObstacles&&!e&&(e=c.chartObstacles=c.getChartObstacles(a),h.options.connectors.algorithmMargin=a.algorithmMargin,c.chartObstacleMetrics=c.getObstacleMetrics(e)),d(this.fromPoint.getPathfinderAnchorPoint(a.startMarker),this.toPoint.getPathfinderAnchorPoint(a.endMarker),l({chartObstacles:e,lineObstacles:c.lineObstacles||[],obstacleMetrics:c.chartObstacleMetrics,hardBounds:{xMin:0,
73
+ xMax:h.plotWidth,yMin:0,yMax:h.plotHeight},obstacleOptions:{margin:a.algorithmMargin},startDirectionX:c.getAlgorithmStartDirection(a.startMarker)},a))},render:function(){var a=this.fromPoint,c=a.series,b=c.chart,d=b.pathfinder,e=l(b.options.connectors,c.options.connectors,a.options.connectors,this.options),k={};b.styledMode||(k.stroke=e.lineColor||a.color,k["stroke-width"]=e.lineWidth,e.dashStyle&&(k.dashstyle=e.dashStyle));k.class="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;
74
+ e=l(k,e);m(e.marker.radius)||(e.marker.radius=h(C(Math.ceil((e.algorithmMargin||8)/2)-1,1),5));a=this.getPath(e);b=a.path;a.obstacles&&(d.lineObstacles=d.lineObstacles||[],d.lineObstacles=d.lineObstacles.concat(a.obstacles));this.renderPath(b,k,c.options.animation);this.addMarker("start",l(e.marker,e.startMarker),b);this.addMarker("end",l(e.marker,e.endMarker),b)},destroy:function(){this.graphics&&(b.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};x.prototype={algorithms:w,
75
+ init:function(a){this.chart=a;this.connections=[];p(a,"redraw",function(){this.pathfinder.update()})},update:function(a){var c=this.chart,h=this,d=h.connections;h.connections=[];c.series.forEach(function(a){a.visible&&a.points.forEach(function(a){var d,g=a.options&&a.options.connect&&b.splat(a.options.connect);a.visible&&!1!==a.isInside&&g&&g.forEach(function(g){d=c.get("string"===typeof g?g:g.to);d instanceof b.Point&&d.series.visible&&d.visible&&!1!==d.isInside&&h.connections.push(new r(a,d,"string"===
76
+ typeof g?{}:g))})})});for(var e=0,k,f,g=d.length,n=h.connections.length;e<g;++e){f=!1;for(k=0;k<n;++k)if(d[e].fromPoint===h.connections[k].fromPoint&&d[e].toPoint===h.connections[k].toPoint){h.connections[k].graphics=d[e].graphics;f=!0;break}f||d[e].destroy()}delete this.chartObstacles;delete this.lineObstacles;h.renderConnections(a)},renderConnections:function(a){a?this.chart.series.forEach(function(a){var c=function(){var c=a.chart.pathfinder;(c&&c.connections||[]).forEach(function(c){c.fromPoint&&
77
+ c.fromPoint.series===a&&c.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?c():a.pathfinderRemoveRenderEvent=p(a,"afterAnimate",c)}):this.connections.forEach(function(a){a.render()})},getChartObstacles:function(a){for(var c=[],b=this.chart.series,d=D(a.algorithmMargin,0),e,k=0,h=b.length;k<h;++k)if(b[k].visible)for(var g=0,n=b[k].points.length,q;g<n;++g)q=b[k].points[g],q.visible&&(q=f(q))&&c.push({xMin:q.xMin-
78
+ d,xMax:q.xMax+d,yMin:q.yMin-d,yMax:q.yMax+d});c=c.sort(function(a,c){return a.xMin-c.xMin});m(a.algorithmMargin)||(e=a.algorithmMargin=u(c),c.forEach(function(a){a.xMin-=e;a.xMax+=e;a.yMin-=e;a.yMax+=e}));return c},getObstacleMetrics:function(a){for(var c=0,b=0,d,e,k=a.length;k--;)d=a[k].xMax-a[k].xMin,e=a[k].yMax-a[k].yMin,c<d&&(c=d),b<e&&(b=e);return{maxHeight:b,maxWidth:c}},getAlgorithmStartDirection:function(a){var c="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&
79
+ "right"!==a.align?c?void 0:!1:c?!0:void 0}};b.Connection=r;b.Pathfinder=x;B(b.Point.prototype,{getPathfinderAnchorPoint:function(a){var c=f(this),b,d;switch(a.align){case "right":b="xMax";break;case "left":b="xMin"}switch(a.verticalAlign){case "top":d="yMin";break;case "bottom":d="yMax"}return{x:b?c[b]:(c.xMin+c.xMax)/2,y:d?c[d]:(c.yMin+c.yMax)/2}},getRadiansToVector:function(a,c){m(c)||(c=f(this),c={x:(c.xMin+c.xMax)/2,y:(c.yMin+c.yMax)/2});return Math.atan2(c.y-a.y,a.x-c.x)},getMarkerVector:function(a,
80
+ c,b){for(var d=2*Math.PI,e=f(this),k=e.xMax-e.xMin,h=e.yMax-e.yMin,g=Math.atan2(h,k),n=!1,k=k/2,q=h/2,t=e.xMin+k,e=e.yMin+q,m=t,v=e,l={},F=1,p=1;a<-Math.PI;)a+=d;for(;a>Math.PI;)a-=d;d=Math.tan(a);a>-g&&a<=g?(p=-1,n=!0):a>g&&a<=Math.PI-g?p=-1:a>Math.PI-g||a<=-(Math.PI-g)?(F=-1,n=!0):F=-1;n?(m+=F*k,v+=p*k*d):(m+=h/(2*d)*F,v+=p*q);b.x!==t&&(m=b.x);b.y!==e&&(v=b.y);l.x=m+c*Math.cos(a);l.y=v-c*Math.sin(a);return l}});b.Chart.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(A(a),
81
+ this.pathfinder=new x(this),this.pathfinder.update(!0))})});I(z,"modules/xrange.src.js",[z["parts/Globals.js"]],function(b){var w=b.addEvent,f=b.defined,u=b.Color,r=b.seriesTypes.column,x=b.correctFloat,A=b.isNumber,m=b.isObject,H=b.merge,B=b.pick,p=b.seriesType,l=b.Axis,D=b.Point,C=b.Series;p("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var b=this.point.partialFill;m(b)&&(b=b.amount);if(A(b)&&0<b)return x(100*b)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',
82
+ pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:b.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:b.noop,buildKDTree:b.noop,getColumnMetrics:function(){function b(){c.series.forEach(function(a){var c=a.xAxis;a.xAxis=a.yAxis;a.yAxis=c})}var a,c=this.chart;b();a=r.prototype.getColumnMetrics.call(this);
83
+ b();return a},cropData:function(b,a,c,f){a=C.prototype.cropData.call(this,this.x2Data,a,c,f);a.xData=b.slice(a.start,a.end);return a},findPointIndex:function(h){var a=this.data,c=this.points,f=h.id,d,e;f&&(e=(d=b.find(a,function(a){return a.id===f}))?d.index:void 0);void 0===e&&(e=(d=b.find(a,function(a){return a.x===h.x&&a.x2===h.x2&&!(c[e]&&c[e].touched)}))?d.index:void 0);this.cropped&&e>=this.cropStart&&(e-=this.cropStart);return e},translatePoint:function(b){var a=this.xAxis,c=this.yAxis,h=this.columnMetrics,
84
+ d=this.options,e=d.minPointLength||0,k=b.plotX,l=B(b.x2,b.x+(b.len||0)),g=a.translate(l,0,0,0,1),l=Math.abs(g-k),n=this.chart.inverted,q=B(d.borderWidth,1)%2/2,y=h.offset,E=Math.round(h.width);e&&(e-=l,0>e&&(e=0),k-=e/2,g+=e/2);k=Math.max(k,-10);g=Math.min(Math.max(g,-10),a.len+10);f(b.options.pointWidth)&&(y-=(Math.ceil(b.options.pointWidth)-E)/2,E=Math.ceil(b.options.pointWidth));d.pointPlacement&&A(b.plotY)&&c.categories&&(b.plotY=c.translate(b.y,0,1,0,1,d.pointPlacement));b.shapeArgs={x:Math.floor(Math.min(k,
85
+ g))+q,y:Math.floor(b.plotY+y)+q,width:Math.round(Math.abs(g-k)),height:E,r:this.options.borderRadius};d=b.shapeArgs.x;e=d+b.shapeArgs.width;0>d||e>a.len?(d=Math.min(a.len,Math.max(0,d)),e=Math.max(0,Math.min(e,a.len)),g=e-d,b.dlBox=H(b.shapeArgs,{x:d,width:e-d,centerX:g?g/2:null})):b.dlBox=null;n?(b.tooltipPos[1]+=l/2*(a.reversed?1:-1),b.tooltipPos[0]+=h.width/2,b.tooltipPos[1]=Math.max(Math.min(b.tooltipPos[1],a.len-1),0),b.tooltipPos[0]=Math.max(Math.min(b.tooltipPos[0],c.len-1),0)):(b.tooltipPos[0]+=
86
+ l/2*(a.reversed?-1:1),b.tooltipPos[1]-=h.width/2,b.tooltipPos[0]=Math.max(Math.min(b.tooltipPos[0],a.len-1),0),b.tooltipPos[1]=Math.max(Math.min(b.tooltipPos[1],c.len-1),0));if(c=b.partialFill)m(c)&&(c=c.amount),A(c)||(c=0),a=b.shapeArgs,b.partShapeArgs={x:a.x,y:a.y,width:a.width,height:a.height,r:this.options.borderRadius},b.clipRectArgs={x:a.x,y:a.y,width:Math.max(Math.round(l*c+(b.plotX-k)),0),height:a.height}},translate:function(){r.prototype.translate.apply(this,arguments);this.points.forEach(function(b){this.translatePoint(b)},
87
+ this)},drawPoint:function(b,a){var c=this.options,h=this.chart.renderer,d=b.graphic,e=b.shapeType,k=b.shapeArgs,f=b.partShapeArgs,g=b.clipRectArgs,n=b.partialFill,q=c.stacking&&!c.borderRadius,y=b.state,l=c.states[y||"normal"]||{},v=void 0===y?"attr":a,y=this.pointAttribs(b,y),l=B(this.chart.options.chart.animation,l.animation);if(b.isNull)d&&(b.graphic=d.destroy());else{if(d)b.graphicOriginal[a](k);else b.graphic=d=h.g("point").addClass(b.getClassName()).add(b.group||this.group),b.graphicOriginal=
88
+ h[e](H(k)).addClass(b.getClassName()).addClass("highcharts-partfill-original").add(d);f&&(b.graphicOverlay?(b.graphicOverlay[a](H(f)),b.clipRect[a](H(g))):(b.clipRect=h.clipRect(g.x,g.y,g.width,g.height),b.graphicOverlay=h[e](f).addClass("highcharts-partfill-overlay").add(d).clip(b.clipRect)));this.chart.styledMode||(b.graphicOriginal[a](y,l).shadow(c.shadow,null,q),f&&(m(n)||(n={}),m(c.partialFill)&&(n=H(n,c.partialFill)),a=n.fill||u(y.fill).brighten(-.3).get()||u(b.color||this.color).brighten(-.3).get(),
89
+ y.fill=a,b.graphicOverlay[v](y,l).shadow(c.shadow,null,q)))}},drawPoints:function(){var b=this,a=b.getAnimationVerb();b.points.forEach(function(c){b.drawPoint(c,a)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var b,a=this.series;if(a.options.colorByPoint&&!this.options.color){b=a.options.colors||a.chart.options.colors;var c=this.y%(b?b.length:a.chart.options.chart.colorCount);b=b&&b[c];a.chart.styledMode||
90
+ (this.color=b);this.options.colorIndex||(this.colorIndex=c)}else this.color||(this.color=a.color)},init:function(){D.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){D.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var b=D.prototype.getLabelConfig.call(this),a=this.series.yAxis.categories;b.x2=this.x2;b.yCategory=this.yCategory=a&&a[this.y];return b},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===
91
+ typeof this.x&&"number"===typeof this.x2}});w(l,"afterGetSeriesExtremes",function(){var b=this.series,a,c;this.isXAxis&&(a=B(this.dataMax,-Number.MAX_VALUE),b.forEach(function(b){b.x2Data&&b.x2Data.forEach(function(b){b>a&&(a=b,c=!0)})}),c&&(this.dataMax=a))})});I(z,"parts-gantt/GanttSeries.js",[z["parts/Globals.js"]],function(b){var w=b.dateFormat,f=b.isNumber,u=b.merge,r=b.pick,x=b.seriesType,A=b.seriesTypes.xrange;x("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',
92
+ pointFormat:null,pointFormatter:function(){var f=this.series,r=f.chart.tooltip,u=f.xAxis,p=f.tooltipOptions.dateTimeLabelFormats,l=u.options.startOfWeek,A=f.tooltipOptions,x=A.xDateFormat,f=this.options.milestone,h="\x3cb\x3e"+(this.name||this.yCategory)+"\x3c/b\x3e";if(A.pointFormat)return this.tooltipFormatter(A.pointFormat);x||(x=b.splat(r.getDateFormat(u.closestPointRange,this.start,l,p))[0]);r=w(x,this.start);u=w(x,this.end);h+="\x3cbr/\x3e";return f?h+(r+"\x3cbr/\x3e"):h+("Start: "+r+"\x3cbr/\x3e")+
93
+ ("End: "+u+"\x3cbr/\x3e")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(b){var f,m;A.prototype.translatePoint.call(this,b);b.options.milestone&&(f=b.shapeArgs,m=f.height,b.shapeArgs={x:f.x-m/2,y:f.y,width:m,height:m})},drawPoint:function(b,r){var m=this.options,p=this.chart.renderer,l=
94
+ b.shapeArgs,u=b.plotY,w=b.graphic,h=b.selected&&"select",a=m.stacking&&!m.borderRadius;if(b.options.milestone)if(f(u)&&null!==b.y){l=p.symbols.diamond(l.x,l.y,l.width,l.height);if(w)w[r]({d:l});else b.graphic=p.path(l).addClass(b.getClassName(),!0).add(b.group||this.group);this.chart.styledMode||b.graphic.attr(this.pointAttribs(b,h)).shadow(m.shadow,null,a)}else w&&(b.graphic=w.destroy());else A.prototype.drawPoint.call(this,b,r)},setData:b.Series.prototype.setData,setGanttPointAliases:function(b){function f(f,
95
+ m){void 0!==m&&(b[f]=m)}f("x",r(b.start,b.x));f("x2",r(b.end,b.x2));f("partialFill",r(b.completed,b.partialFill));f("connect",r(b.dependency,b.connect))}},u(A.prototype.pointClass.prototype,{applyOptions:function(f,r){f=u(f);b.seriesTypes.gantt.prototype.setGanttPointAliases(f);return f=A.prototype.pointClass.prototype.applyOptions.call(this,f,r)},isValid:function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}))});
96
+ I(z,"parts-gantt/GanttChart.js",[z["parts/Globals.js"]],function(b){var w=b.merge,f=b.splat,u=b.Chart;b.ganttChart=function(r,x,A){var m="string"===typeof r||r.nodeName,z=x.series,B=b.getOptions(),p,l=x;x=arguments[m?1:0];b.isArray(x.xAxis)||(x.xAxis=[x.xAxis||{},{}]);x.xAxis=x.xAxis.map(function(b,f){1===f&&(p=0);return w(B.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:p},b,{type:"datetime"})});x.yAxis=f(x.yAxis||{}).map(function(b){return w(B.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,
97
+ type:b.categories?b.type:"treegrid"},b)});x.series=null;x=w(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},x,{isGantt:!0});x.series=l.series=z;x.series.forEach(function(f){f.data.forEach(function(f){b.seriesTypes.gantt.prototype.setGanttPointAliases(f)})});return m?new u(r,x,A):new u(x,x)}});I(z,"parts/Scrollbar.js",[z["parts/Globals.js"]],function(b){function w(a,b,f){this.init(a,b,f)}var f=b.addEvent,u=b.Axis,r=b.correctFloat,x=b.defaultOptions,A=b.defined,m=b.destroyObjectProperties,
98
+ z=b.fireEvent,B=b.hasTouch,p=b.merge,l=b.pick,D=b.removeEvent,C,h={height:b.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};x.scrollbar=p(!0,h,x.scrollbar);b.swapXY=
99
+ C=function(a,b){var c=a.length,d;if(b)for(b=0;b<c;b+=3)d=a[b+1],a[b+1]=a[b+2],a[b+2]=d;return a};w.prototype={init:function(a,b,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=p(h,b);this.chart=f;this.size=l(this.options.size,this.options.height);b.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,f=this.size,d=this.chart.styledMode,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();
100
+ this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:f,width:f}).add(e);d||this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:f,width:f,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=
101
+ a.path(C(["M",-3,f/4,"L",-3,2*f/3,"M",0,f/4,"L",0,2*f/3,"M",3,f/4,"L",3,2*f/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);d||(this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth}),this.scrollbarRifles.attr({stroke:b.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);
102
+ this.drawScrollbarButton(1)},position:function(a,b,f,d){var c=this.options.vertical,k=0,h=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=f;this.xOffset=this.height=d;this.yOffset=k;c?(this.width=this.yOffset=f=k=this.size,this.xOffset=b=0,this.barWidth=d-2*f,this.x=a+=this.options.margin):(this.height=this.xOffset=d=b=this.size,this.barWidth=f-2*d,this.y+=this.options.margin);this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:f,height:d});this.scrollbarButtons[1][h]({translateX:c?
103
+ 0:f-b,translateY:c?d-k:0})},drawScrollbarButton:function(a){var b=this.renderer,f=this.scrollbarButtons,d=this.options,e=this.size,k;k=b.g().add(this.group);f.push(k);k=b.rect().addClass("highcharts-scrollbar-button").add(k);this.chart.styledMode||k.attr({stroke:d.buttonBorderColor,"stroke-width":d.buttonBorderWidth,fill:d.buttonBackgroundColor});k.attr(k.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:d.buttonBorderRadius},k.strokeWidth()));k=b.path(C(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",
104
+ e/2+(a?2:-2),e/2],d.vertical)).addClass("highcharts-scrollbar-arrow").add(f[a]);this.chart.styledMode||k.attr({fill:d.buttonArrowColor})},setRange:function(a,b){var c=this.options,d=c.vertical,e=c.minWidth,k=this.barWidth,f,g,n=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";A(k)&&(a=Math.max(a,0),f=Math.ceil(k*a),this.calculatedWidth=g=r(k*Math.min(b,1)-f),g<e&&(f=(k-e+g)*a,g=e),e=Math.floor(f+this.xOffset+this.yOffset),k=g/2-.5,this.from=a,
105
+ this.to=b,d?(this.scrollbarGroup[n]({translateY:e}),this.scrollbar[n]({height:g}),this.scrollbarRifles[n]({translateY:k}),this.scrollbarTop=e,this.scrollbarLeft=0):(this.scrollbarGroup[n]({translateX:e}),this.scrollbar[n]({width:g}),this.scrollbarRifles[n]({translateX:k}),this.scrollbarLeft=e,this.scrollbarTop=0),12>=g?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===c.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=
106
+ function(b){var c=a.chart.pointer.normalize(b),d=a.options.vertical?"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][d]||(c=a.cursorToScrollbarPosition(c)[d],d=a[d],d=c-d,a.hasDragged=!0,a.updatePosition(e[0]+d,e[1]+d),a.hasDragged&&z(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&z(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=
107
+ a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=r(a.to-a.from)*a.options.step;a.updatePosition(r(a.from-c),r(a.to-c));z(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);z(a,"changed",{from:a.from,
108
+ to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),d=a.to-a.from,e=a.y+a.scrollbarTop,k=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>e||!a.options.vertical&&c.chartX>k?a.updatePosition(a.from+d,a.to+d):a.updatePosition(a.from-d,a.to-d);z(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/
109
+ (this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=r(1-r(b-a)),b=1);0>a&&(b=r(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,p(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,h=this.scrollbarGroup.element,d=this.mouseDownHandler,e=this.mouseMoveHandler,k=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],
110
+ [b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[h,"mousedown",d],[h.ownerDocument,"mousemove",e],[h.ownerDocument,"mouseup",k]];B&&a.push([h,"touchstart",d],[h.ownerDocument,"touchmove",e],[h.ownerDocument,"touchend",k]);a.forEach(function(a){f.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){D.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles",
111
+ "scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,m(a.scrollbarButtons))}};b.Scrollbar||(f(u,"afterInit",function(){var a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new w(a.chart.renderer,a.options.scrollbar,a.chart),f(a.scrollbar,"changed",function(c){var f=Math.min(l(a.options.min,
112
+ a.min),a.min,a.dataMin),d=Math.max(l(a.options.max,a.max),a.max,a.dataMax)-f,e;a.horiz&&!a.reversed||!a.horiz&&a.reversed?(e=f+d*this.to,f+=d*this.from):(e=f+d*(1-this.from),f+=d*(1-this.to));l(this.options.liveRedraw,b.svg&&!b.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===c.DOMType||!A(c.DOMType)?a.setExtremes(f,e,!0,"mousemove"!==c.DOMType,c):this.setRange(this.from,this.to)}))}),f(u,"afterRender",function(){var a=Math.min(l(this.options.min,this.min),this.min,l(this.dataMin,this.min)),b=
113
+ Math.max(l(this.options.max,this.max),this.max,l(this.dataMax,this.max)),f=this.scrollbar,d=this.axisTitleMargin+(this.titleOffset||0),e=this.chart.scrollbarsOffsets,k=this.options.margin||0;f&&(this.horiz?(this.opposite||(e[1]+=d),f.position(this.left,this.top+this.height+2+e[1]-(this.opposite?k:0),this.width,this.height),this.opposite||(e[1]+=k),d=1):(this.opposite&&(e[0]+=d),f.position(this.left+this.width+2+e[0]-(this.opposite?0:k),this.top,this.width,this.height),this.opposite&&(e[0]+=k),d=0),
114
+ e[d]+=f.size+f.options.margin,isNaN(a)||isNaN(b)||!A(this.min)||!A(this.max)||this.min===this.max?f.setRange(0,1):(e=(this.min-a)/(b-a),a=(this.max-a)/(b-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?f.setRange(e,a):f.setRange(1-a,1-e)))}),f(u,"afterGetOffset",function(){var a=this.horiz?2:1,b=this.scrollbar;b&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=b.size+b.options.margin)}),b.Scrollbar=w)});I(z,"parts/RangeSelector.js",[z["parts/Globals.js"]],function(b){function w(a){this.init(a)}
115
+ var f=b.addEvent,u=b.Axis,r=b.Chart,x=b.css,A=b.createElement,m=b.defaultOptions,z=b.defined,B=b.destroyObjectProperties,p=b.discardElement,l=b.extend,D=b.fireEvent,C=b.isNumber,h=b.merge,a=b.pick,c=b.pInt,t=b.splat;l(m,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});m.lang=h(m.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
116
+ rangeSelectorTo:"To"});w.prototype={clickButton:function(b,c){var d=this.chart,e=this.buttonOptions[b],g=d.xAxis[0],n=d.scroller&&d.scroller.getUnionExtremes()||g||{},q=n.dataMin,h=n.dataMax,l,v=g&&Math.round(Math.min(g.max,a(h,g.max))),m=e.type,F,n=e._range,p,r,w,S=e.dataGrouping;if(null!==q&&null!==h){d.fixedRange=n;S&&(this.forcedDataGrouping=!0,u.prototype.setDataGrouping.call(g||{chart:this.chart},S,!1),this.frozenStates=e.preserveDataGrouping);if("month"===m||"year"===m)g?(m={range:e,max:v,
117
+ chart:d,dataMin:q,dataMax:h},l=g.minFromRange.call(m),C(m.newMax)&&(v=m.newMax)):n=e;else if(n)l=Math.max(v-n,q),v=Math.min(l+n,h);else if("ytd"===m)if(g)void 0===h&&(q=Number.MAX_VALUE,h=Number.MIN_VALUE,d.series.forEach(function(a){a=a.xData;q=Math.min(a[0],q);h=Math.max(a[a.length-1],h)}),c=!1),v=this.getYTDExtremes(h,q,d.time.useUTC),l=p=v.min,v=v.max;else{this.deferredYTDClick=b;return}else"all"===m&&g&&(l=q,v=h);l+=e._offsetMin;v+=e._offsetMax;this.setSelected(b);g?g.setExtremes(l,v,a(c,1),
118
+ null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(F=t(d.options.xAxis)[0],w=F.range,F.range=n,r=F.min,F.min=p,f(d,"load",function(){F.range=w;F.min=r}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),
119
+ g=c.selected,n=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&D(a,"blur");c&&c.blur&&D(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.unMouseDown=f(a.container,"mousedown",n);this.unResize=f(a,"resize",n);d.forEach(b.computeButtonRange);void 0!==g&&d[g]&&this.clickButton(g,!1);f(a,"load",function(){a.xAxis&&a.xAxis[0]&&f(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&
120
+ !b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],f=Math.round(c.max-c.min),g=!c.hasVisibleSeries,n=b.scroller&&b.scroller.getUnionExtremes()||c,q=n.dataMin,h=n.dataMax,b=a.getYTDExtremes(h,q,b.time.useUTC),l=b.min,v=b.max,m=a.selected,F=C(m),p=a.options.allButtonsEnabled,r=a.buttons;a.buttonOptions.forEach(function(b,d){var e=b._range,k=b.type,n=b.count||1,y=r[d],E=0,G=b._offsetMax-b._offsetMin;b=d===m;var J=e>h-q,t=e<c.minRange,
121
+ u=!1,w=!1,e=e===f;("month"===k||"year"===k)&&f+36E5>=864E5*{month:28,year:365}[k]*n-G&&f-36E5<=864E5*{month:31,year:366}[k]*n+G?e=!0:"ytd"===k?(e=v-l+G===f,u=!b):"all"===k&&(e=c.max-c.min>=h-q,w=!b&&F&&e);k=!p&&(J||t||w||g);n=b&&e||e&&!F&&!u||b&&a.frozenStates;k?E=3:n&&(F=!0,E=2);y.state!==E&&(y.setState(E),0===E&&m===d&&a.setSelected(null))})},computeButtonRange:function(b){var c=b.type,d=b.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[c])b._range=f[c]*d;else if("month"===
122
+ c||"year"===c)b._range=864E5*{month:30,year:365}[c]*d;b._offsetMin=a(b.offsetMin,0);b._offsetMax=a(b.offsetMax,0);b._range+=b._offsetMax-b._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this.chart.time,g=this[a+"Input"];z(b)&&(g.previousValue=g.HCTime,g.HCTime=b);g.value=d.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",g.HCTime);this[a+"DateBox"].attr({text:d.dateFormat(c.inputDateFormat||"%b %e, %Y",g.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+
123
+ "DateBox"];x(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){x(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function d(){var a=v.value,b=(q.inputDateParser||Date.parse)(a),g=f.xAxis[0],d=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:g,e=d.dataMin,d=d.dataMax;b!==v.previousValue&&(v.previousValue=b,C(b)||(b=a.split("-"),b=Date.UTC(c(b[0]),
124
+ c(b[1])-1,c(b[2]))),C(b)&&(f.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),E?b>k.maxInput.HCTime?b=void 0:b<e&&(b=e):b<k.minInput.HCTime?b=void 0:b>d&&(b=d),void 0!==b&&g.setExtremes(E?b:g.min,E?g.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var k=this,f=k.chart,g=f.renderer.style||{},n=f.renderer,q=f.options.rangeSelector,y=k.div,E="min"===a,v,p,F=this.inputGroup;this[a+"Label"]=p=n.label(m.lang[E?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(F);
125
+ F.offset+=p.width+5;this[a+"DateBox"]=n=n.label("",F.offset).addClass("highcharts-range-input").attr({padding:2,width:q.inputBoxWidth||90,height:q.inputBoxHeight||17,"text-align":"center"}).on("click",function(){k.showInput(a);k[a+"Input"].focus()});f.styledMode||n.attr({stroke:q.inputBoxBorderColor||"#cccccc","stroke-width":1});n.add(F);F.offset+=n.width+(E?10:0);this[a+"Input"]=v=A("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},y);f.styledMode||(p.css(h(g,
126
+ q.labelStyle)),n.css(h({color:"#333333"},g,q.inputStyle)),x(v,l({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,top:"-9999em"},q.inputStyle)));v.onfocus=function(){k.showInput(a)};v.onblur=function(){v===b.doc.activeElement&&d();k.hideInput(a);v.blur()};v.onchange=d;v.onkeypress=function(a){13===a.keyCode&&d()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
127
+ 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,g=new d.Date(a),e=d.get("FullYear",g);c=c?d.Date.UTC(e,0,1):+new d.Date(e,0,1);b=Math.max(b||0,c);g=g.getTime();return{max:Math.min(a||g,g),min:b}},render:function(b,c){var d=this,e=d.chart,g=e.renderer,n=e.container,f=e.options,h=f.exporting&&!1!==f.exporting.enabled&&f.navigation&&f.navigation.buttonOptions,l=m.lang,v=d.div,p=f.rangeSelector,F=a(f.chart.style&&f.chart.style.zIndex,
128
+ 0)+1,f=p.floating,r=d.buttons,v=d.inputGroup,t=p.buttonTheme,u=p.buttonPosition,w=p.inputPosition,x=p.inputEnabled,z=t&&t.states,B=e.plotLeft,C,D=d.buttonGroup,H;H=d.rendered;var I=d.options.verticalAlign,O=e.legend,P=O&&O.options,Q=u.y,N=w.y,R=H||!1,T=R?"animate":"attr",M=0,K=0,L;if(!1!==p.enabled){H||(d.group=H=g.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=D=g.g("range-selector-buttons").add(H),d.zoomText=g.text(l.rangeSelectorZoom,0,15).add(D),e.styledMode||(d.zoomText.css(p.labelStyle),
129
+ t["stroke-width"]=a(t["stroke-width"],0)),d.buttonOptions.forEach(function(a,b){r[b]=g.button(a.text,0,0,function(c){var g=a.events&&a.events.click,e;g&&(e=g.call(a,c));!1!==e&&d.clickButton(b);d.isActive=!0},t,z&&z.hover,z&&z.select,z&&z.disabled).attr({"text-align":"center"}).add(D)}),!1!==x&&(d.div=v=A("div",null,{position:"relative",height:0,zIndex:F}),n.parentNode.insertBefore(v,n),d.inputGroup=v=g.g("input-group").add(H),v.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[T]({x:a(B+
130
+ u.x,B)});C=a(B+u.x,B)+d.zoomText.getBBox().width+5;d.buttonOptions.forEach(function(b,c){r[c][T]({x:C});C+=r[c].width+a(p.buttonSpacing,5)});B=e.plotLeft-e.spacing[3];d.updateButtonStates();h&&this.titleCollision(e)&&"top"===I&&"right"===u.align&&u.y+D.getBBox().height-12<(h.y||0)+h.height&&(M=-40);"left"===u.align?L=u.x-e.spacing[3]:"right"===u.align&&(L=u.x+M-e.spacing[1]);D.align({y:u.y,width:D.getBBox().width,align:u.align,x:L},!0,e.spacingBox);d.group.placed=R;d.buttonGroup.placed=R;!1!==x&&
131
+ (M=h&&this.titleCollision(e)&&"top"===I&&"right"===w.align&&w.y-v.getBBox().height-12<(h.y||0)+h.height+e.spacing[0]?-40:0,"left"===w.align?L=B:"right"===w.align&&(L=-Math.max(e.axisOffset[1],-M)),v.align({y:w.y,width:v.getBBox().width,align:w.align,x:w.x+L-2},!0,e.spacingBox),n=v.alignAttr.translateX+v.alignOptions.x-M+v.getBBox().x+2,h=v.alignOptions.width,l=D.alignAttr.translateX+D.getBBox().x,L=D.getBBox().width+20,(w.align===u.align||l+L>n&&n+h>l&&Q<N+v.getBBox().height)&&v.attr({translateX:v.alignAttr.translateX+
132
+ (e.axisOffset[1]>=-M?0:-M),translateY:v.alignAttr.translateY+D.getBBox().height+10}),d.setInputValue("min",b),d.setInputValue("max",c),d.inputGroup.placed=R);d.group.align({verticalAlign:I},!0,e.spacingBox);b=d.group.getBBox().height+20;c=d.group.alignAttr.translateY;"bottom"===I&&(O=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?O.legendHeight+a(P.margin,10):0,b=b+O-20,K=c-b-(f?0:p.y)-10);if("top"===I)f&&(K=0),e.titleOffset&&(K=e.titleOffset+e.options.title.margin),K+=e.margin[0]-e.spacing[0]||
133
+ 0;else if("middle"===I)if(N===Q)K=0>N?c+void 0:c;else if(N||Q)K=0>N||0>Q?K-Math.min(N,Q):c-b+NaN;d.group.translate(p.x,p.y+Math.floor(K));!1!==x&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,f=a.buttonPosition.y,g=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(g,f);if(0>g&&0>f||0<g&&0<f)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
134
+ a.options.subtitle.text)},update:function(a){var b=this.chart;h(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var a=this,c=a.minInput,f=a.maxInput;a.unMouseDown();a.unResize();B(a.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);f&&(f.onfocus=f.onblur=f.onchange=null);b.objectEach(a,function(b,c){b&&"chart"!==c&&(b.destroy?b.destroy():b.nodeType&&p(this[c]));b!==w.prototype[c]&&(a[c]=null)},this)}};u.prototype.minFromRange=function(){var b=
135
+ this.range,c={month:"Month",year:"FullYear"}[b.type],f,h=this.max,g,n,q=this.chart.time,l=function(a,b){var g=new q.Date(a),d=q.get(c,g);q.set(c,g,d+b);d===q.get(c,g)&&q.set("Date",g,0);return g.getTime()-a};C(b)?(f=h-b,n=b):(f=h+l(h,-b.count),this.chart&&(this.chart.fixedRange=h-f));g=a(this.dataMin,Number.MIN_VALUE);C(f)||(f=g);f<=g&&(f=g,void 0===n&&(n=l(f,b.count)),this.newMax=Math.min(f+n,this.dataMax));C(h)||(f=void 0);return f};b.RangeSelector||(f(r,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
136
+ (this.rangeSelector=new w(this))}),f(r,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(C(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),f(r,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,
137
+ d=this.extraTopMargin;b&&b.enabled&&!z(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new w(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)}),f(r,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
138
+ "bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),f(r,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),r.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();C(c.min)&&d.render(c.min,c.max)}var c,d=a.rangeSelector,g,n;d&&(n=f(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),g=f(a,"redraw",b),b());f(a,"destroy",function(){d&&
139
+ (g(),n())})}),b.RangeSelector=w)});I(z,"parts/Navigator.js",[z["parts/Globals.js"]],function(b){function w(a){this.init(a)}var f=b.addEvent,u=b.Axis,r=b.Chart,x=b.color,A=b.defaultOptions,m=b.defined,z=b.destroyObjectProperties,B=b.erase,p=b.extend,l=b.hasTouch,D=b.isArray,C=b.isNumber,h=b.isTouchDevice,a=b.merge,c=b.pick,t=b.removeEvent,d=b.Scrollbar,e=b.Series,k,G=function(a){var b=[].filter.call(arguments,C);if(b.length)return Math[a].apply(0,b)};k=void 0===b.seriesTypes.areaspline?"line":"areaspline";
140
+ p(A,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:x("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:k,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
139
141
  [1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",
140
- gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};v.prototype.toFixedRange=function(a,b,d,f){var e=this.chart&&this.chart.fixedRange;a=c(d,this.translate(a,!0,!this.horiz));b=c(f,
141
- this.translate(b,!0,!this.horiz));d=e&&(b-a)/e;.7<d&&1.3>d&&(f?a=b-e:b=a+e);B(a)&&B(b)||(a=b=void 0);return{min:a,max:b}};p.prototype={drawHandle:function(a,b,c,d){var e=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-e)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-e/2-1)})},drawOutline:function(a,b,c,d){var e=this.navigatorOptions.maskInside,
142
- f=this.outline.strokeWidth(),g=f/2,f=f%2/2,q=this.outlineHeight,h=this.scrollbarHeight,t=this.size,k=this.left-h,l=this.top;c?(k-=g,c=l+b+f,b=l+a+f,a=["M",k+q,l-h-f,"L",k+q,c,"L",k,c,"L",k,b,"L",k+q,b,"L",k+q,l+t+h].concat(e?["M",k+q,c-g,"L",k+q,b+g]:[])):(a+=k+h-f,b+=k+h-f,l+=g,a=["M",k,l,"L",a,l,"L",a,l+q,"L",b,l+q,"L",b,l,"L",k+t+2*h,l].concat(e?["M",a-g,l,"L",b+g,l]:[]));this.outline[d]({d:a})},drawMasks:function(a,b,c,d){var e=this.left,f=this.top,g=this.height,q,h,t,k;c?(t=[e,e,e],k=[f,f+a,
143
- f+b],h=[g,g,g],q=[a,b-a,this.size-b]):(t=[e,e+a,e+b],k=[f,f,f],h=[a,b-a,this.size-b],q=[g,g,g]);this.shades.forEach(function(a,b){a[d]({x:t[b],y:k[b],width:h[b],height:q[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,f=d.renderer,g,h={cursor:d.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=g=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(e,c){a.shades[c]=f.rect().addClass("highcharts-navigator-mask"+(1===c?"-inside":
144
- "-outside")).add(g);d.styledMode||a.shades[c].attr({fill:e?b.maskFill:"rgba(0,0,0,0)"}).css(1===c&&h)});a.outline=f.path().addClass("highcharts-navigator-outline").add(g);d.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(e){b.handles.inverted=d.inverted;a.handles[e]=f.symbol(b.handles.symbols[e],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
145
- ["left","right"][e]).add(g);if(!d.styledMode){var c=b.handles;a.handles[e].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.lineWidth}).css(h)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,d,f,g){var e=this.chart,h,q,k=this.scrollbarHeight,t,l=this.xAxis;h=l.fake?e.xAxis[0]:l;var m=this.navigatorEnabled,n,p=this.rendered;
146
- q=e.inverted;var r,u=e.xAxis[0].minRange,F=e.xAxis[0].options.maxRange;if(!this.hasDragged||w(f)){if(!B(b)||!B(d))if(p)f=0,g=c(l.width,h.width);else return;this.left=c(l.left,e.plotLeft+k+(q?e.plotWidth:0));this.size=n=t=c(l.len,(q?e.plotHeight:e.plotWidth)-2*k);e=q?k:t+2*k;f=c(f,l.toPixels(b,!0));g=c(g,l.toPixels(d,!0));B(f)&&Infinity!==Math.abs(f)||(f=0,g=e);b=l.toValue(f,!0);d=l.toValue(g,!0);r=Math.abs(a.correctFloat(d-b));r<u?this.grabbedLeft?f=l.toPixels(d-u,!0):this.grabbedRight&&(g=l.toPixels(b+
147
- u,!0)):w(F)&&r>F&&(this.grabbedLeft?f=l.toPixels(d-F,!0):this.grabbedRight&&(g=l.toPixels(b+F,!0)));this.zoomedMax=Math.min(Math.max(f,g,0),n);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,g),0),n);this.range=this.zoomedMax-this.zoomedMin;n=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"visible"}),p=p&&!this.hasDragged?"animate":"attr",this.drawMasks(f,n,q,p),this.drawOutline(f,n,q,p),this.navigatorOptions.handles.enabled&&
148
- (this.drawHandle(f,0,q,p),this.drawHandle(n,1,q,p)));this.scrollbar&&(q?(q=this.top-k,h=this.left-k+(m||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),k=t+2*k):(q=this.top+(m?this.height:-k),h=this.left-k),this.scrollbar.position(h,q,e,k),this.scrollbar.setRange(this.zoomedMin/(t||1),this.zoomedMax/(t||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,d=[],f,g;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=g=function(b){a.onMouseUp(b)};
149
- d=a.getPartsEvents("mousedown");d.push(h(c,"mousemove",f),h(c.ownerDocument,"mouseup",g));r&&(d.push(h(c,"touchmove",f),h(c.ownerDocument,"touchend",g)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(h(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,e=[];["shades","handles"].forEach(function(c){b[c].forEach(function(d,f){e.push(h(d.element,a,function(a){b[c+"Mousedown"](a,f)}))})});
150
- return e},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var e=this.chart,c=this.xAxis,d=this.zoomedMin,f=this.left,g=this.size,h=this.range,q=a.chartX,k,l;e.inverted&&(q=a.chartY,f=this.top);1===b?(this.grabbedCenter=q,this.fixedWidth=h,this.dragOffset=q-d):(a=q-f-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=g&&(a=g-h,this.reversedExtremes?(a-=h,l=this.getUnionExtremes().dataMin):k=this.getUnionExtremes().dataMax),a!==d&&(this.fixedWidth=h,b=c.toFixedRange(a,a+h,l,k),w(b.min)&&e.xAxis[0].setExtremes(Math.min(b.min,
151
- b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var e=a.xAxis[0],c=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=c?e.min:e.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=c?e.max:e.min);a.fixedRange=null},onMouseMove:function(b){var e=this,f=e.chart,g=e.left,h=e.navigatorSize,k=e.range,l=e.dragOffset,n=f.inverted;b.touches&&
152
- 0===b.touches[0].pageX||(b=f.pointer.normalize(b),f=b.chartX,n&&(g=e.top,f=b.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,f-g,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,f-g)):e.grabbedCenter&&(e.hasDragged=!0,f<l?f=l:f>h+l-k&&(f=h+l-k),e.render(0,0,f-l,f-l+k)),e.hasDragged&&e.scrollbar&&c(e.scrollbar.options.liveRedraw,a.svg&&!d&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){e.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,
153
- e=this.xAxis,c=this.scrollbar,d,f,g=a.DOMEvent||a;(!this.hasDragged||c&&c.hasDragged)&&"scrollbar"!==a.trigger||(c=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?d=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.reversedExtremes?c.dataMin:c.dataMax),0===this.zoomedMin&&(d=this.reversedExtremes?c.dataMax:c.dataMin),e=e.toFixedRange(this.zoomedMin,this.zoomedMax,d,f),w(e.min)&&b.xAxis[0].setExtremes(Math.min(e.min,e.max),
154
- Math.max(e.min,e.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&
155
- a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){l(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&l(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var e=a.options,d=e.navigator,g=d.enabled,k=e.scrollbar,l=k.enabled,e=g?d.height:0,n=l?k.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=e;this.scrollbarHeight=n;this.scrollbarEnabled=l;this.navigatorEnabled=g;this.navigatorOptions=d;this.scrollbarOptions=
156
- k;this.outlineHeight=e+n;this.opposite=c(d.opposite,!g&&a.inverted);var m=this,g=m.baseSeries,k=a.xAxis.length,l=a.yAxis.length,p=g&&g[0]&&g[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;m.navigatorEnabled?(m.xAxis=new v(a,b({breaks:p.options.breaks,ordinal:p.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:k,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[n,
157
- 0,-n,0],width:e}:{offsets:[0,-n,0,n],height:e})),m.yAxis=new v(a,b(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,zoomEnabled:!1},a.inverted?{width:e}:{height:e})),g||d.series.data?m.updateNavigatorSeries(!1):0===a.series.length&&(m.unbindRedraw=h(a,"beforeRedraw",function(){0<a.series.length&&!m.series&&(m.setBaseSeries(),m.unbindRedraw())})),m.reversedExtremes=a.inverted&&!m.xAxis.reversed||!a.inverted&&m.xAxis.reversed,m.renderElements(),m.addMouseEvents()):m.xAxis=
158
- {translate:function(b,c){var e=a.xAxis[0],d=e.getExtremes(),f=e.len-2*n,g=y("min",e.options.min,d.dataMin),e=y("max",e.options.max,d.dataMax)-g;return c?b*e/f+g:f*(b-g)/e},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:v.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=m.scrollbar=new f(a.renderer,b(a.options.scrollbar,{margin:m.navigatorEnabled?0:10,vertical:a.inverted}),a),h(m.scrollbar,"changed",function(b){var c=
159
- m.size,e=c*this.to,c=c*this.from;m.hasDragged=m.scrollbar.hasDragged;m.render(0,0,c,e);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){m.onMouseUp(b)})}));m.addBaseSeriesEvents();m.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],e=this.xAxis,d=e.options,f=b.options,g;a&&null===b.dataMin||(g={dataMin:c(d&&d.min,y("min",f.min,b.dataMin,e.dataMin,e.min)),dataMax:c(d&&d.max,y("max",f.max,b.dataMax,e.dataMax,e.max))});return g},
160
- setBaseSeries:function(b,c){var e=this.chart,d=this.baseSeries=[];b=b||e.options&&e.options.navigator.baseSeries||(e.series.length?a.find(e.series,function(a){return!a.options.isInternal}).index:0);(e.series||[]).forEach(function(a,c){a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||d.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,c)},updateNavigatorSeries:function(c,d){var e=this,f=e.chart,g=e.baseSeries,h,k,q=e.navigatorOptions.series,
161
- n,p={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},r=e.series=(e.series||[]).filter(function(a){var b=a.baseSeries;return 0>g.indexOf(b)?(b&&(l(b,"updatedData",e.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});g&&g.length&&g.forEach(function(a){var c=a.navigatorSeries,l=m({color:a.color,visible:a.visible},E(q)?C.navigator.series:
162
- q);c&&!1===e.navigatorOptions.adaptToUpdatedData||(p.name="Navigator "+g.length,h=a.options||{},n=h.navigatorOptions||{},k=b(h,p,l,n),l=n.data||l.data,e.hasNavigatorData=e.hasNavigatorData||!!l,k.data=l||h.data&&h.data.slice(0),c&&c.options?c.update(k,d):(a.navigatorSeries=f.initSeries(k),a.navigatorSeries.baseSeries=a,r.push(a.navigatorSeries)))});if(q.data&&(!g||!g.length)||E(q))e.hasNavigatorData=!1,q=a.splat(q),q.forEach(function(a,c){p.name="Navigator "+(r.length+1);k=b(C.navigator.series,{color:f.series[c]&&
163
- !f.series[c].options.isInternal&&f.series[c].color||f.options.colors[c]||f.options.colors[0]},p,a);k.data=a.data;k.data&&(e.hasNavigatorData=!0,r.push(f.initSeries(k)))});c&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&h(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){h(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});h(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
164
- !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&h(b,"updatedData",this.updatedDataHandler);h(b,"remove",function(){this.navigatorSeries&&(k(a.series,this.navigatorSeries),w(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||
165
- b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),d=b.dataMin,f=b.dataMax,b=b.max-b.min,g=a.stickToMin,h=a.stickToMax,k=c(this.options.overscroll,0),l,m,n=a.series&&a.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(m=d,l=m+b),h&&(l=f+k,g||(m=Math.max(l-b,a.getBaseSeriesMin(n&&n.xData?n.xData[0]:-Number.MAX_VALUE)))),p&&(g||h)&&B(m)&&(this.min=
166
- this.userMin=m,this.max=this.userMax=l));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=B(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||
167
- (this.eventsToUnbind=[]);this.eventsToUnbind.push(h(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),h(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();
168
- this.xAxis&&(k(this.chart.xAxis,this.xAxis),k(this.chart.axes,this.xAxis));this.yAxis&&(k(this.chart.yAxis,this.yAxis),k(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){G(a)},this)}};a.Navigator||(a.Navigator=p,
169
- h(v,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,e=b.chart.pinchType,f=b.navigator,b=b.rangeSelector;this.isXAxis&&(f&&f.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!d&&"xy"===c||d&&"xy"===e)&&this.options.range&&(c=this.previousZoom,w(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),h(u,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||
170
- c&&c.enabled)&&(!d&&"x"===a.chart.zoomType||d&&"x"===a.chart.pinchType))return!1}),h(u,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new p(this)}),h(u,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,d,f,g,h;b&&(f=a&&a.options,g=b.xAxis,h=b.yAxis,d=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-d-b.height:this.spacing[3]+d,b.top=this.plotTop+d):(b.left=this.plotLeft+d,b.top=b.navigatorOptions.top||
171
- this.chartHeight-b.height-d-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(f&&"bottom"===f.verticalAlign&&f.enabled&&!f.floating?a.legendHeight+c(f.margin,10):0)),g&&h&&(this.inverted?g.options.left=h.options.left=b.left:g.options.top=h.options.top=b.top,g.setAxisSize(),h.setAxisSize()))}),h(u,"update",function(a){var c=a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(b(!0,this.options.navigator,
172
- c),b(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),h(u,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new p(this),c(a.redraw,!0)&&this.redraw(a.animation))}),h(u,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),h(g,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,
173
- !1)}),u.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});H(v,"masters/modules/gantt.src.js",[],function(){})});
142
+ gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});b.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,d,e){a=e.width/2;b=Math.round(a/3)+.5;e=e.height;return["M",-a-1,.5,"L",a,.5,"L",a,e+.5,"L",-a-1,e+.5,"L",-a-1,.5,"M",-b,4,"L",-b,e-3,"M",b-1,4,"L",b-1,e-3]};u.prototype.toFixedRange=function(a,b,d,e){var g=this.chart&&this.chart.fixedRange;a=c(d,this.translate(a,!0,!this.horiz));b=c(e,
143
+ this.translate(b,!0,!this.horiz));d=g&&(b-a)/g;.7<d&&1.3>d&&(e?a=b-g:b=a+g);C(a)&&C(b)||(a=b=void 0);return{min:a,max:b}};w.prototype={drawHandle:function(a,b,c,d){var g=this.navigatorOptions.handles.height;this.handles[b][d](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-g)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-g/2-1)})},drawOutline:function(a,b,c,d){var g=this.navigatorOptions.maskInside,
144
+ e=this.outline.strokeWidth(),f=e/2,e=e%2/2,n=this.outlineHeight,h=this.scrollbarHeight,k=this.size,q=this.left-h,l=this.top;c?(q-=f,c=l+b+e,b=l+a+e,a=["M",q+n,l-h-e,"L",q+n,c,"L",q,c,"L",q,b,"L",q+n,b,"L",q+n,l+k+h].concat(g?["M",q+n,c-f,"L",q+n,b+f]:[])):(a+=q+h-e,b+=q+h-e,l+=f,a=["M",q,l,"L",a,l,"L",a,l+n,"L",b,l+n,"L",b,l,"L",q+k+2*h,l].concat(g?["M",a-f,l,"L",b+f,l]:[]));this.outline[d]({d:a})},drawMasks:function(a,b,c,d){var g=this.left,e=this.top,f=this.height,n,h,k,q;c?(k=[g,g,g],q=[e,e+a,
145
+ e+b],h=[f,f,f],n=[a,b-a,this.size-b]):(k=[g,g+a,g+b],q=[e,e,e],h=[a,b-a,this.size-b],n=[f,f,f]);this.shades.forEach(function(a,b){a[d]({x:k[b],y:q[b],width:h[b],height:n[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,e=d.renderer,f,h={cursor:d.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=f=e.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(c,g){a.shades[g]=e.rect().addClass("highcharts-navigator-mask"+(1===g?"-inside":
146
+ "-outside")).add(f);d.styledMode||a.shades[g].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===g&&h)});a.outline=e.path().addClass("highcharts-navigator-outline").add(f);d.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=d.inverted;a.handles[c]=e.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+
147
+ ["left","right"][c]).add(f);if(!d.styledMode){var g=b.handles;a.handles[c].attr({fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.lineWidth}).css(h)}})},update:function(b){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();a(!0,this.chart.options.navigator,this.options,b);this.init(this.chart)},render:function(a,d,e,f){var g=this.chart,h,n,k=this.scrollbarHeight,q,l=this.xAxis;h=l.fake?g.xAxis[0]:l;var p=this.navigatorEnabled,y,r=this.rendered;
148
+ n=g.inverted;var t,u=g.xAxis[0].minRange,w=g.xAxis[0].options.maxRange;if(!this.hasDragged||m(e)){if(!C(a)||!C(d))if(r)e=0,f=c(l.width,h.width);else return;this.left=c(l.left,g.plotLeft+k+(n?g.plotWidth:0));this.size=y=q=c(l.len,(n?g.plotHeight:g.plotWidth)-2*k);g=n?k:q+2*k;e=c(e,l.toPixels(a,!0));f=c(f,l.toPixels(d,!0));C(e)&&Infinity!==Math.abs(e)||(e=0,f=g);a=l.toValue(e,!0);d=l.toValue(f,!0);t=Math.abs(b.correctFloat(d-a));t<u?this.grabbedLeft?e=l.toPixels(d-u,!0):this.grabbedRight&&(f=l.toPixels(a+
149
+ u,!0)):m(w)&&t>w&&(this.grabbedLeft?e=l.toPixels(d-w,!0):this.grabbedRight&&(f=l.toPixels(a+w,!0)));this.zoomedMax=Math.min(Math.max(e,f,0),y);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,f),0),y);this.range=this.zoomedMax-this.zoomedMin;y=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);p&&(this.navigatorGroup.attr({visibility:"visible"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(e,y,n,r),this.drawOutline(e,y,n,r),this.navigatorOptions.handles.enabled&&
150
+ (this.drawHandle(e,0,n,r),this.drawHandle(y,1,n,r)));this.scrollbar&&(n?(n=this.top-k,h=this.left-k+(p||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),k=q+2*k):(n=this.top+(p?this.height:-k),h=this.left-k),this.scrollbar.position(h,n,g,k),this.scrollbar.setRange(this.zoomedMin/(q||1),this.zoomedMax/(q||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,d=[],e,h;a.mouseMoveHandler=e=function(b){a.onMouseMove(b)};a.mouseUpHandler=h=function(b){a.onMouseUp(b)};
151
+ d=a.getPartsEvents("mousedown");d.push(f(c,"mousemove",e),f(c.ownerDocument,"mouseup",h));l&&(d.push(f(c,"touchmove",e),f(c.ownerDocument,"touchend",h)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(f(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(g,e){c.push(f(g.element,a,function(a){b[d+"Mousedown"](a,e)}))})});
152
+ return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,g=this.zoomedMin,e=this.left,f=this.size,h=this.range,n=a.chartX,k,l;c.inverted&&(n=a.chartY,e=this.top);1===b?(this.grabbedCenter=n,this.fixedWidth=h,this.dragOffset=n-g):(a=n-e-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=f&&(a=f-h,this.reversedExtremes?(a-=h,l=this.getUnionExtremes().dataMin):k=this.getUnionExtremes().dataMax),a!==g&&(this.fixedWidth=h,b=d.toFixedRange(a,a+h,l,k),m(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,
153
+ b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null},onMouseMove:function(a){var d=this,g=d.chart,e=d.left,f=d.navigatorSize,k=d.range,l=d.dragOffset,m=g.inverted;a.touches&&
154
+ 0===a.touches[0].pageX||(a=g.pointer.normalize(a),g=a.chartX,m&&(e=d.top,g=a.chartY),d.grabbedLeft?(d.hasDragged=!0,d.render(0,0,g-e,d.otherHandlePos)):d.grabbedRight?(d.hasDragged=!0,d.render(0,0,d.otherHandlePos,g-e)):d.grabbedCenter&&(d.hasDragged=!0,g<l?g=l:g>f+l-k&&(g=f+l-k),d.render(0,0,g-l,g-l+k)),d.hasDragged&&d.scrollbar&&c(d.scrollbar.options.liveRedraw,b.svg&&!h&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){d.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,
155
+ c=this.xAxis,d=this.scrollbar,g,e,f=a.DOMEvent||a;(!this.hasDragged||d&&d.hasDragged)&&"scrollbar"!==a.trigger||(d=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?g=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(e=this.fixedExtreme),this.zoomedMax===this.size&&(e=this.reversedExtremes?d.dataMin:d.dataMax),0===this.zoomedMin&&(g=this.reversedExtremes?d.dataMax:d.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,g,e),m(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),
156
+ Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:f}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&
157
+ a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){t(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&t(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(b){var g=b.options,e=g.navigator,h=e.enabled,k=g.scrollbar,l=k.enabled,g=h?e.height:0,m=l?k.height:0;this.handles=[];this.shades=[];this.chart=b;this.setBaseSeries();this.height=g;this.scrollbarHeight=m;this.scrollbarEnabled=l;this.navigatorEnabled=h;this.navigatorOptions=e;this.scrollbarOptions=
158
+ k;this.outlineHeight=g+m;this.opposite=c(e.opposite,!h&&b.inverted);var p=this,h=p.baseSeries,k=b.xAxis.length,l=b.yAxis.length,r=h&&h[0]&&h[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;p.navigatorEnabled?(p.xAxis=new u(b,a({breaks:r.options.breaks,ordinal:r.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:k,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[m,
159
+ 0,-m,0],width:g}:{offsets:[0,-m,0,m],height:g})),p.yAxis=new u(b,a(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,zoomEnabled:!1},b.inverted?{width:g}:{height:g})),h||e.series.data?p.updateNavigatorSeries(!1):0===b.series.length&&(p.unbindRedraw=f(b,"beforeRedraw",function(){0<b.series.length&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())})),p.reversedExtremes=b.inverted&&!p.xAxis.reversed||!b.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()):p.xAxis=
160
+ {translate:function(a,c){var d=b.xAxis[0],g=d.getExtremes(),e=d.len-2*m,f=G("min",d.options.min,g.dataMin),d=G("max",d.options.max,g.dataMax)-f;return c?a*d/e+f:e*(a-f)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:u.prototype.toFixedRange,fake:!0};b.options.scrollbar.enabled&&(b.scrollbar=p.scrollbar=new d(b.renderer,a(b.options.scrollbar,{margin:p.navigatorEnabled?0:10,vertical:b.inverted}),b),f(p.scrollbar,"changed",function(a){var c=
161
+ p.size,d=c*this.to,c=c*this.from;p.hasDragged=p.scrollbar.hasDragged;p.render(0,0,c,d);(b.options.scrollbar.liveRedraw||"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType)&&setTimeout(function(){p.onMouseUp(a)})}));p.addBaseSeriesEvents();p.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],d=this.xAxis,g=d.options,e=b.options,f;a&&null===b.dataMin||(f={dataMin:c(g&&g.min,G("min",e.min,b.dataMin,d.dataMin,d.min)),dataMax:c(g&&g.max,G("max",e.max,b.dataMax,d.dataMax,d.max))});return f},
162
+ setBaseSeries:function(a,c){var d=this.chart,g=this.baseSeries=[];a=a||d.options&&d.options.navigator.baseSeries||(d.series.length?b.find(d.series,function(a){return!a.options.isInternal}).index:0);(d.series||[]).forEach(function(b,c){b.options.isInternal||!b.options.showInNavigator&&(c!==a&&b.options.id!==a||!1===b.options.showInNavigator)||g.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,c)},updateNavigatorSeries:function(c,d){var g=this,e=g.chart,f=g.baseSeries,h,k,l=g.navigatorOptions.series,
163
+ n,m={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},r=g.series=(g.series||[]).filter(function(a){var b=a.baseSeries;return 0>f.indexOf(b)?(b&&(t(b,"updatedData",g.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});f&&f.length&&f.forEach(function(b){var c=b.navigatorSeries,q=p({color:b.color,visible:b.visible},D(l)?A.navigator.series:
164
+ l);c&&!1===g.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+f.length,h=b.options||{},n=h.navigatorOptions||{},k=a(h,m,q,n),q=n.data||q.data,g.hasNavigatorData=g.hasNavigatorData||!!q,k.data=q||h.data&&h.data.slice(0),c&&c.options?c.update(k,d):(b.navigatorSeries=e.initSeries(k),b.navigatorSeries.baseSeries=b,r.push(b.navigatorSeries)))});if(l.data&&(!f||!f.length)||D(l))g.hasNavigatorData=!1,l=b.splat(l),l.forEach(function(b,c){m.name="Navigator "+(r.length+1);k=a(A.navigator.series,{color:e.series[c]&&
165
+ !e.series[c].options.isInternal&&e.series[c].color||e.options.colors[c]||e.options.colors[0]},m,b);k.data=b.data;k.data&&(g.hasNavigatorData=!0,r.push(e.initSeries(k)))});c&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&f(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){f(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});f(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
166
+ !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&f(b,"updatedData",this.updatedDataHandler);f(b,"remove",function(){this.navigatorSeries&&(B(a.series,this.navigatorSeries),m(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||
167
+ b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),d=b.dataMin,e=b.dataMax,b=b.max-b.min,f=a.stickToMin,h=a.stickToMax,k=c(this.options.overscroll,0),l,m,p=a.series&&a.series[0],r=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(m=d,l=m+b),h&&(l=e+k,f||(m=Math.max(l-b,a.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),r&&(f||h)&&C(m)&&(this.min=
168
+ this.userMin=m,this.max=this.userMax=l));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=C(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||
169
+ (this.eventsToUnbind=[]);this.eventsToUnbind.push(f(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),f(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();
170
+ this.xAxis&&(B(this.chart.xAxis,this.xAxis),B(this.chart.axes,this.xAxis));this.yAxis&&(B(this.chart.yAxis,this.yAxis),B(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){z(a)},this)}};b.Navigator||(b.Navigator=w,
171
+ f(u,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,d=b.chart.pinchType,e=b.navigator,b=b.rangeSelector;this.isXAxis&&(e&&e.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!h&&"xy"===c||h&&"xy"===d)&&this.options.range&&(c=this.previousZoom,m(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),f(r,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||
172
+ c&&c.enabled)&&(!h&&"x"===a.chart.zoomType||h&&"x"===a.chart.pinchType))return!1}),f(r,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new w(this)}),f(r,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,d,e,f,h;b&&(e=a&&a.options,f=b.xAxis,h=b.yAxis,d=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-d-b.height:this.spacing[3]+d,b.top=this.plotTop+d):(b.left=this.plotLeft+d,b.top=b.navigatorOptions.top||
173
+ this.chartHeight-b.height-d-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+c(e.margin,10):0)),f&&h&&(this.inverted?f.options.left=h.options.left=b.left:f.options.top=h.options.top=b.top,f.setAxisSize(),h.setAxisSize()))}),f(r,"update",function(b){var c=b.options.navigator||{},d=b.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(a(!0,this.options.navigator,
174
+ c),a(!0,this.options.scrollbar,d),delete b.options.navigator,delete b.options.scrollbar)}),f(r,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new w(this),c(a.redraw,!0)&&this.redraw(a.animation))}),f(r,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),f(e,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,
175
+ !1)}),r.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});I(z,"masters/modules/gantt.src.js",[],function(){})});
174
176
  //# sourceMappingURL=gantt.js.map