@acorex/components 7.1.2 → 7.1.5

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 (399) hide show
  1. package/README.md +24 -24
  2. package/action-sheet/public-api.d.ts +1 -0
  3. package/action-sheet/src/action-sheet.component.d.ts +8 -11
  4. package/alert/src/alert.component.d.ts +15 -47
  5. package/avatar/src/avatar.component.d.ts +8 -11
  6. package/badge/src/badge.component.d.ts +4 -35
  7. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +8 -6
  8. package/breadcrumbs/src/breadcrumbs.component.d.ts +4 -8
  9. package/button/src/button-group.component.d.ts +6 -6
  10. package/button/src/button-item.component.d.ts +7 -9
  11. package/chips/src/chips.component.d.ts +6 -6
  12. package/color-picker/src/color-picker.component.d.ts +21 -16
  13. package/common/src/components/base-component.class.d.ts +7 -2
  14. package/date-picker/src/datepicker.component.d.ts +17 -132
  15. package/esm2022/action-sheet/public-api.mjs +2 -1
  16. package/esm2022/action-sheet/src/action-sheet.component.mjs +15 -21
  17. package/esm2022/action-sheet/src/action-sheet.interface.mjs +1 -1
  18. package/esm2022/action-sheet/src/action-sheet.module.mjs +5 -5
  19. package/esm2022/action-sheet/src/action-sheet.service.mjs +4 -8
  20. package/esm2022/alert/public-api.mjs +1 -1
  21. package/esm2022/alert/src/alert.component.mjs +52 -50
  22. package/esm2022/alert/src/alert.module.mjs +5 -5
  23. package/esm2022/avatar/public-api.mjs +1 -1
  24. package/esm2022/avatar/src/avatar-group.component.mjs +4 -4
  25. package/esm2022/avatar/src/avatar.component.mjs +11 -20
  26. package/esm2022/avatar/src/avatar.module.mjs +5 -5
  27. package/esm2022/badge/public-api.mjs +1 -1
  28. package/esm2022/badge/src/badge.component.mjs +9 -14
  29. package/esm2022/badge/src/badge.module.mjs +5 -5
  30. package/esm2022/breadcrumbs/public-api.mjs +1 -1
  31. package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +1 -1
  32. package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +5 -5
  33. package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +8 -14
  34. package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +5 -5
  35. package/esm2022/button/public-api.mjs +1 -1
  36. package/esm2022/button/src/button-group.component.mjs +4 -4
  37. package/esm2022/button/src/button-item.class.mjs +1 -1
  38. package/esm2022/button/src/button-item.component.mjs +13 -13
  39. package/esm2022/button/src/button.component.mjs +6 -6
  40. package/esm2022/button/src/button.module.mjs +5 -5
  41. package/esm2022/calendar/public-api.mjs +1 -1
  42. package/esm2022/calendar/src/calendar-range.component.mjs +20 -21
  43. package/esm2022/calendar/src/calendar.class.mjs +7 -7
  44. package/esm2022/calendar/src/calendar.component.mjs +5 -5
  45. package/esm2022/calendar/src/calendar.module.mjs +5 -5
  46. package/esm2022/card/public-api.mjs +1 -1
  47. package/esm2022/card/src/card.component.mjs +5 -5
  48. package/esm2022/card/src/card.module.mjs +5 -5
  49. package/esm2022/checkbox/public-api.mjs +1 -1
  50. package/esm2022/checkbox/src/checkbox.component.mjs +5 -5
  51. package/esm2022/checkbox/src/checkbox.module.mjs +5 -5
  52. package/esm2022/chips/public-api.mjs +1 -1
  53. package/esm2022/chips/src/chips.component.mjs +5 -5
  54. package/esm2022/chips/src/chips.module.mjs +5 -5
  55. package/esm2022/collapse/public-api.mjs +1 -1
  56. package/esm2022/collapse/src/collapse-group.component.mjs +4 -4
  57. package/esm2022/collapse/src/collapse.component.mjs +5 -5
  58. package/esm2022/collapse/src/collapse.module.mjs +5 -5
  59. package/esm2022/color-palette/public-api.mjs +1 -1
  60. package/esm2022/color-palette/src/color-palette-input.component.mjs +6 -6
  61. package/esm2022/color-palette/src/color-palette-picker.component.mjs +6 -6
  62. package/esm2022/color-palette/src/color-palette-preview.component.mjs +10 -10
  63. package/esm2022/color-palette/src/color-palette-swatches.component.mjs +14 -14
  64. package/esm2022/color-palette/src/color-palette.class.mjs +7 -7
  65. package/esm2022/color-palette/src/color-palette.component.mjs +6 -6
  66. package/esm2022/color-palette/src/color-palette.module.mjs +5 -5
  67. package/esm2022/color-picker/public-api.mjs +1 -1
  68. package/esm2022/color-picker/src/color-picker.component.mjs +5 -5
  69. package/esm2022/color-picker/src/color-picker.module.mjs +5 -5
  70. package/esm2022/common/public-api.mjs +1 -1
  71. package/esm2022/common/src/classes/components.class.mjs +19 -19
  72. package/esm2022/common/src/classes/data.class.mjs +1 -1
  73. package/esm2022/common/src/classes/drawing.class.mjs +1 -1
  74. package/esm2022/common/src/classes/events.class.mjs +1 -1
  75. package/esm2022/common/src/classes/styles.class.mjs +1 -1
  76. package/esm2022/common/src/common.module.mjs +5 -5
  77. package/esm2022/common/src/components/base-component.class.mjs +14 -3
  78. package/esm2022/common/src/components/button-base-component.class.mjs +1 -1
  79. package/esm2022/common/src/components/color-component.class.mjs +1 -1
  80. package/esm2022/common/src/components/colorlook-component.class.mjs +1 -1
  81. package/esm2022/common/src/components/index.mjs +1 -1
  82. package/esm2022/common/src/components/interactive-component.class.mjs +1 -1
  83. package/esm2022/common/src/components/look-component.class.mjs +1 -1
  84. package/esm2022/common/src/components/value-component.class.mjs +4 -5
  85. package/esm2022/common/src/constant/positions.mjs +1 -1
  86. package/esm2022/common/src/directives/auto-focus.directive.mjs +4 -4
  87. package/esm2022/common/src/directives/debounce-time.directive.mjs +4 -4
  88. package/esm2022/common/src/directives/hotkey.directive.mjs +4 -4
  89. package/esm2022/common/src/directives/infinite-scroll.directive.mjs +4 -4
  90. package/esm2022/common/src/directives/responsive.directive.mjs +4 -4
  91. package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +7 -7
  92. package/esm2022/common/src/services/hotkey.service.mjs +4 -4
  93. package/esm2022/common/src/services/overlay.service.mjs +4 -4
  94. package/esm2022/context-menu/public-api.mjs +1 -1
  95. package/esm2022/context-menu/src/context-menu.component.mjs +5 -5
  96. package/esm2022/context-menu/src/context-menu.module.mjs +5 -5
  97. package/esm2022/data-pager/public-api.mjs +1 -1
  98. package/esm2022/data-pager/src/data-pager-base.component.mjs +7 -7
  99. package/esm2022/data-pager/src/data-pager-info.component.mjs +4 -4
  100. package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +11 -11
  101. package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +19 -19
  102. package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +29 -29
  103. package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +25 -25
  104. package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +17 -17
  105. package/esm2022/data-pager/src/data-pager.component.mjs +5 -5
  106. package/esm2022/data-pager/src/data-pager.module.mjs +5 -5
  107. package/esm2022/data-table/public-api.mjs +1 -1
  108. package/esm2022/data-table/src/data-column-cell-template.directive.mjs +4 -4
  109. package/esm2022/data-table/src/data-column.directive.mjs +4 -4
  110. package/esm2022/data-table/src/data-table.component.mjs +5 -5
  111. package/esm2022/data-table/src/data-table.module.mjs +5 -5
  112. package/esm2022/date-picker/public-api.mjs +1 -1
  113. package/esm2022/date-picker/src/datepicker.component.mjs +38 -152
  114. package/esm2022/date-picker/src/datepicker.module.mjs +5 -5
  115. package/esm2022/decorators/public-api.mjs +1 -1
  116. package/esm2022/decorators/src/close-button.component.mjs +11 -11
  117. package/esm2022/decorators/src/content.component.mjs +4 -4
  118. package/esm2022/decorators/src/decorators.module.mjs +5 -5
  119. package/esm2022/decorators/src/footer.component.mjs +11 -11
  120. package/esm2022/decorators/src/form-hint.component.mjs +4 -4
  121. package/esm2022/decorators/src/header.component.mjs +11 -11
  122. package/esm2022/decorators/src/icon.component.mjs +4 -4
  123. package/esm2022/decorators/src/overlay.component.mjs +4 -4
  124. package/esm2022/decorators/src/placeholder.component.mjs +4 -4
  125. package/esm2022/decorators/src/prefix.component.mjs +4 -4
  126. package/esm2022/decorators/src/sub-title.component.mjs +5 -5
  127. package/esm2022/decorators/src/suffix.component.mjs +4 -4
  128. package/esm2022/decorators/src/text.component.mjs +4 -4
  129. package/esm2022/decorators/src/title.component.mjs +4 -4
  130. package/esm2022/dialog/public-api.mjs +1 -1
  131. package/esm2022/dialog/src/dialog.class.mjs +1 -1
  132. package/esm2022/dialog/src/dialog.component.mjs +5 -5
  133. package/esm2022/dialog/src/dialog.module.mjs +5 -5
  134. package/esm2022/dialog/src/dialog.service.mjs +4 -4
  135. package/esm2022/drawer/public-api.mjs +1 -1
  136. package/esm2022/drawer/src/drawer-container.component.mjs +11 -11
  137. package/esm2022/drawer/src/drawer.component.mjs +10 -10
  138. package/esm2022/drawer/src/drawer.module.mjs +5 -5
  139. package/esm2022/dropdown/public-api.mjs +1 -1
  140. package/esm2022/dropdown/src/dropdown-panel.component.mjs +5 -5
  141. package/esm2022/dropdown/src/dropdown.module.mjs +5 -5
  142. package/esm2022/form/public-api.mjs +1 -1
  143. package/esm2022/form/src/form-field.component.mjs +4 -4
  144. package/esm2022/form/src/form.component.mjs +4 -4
  145. package/esm2022/form/src/form.module.mjs +5 -5
  146. package/esm2022/form/src/validation-rule.widget.mjs +4 -4
  147. package/esm2022/form/src/validation-summary.component.mjs +32 -32
  148. package/esm2022/form/src/validation.class.mjs +1 -1
  149. package/esm2022/image/public-api.mjs +1 -1
  150. package/esm2022/image/src/image.component.mjs +5 -5
  151. package/esm2022/image/src/image.module.mjs +5 -5
  152. package/esm2022/label/public-api.mjs +1 -1
  153. package/esm2022/label/src/label.component.mjs +5 -5
  154. package/esm2022/label/src/label.module.mjs +5 -5
  155. package/esm2022/loading/public-api.mjs +1 -1
  156. package/esm2022/loading/src/loading-spinner.component.mjs +55 -55
  157. package/esm2022/loading/src/loading.component.mjs +13 -13
  158. package/esm2022/loading/src/loading.directive.mjs +4 -4
  159. package/esm2022/loading/src/loading.module.mjs +5 -5
  160. package/esm2022/loading/src/loading.service.mjs +4 -4
  161. package/esm2022/menu/public-api.mjs +1 -1
  162. package/esm2022/menu/src/menu.component.mjs +5 -5
  163. package/esm2022/menu/src/menu.module.mjs +5 -5
  164. package/esm2022/mixin/public-api.mjs +1 -1
  165. package/esm2022/mixin/src/base-components.class.mjs +4 -4
  166. package/esm2022/mixin/src/base-menu-mixin.class.mjs +1 -1
  167. package/esm2022/mixin/src/button-mixin.class.mjs +1 -1
  168. package/esm2022/mixin/src/clickable-mixin.class.mjs +1 -1
  169. package/esm2022/mixin/src/color-look-mixing.class.mjs +1 -1
  170. package/esm2022/mixin/src/constratctor.mjs +1 -1
  171. package/esm2022/mixin/src/datalist-component.class.mjs +1 -1
  172. package/esm2022/mixin/src/datalist.class.mjs +1 -1
  173. package/esm2022/mixin/src/dropdown-mixin.class.mjs +1 -1
  174. package/esm2022/mixin/src/interactive-mixin.class.mjs +1 -1
  175. package/esm2022/mixin/src/loading-mixin.class.mjs +1 -1
  176. package/esm2022/mixin/src/mixin.class.mjs +1 -1
  177. package/esm2022/mixin/src/page-component.class.mjs +1 -1
  178. package/esm2022/mixin/src/selection-component.class.mjs +9 -16
  179. package/esm2022/mixin/src/sizable-mixin.class.mjs +1 -1
  180. package/esm2022/mixin/src/textbox-mixin.class.mjs +1 -1
  181. package/esm2022/mixin/src/value-mixin.class.mjs +1 -1
  182. package/esm2022/notification/public-api.mjs +1 -1
  183. package/esm2022/notification/src/notification.class.mjs +1 -1
  184. package/esm2022/notification/src/notification.component.mjs +6 -6
  185. package/esm2022/notification/src/notification.module.mjs +5 -5
  186. package/esm2022/notification/src/notification.service.mjs +4 -4
  187. package/esm2022/number-box/public-api.mjs +1 -1
  188. package/esm2022/number-box/src/number-box.component.mjs +5 -5
  189. package/esm2022/number-box/src/number-box.module.mjs +5 -5
  190. package/esm2022/page/public-api.mjs +1 -1
  191. package/esm2022/page/src/base-page.class.mjs +4 -4
  192. package/esm2022/page/src/page.component.mjs +4 -4
  193. package/esm2022/page/src/page.module.mjs +5 -5
  194. package/esm2022/password-box/public-api.mjs +1 -1
  195. package/esm2022/password-box/src/password-box.component.mjs +5 -5
  196. package/esm2022/password-box/src/password-box.module.mjs +5 -5
  197. package/esm2022/picker/public-api.mjs +1 -1
  198. package/esm2022/picker/src/picker-column.component.mjs +5 -5
  199. package/esm2022/picker/src/picker.component.mjs +5 -5
  200. package/esm2022/picker/src/picker.module.mjs +5 -5
  201. package/esm2022/popover/public-api.mjs +2 -1
  202. package/esm2022/popover/src/dropdown-component.class.mjs +72 -0
  203. package/esm2022/popover/src/popover.component.mjs +29 -36
  204. package/esm2022/popover/src/popover.module.mjs +5 -5
  205. package/esm2022/popup/public-api.mjs +1 -1
  206. package/esm2022/popup/src/popup.component.mjs +5 -5
  207. package/esm2022/popup/src/popup.module.mjs +5 -5
  208. package/esm2022/popup/src/popup.service.mjs +4 -4
  209. package/esm2022/progress-bar/public-api.mjs +1 -1
  210. package/esm2022/progress-bar/src/progress-bar.component.mjs +5 -5
  211. package/esm2022/progress-bar/src/progress-bar.module.mjs +5 -5
  212. package/esm2022/public-api.mjs +1 -1
  213. package/esm2022/radio/public-api.mjs +1 -1
  214. package/esm2022/radio/src/radio.component.mjs +5 -5
  215. package/esm2022/radio/src/radio.module.mjs +5 -5
  216. package/esm2022/range-slider/public-api.mjs +1 -1
  217. package/esm2022/range-slider/src/range-slider.component.mjs +4 -4
  218. package/esm2022/range-slider/src/range-slider.module.mjs +5 -5
  219. package/esm2022/rating/public-api.mjs +1 -1
  220. package/esm2022/rating/src/rating.component.mjs +5 -5
  221. package/esm2022/rating/src/rating.component.module.mjs +5 -5
  222. package/esm2022/result/public-api.mjs +1 -1
  223. package/esm2022/result/src/result.component.mjs +5 -5
  224. package/esm2022/result/src/result.module.mjs +5 -5
  225. package/esm2022/search-box/public-api.mjs +1 -1
  226. package/esm2022/search-box/src/search-box.component.mjs +5 -5
  227. package/esm2022/search-box/src/search-box.module.mjs +5 -5
  228. package/esm2022/select-box/public-api.mjs +1 -1
  229. package/esm2022/select-box/src/selectbox.component.mjs +6 -6
  230. package/esm2022/select-box/src/selectbox.module.mjs +5 -5
  231. package/esm2022/selection-list/public-api.mjs +1 -1
  232. package/esm2022/selection-list/src/selection-list.component.mjs +5 -5
  233. package/esm2022/selection-list/src/selection-list.module.mjs +5 -5
  234. package/esm2022/switch/public-api.mjs +1 -1
  235. package/esm2022/switch/src/switch-content.component.mjs +4 -4
  236. package/esm2022/switch/src/switch.component.mjs +5 -5
  237. package/esm2022/switch/src/switch.module.mjs +5 -5
  238. package/esm2022/tabs/public-api.mjs +1 -1
  239. package/esm2022/tabs/src/tab-content.directive.mjs +4 -4
  240. package/esm2022/tabs/src/tab-item.component.mjs +53 -53
  241. package/esm2022/tabs/src/tabs.class.mjs +1 -1
  242. package/esm2022/tabs/src/tabs.component.mjs +11 -11
  243. package/esm2022/tabs/src/tabs.module.mjs +5 -5
  244. package/esm2022/tag/public-api.mjs +1 -1
  245. package/esm2022/tag/src/tag.component.mjs +5 -5
  246. package/esm2022/tag/src/tag.module.mjs +5 -5
  247. package/esm2022/textarea/public-api.mjs +1 -1
  248. package/esm2022/textarea/src/textarea.component.mjs +5 -5
  249. package/esm2022/textarea/src/textarea.module.mjs +5 -5
  250. package/esm2022/textbox/public-api.mjs +1 -1
  251. package/esm2022/textbox/src/mask-options.directive.mjs +4 -4
  252. package/esm2022/textbox/src/textbox.component.mjs +6 -6
  253. package/esm2022/textbox/src/textbox.module.mjs +5 -5
  254. package/esm2022/time-box/public-api.mjs +1 -1
  255. package/esm2022/time-box/src/time-box.component.mjs +17 -25
  256. package/esm2022/time-box/src/time-box.module.mjs +5 -5
  257. package/esm2022/toast/public-api.mjs +1 -1
  258. package/esm2022/toast/src/toast.class.mjs +1 -1
  259. package/esm2022/toast/src/toast.component.mjs +5 -5
  260. package/esm2022/toast/src/toast.module.mjs +5 -5
  261. package/esm2022/toast/src/toast.service.mjs +4 -4
  262. package/esm2022/tooltip/public-api.mjs +1 -1
  263. package/esm2022/tooltip/src/tooltip.component.mjs +5 -5
  264. package/esm2022/tooltip/src/tooltip.directive.mjs +4 -4
  265. package/esm2022/tooltip/src/tooltip.module.mjs +5 -5
  266. package/esm2022/tree-view/public-api.mjs +1 -1
  267. package/esm2022/tree-view/src/tree-view.component.mjs +5 -5
  268. package/esm2022/tree-view/src/tree-view.module.mjs +5 -5
  269. package/esm2022/uploader/public-api.mjs +1 -1
  270. package/esm2022/uploader/src/uploader.component.mjs +5 -5
  271. package/esm2022/uploader/src/uploader.module.mjs +5 -5
  272. package/fesm2022/acorex-components-action-sheet.mjs +23 -31
  273. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  274. package/fesm2022/acorex-components-alert.mjs +56 -54
  275. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  276. package/fesm2022/acorex-components-avatar.mjs +17 -26
  277. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  278. package/fesm2022/acorex-components-badge.mjs +13 -18
  279. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  280. package/fesm2022/acorex-components-breadcrumbs.mjs +16 -21
  281. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  282. package/fesm2022/acorex-components-button.mjs +24 -24
  283. package/fesm2022/acorex-components-button.mjs.map +1 -1
  284. package/fesm2022/acorex-components-calendar.mjs +33 -34
  285. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  286. package/fesm2022/acorex-components-card.mjs +8 -8
  287. package/fesm2022/acorex-components-card.mjs.map +1 -1
  288. package/fesm2022/acorex-components-checkbox.mjs +8 -8
  289. package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
  290. package/fesm2022/acorex-components-chips.mjs +8 -8
  291. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  292. package/fesm2022/acorex-components-collapse.mjs +11 -11
  293. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  294. package/fesm2022/acorex-components-color-palette.mjs +47 -47
  295. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  296. package/fesm2022/acorex-components-color-picker.mjs +8 -8
  297. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  298. package/fesm2022/acorex-components-common.mjs +62 -54
  299. package/fesm2022/acorex-components-common.mjs.map +1 -1
  300. package/fesm2022/acorex-components-context-menu.mjs +8 -8
  301. package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
  302. package/fesm2022/acorex-components-data-pager.mjs +113 -113
  303. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  304. package/fesm2022/acorex-components-data-table.mjs +14 -14
  305. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  306. package/fesm2022/acorex-components-date-picker.mjs +42 -156
  307. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  308. package/fesm2022/acorex-components-decorators.mjs +65 -65
  309. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  310. package/fesm2022/acorex-components-dialog.mjs +11 -11
  311. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  312. package/fesm2022/acorex-components-drawer.mjs +23 -23
  313. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  314. package/fesm2022/acorex-components-dropdown.mjs +8 -8
  315. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  316. package/fesm2022/acorex-components-form.mjs +44 -44
  317. package/fesm2022/acorex-components-form.mjs.map +1 -1
  318. package/fesm2022/acorex-components-image.mjs +8 -8
  319. package/fesm2022/acorex-components-image.mjs.map +1 -1
  320. package/fesm2022/acorex-components-label.mjs +8 -8
  321. package/fesm2022/acorex-components-label.mjs.map +1 -1
  322. package/fesm2022/acorex-components-loading.mjs +76 -76
  323. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  324. package/fesm2022/acorex-components-menu.mjs +8 -8
  325. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  326. package/fesm2022/acorex-components-mixin.mjs +11 -18
  327. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  328. package/fesm2022/acorex-components-notification.mjs +12 -12
  329. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  330. package/fesm2022/acorex-components-number-box.mjs +8 -8
  331. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  332. package/fesm2022/acorex-components-page.mjs +10 -10
  333. package/fesm2022/acorex-components-page.mjs.map +1 -1
  334. package/fesm2022/acorex-components-password-box.mjs +8 -8
  335. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  336. package/fesm2022/acorex-components-picker.mjs +12 -12
  337. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  338. package/fesm2022/acorex-components-popover.mjs +101 -40
  339. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  340. package/fesm2022/acorex-components-popup.mjs +11 -11
  341. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  342. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  343. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  344. package/fesm2022/acorex-components-radio.mjs +8 -8
  345. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  346. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  347. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  348. package/fesm2022/acorex-components-rating.mjs +8 -8
  349. package/fesm2022/acorex-components-rating.mjs.map +1 -1
  350. package/fesm2022/acorex-components-result.mjs +8 -8
  351. package/fesm2022/acorex-components-result.mjs.map +1 -1
  352. package/fesm2022/acorex-components-search-box.mjs +8 -8
  353. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  354. package/fesm2022/acorex-components-select-box.mjs +9 -9
  355. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  356. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  357. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  358. package/fesm2022/acorex-components-switch.mjs +11 -11
  359. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  360. package/fesm2022/acorex-components-tabs.mjs +69 -69
  361. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  362. package/fesm2022/acorex-components-tag.mjs +8 -8
  363. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  364. package/fesm2022/acorex-components-textarea.mjs +8 -8
  365. package/fesm2022/acorex-components-textarea.mjs.map +1 -1
  366. package/fesm2022/acorex-components-textbox.mjs +12 -12
  367. package/fesm2022/acorex-components-textbox.mjs.map +1 -1
  368. package/fesm2022/acorex-components-time-box.mjs +20 -28
  369. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  370. package/fesm2022/acorex-components-toast.mjs +11 -11
  371. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  372. package/fesm2022/acorex-components-tooltip.mjs +11 -11
  373. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  374. package/fesm2022/acorex-components-tree-view.mjs +8 -8
  375. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  376. package/fesm2022/acorex-components-uploader.mjs +8 -8
  377. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  378. package/fesm2022/acorex-components.mjs.map +1 -1
  379. package/mixin/src/base-components.class.d.ts +2 -2
  380. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  381. package/mixin/src/button-mixin.class.d.ts +2 -2
  382. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  383. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  384. package/mixin/src/datalist-component.class.d.ts +10 -10
  385. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  386. package/mixin/src/interactive-mixin.class.d.ts +6 -6
  387. package/mixin/src/loading-mixin.class.d.ts +2 -2
  388. package/mixin/src/mixin.class.d.ts +61 -61
  389. package/mixin/src/page-component.class.d.ts +2 -2
  390. package/mixin/src/selection-component.class.d.ts +4 -4
  391. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  392. package/mixin/src/textbox-mixin.class.d.ts +5 -7
  393. package/mixin/src/value-mixin.class.d.ts +8 -8
  394. package/package.json +17 -17
  395. package/popover/public-api.d.ts +1 -0
  396. package/popover/src/dropdown-component.class.d.ts +17 -0
  397. package/popover/src/popover.component.d.ts +9 -16
  398. package/scss/index.scss +1 -1
  399. package/tabs/src/tab-item.component.d.ts +2 -2
@@ -9,7 +9,7 @@ import * as i2 from "./calendar.component";
9
9
  class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {
10
10
  _c1;
11
11
  _c2;
12
- _navText = "";
12
+ _navText = '';
13
13
  constructor() {
14
14
  super();
15
15
  this.defaultValue = { from: null, end: null };
@@ -27,18 +27,17 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
27
27
  }
28
28
  if (this.value.end && d.equal(end, 'day'))
29
29
  return 'ax-range-end';
30
- if (this.value.from && this.value.end && (d.compare(from, 'day') > 0) && (d.compare(end, 'day') < 0))
30
+ if (this.value.from && this.value.end && d.compare(from, 'day') > 0 && d.compare(end, 'day') < 0)
31
31
  return 'ax-range-between';
32
32
  return null;
33
33
  };
34
34
  handleSlotClick(e) {
35
- debugger;
36
35
  if (this._c1.activeView == this.depth) {
37
36
  if (!this.value.from || (this.value.from && this.value.end)) {
38
37
  this.value.from = e.item;
39
38
  this.value.end = null;
40
39
  }
41
- if (this.value.from && (e.item <= this.value.from)) {
40
+ if (this.value.from && e.item <= this.value.from) {
42
41
  this.value.from = e.item;
43
42
  }
44
43
  else if (this.value.from && !this.value.end) {
@@ -83,15 +82,15 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
83
82
  const d1 = this._c1.displayRange.startTime;
84
83
  if (view == 'days') {
85
84
  const d2 = this._c2.displayRange.endTime;
86
- this._navText = `${d1.format("MMM yyyy")} - ${d2.format("MMM yyyy")}`;
85
+ this._navText = `${d1.format('MMM yyyy')} - ${d2.format('MMM yyyy')}`;
87
86
  }
88
87
  else if (view == 'months') {
89
88
  const d2 = this._c2.displayRange.endTime;
90
- this._navText = `${d1.format("yyyy")} - ${d2.format("yyyy")}`;
89
+ this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;
91
90
  }
92
91
  else if (view == 'years') {
93
92
  const d2 = this._c2.displayRange.endTime;
94
- this._navText = `${d1.format("yyyy")} - ${d2.format("yyyy")}`;
93
+ this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;
95
94
  }
96
95
  }
97
96
  handleNavigate() {
@@ -107,33 +106,33 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
107
106
  }
108
107
  }
109
108
  _syncNav1() {
110
- const view = this._c2.activeView = this._c1.activeView;
109
+ const view = (this._c2.activeView = this._c1.activeView);
111
110
  const range = this._c1.displayRange;
112
111
  if (view == 'days') {
113
- this._c2.navTo(range.startTime.add("month", 1));
112
+ this._c2.navTo(range.startTime.add('month', 1));
114
113
  }
115
114
  else if (view == 'months') {
116
- this._c2.navTo(range.startTime.add("year", 1));
115
+ this._c2.navTo(range.startTime.add('year', 1));
117
116
  }
118
117
  else if (view == 'years') {
119
- this._c2.navTo(range.endTime.add("year", 4));
118
+ this._c2.navTo(range.endTime.add('year', 4));
120
119
  }
121
120
  this._syncNavText();
122
121
  }
123
122
  _syncNav2(e) {
124
123
  const view = this._c2.activeView;
125
124
  if (view == 'months') {
126
- this._c1.navTo(e.add("month", -1));
125
+ this._c1.navTo(e.add('month', -1));
127
126
  }
128
127
  else if (view == 'years') {
129
128
  this._c1.navTo(e.startOf('year'));
130
129
  }
131
130
  }
132
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
133
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXCalendarRangeComponent, selector: "ax-calendar-range", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\r\n <ng-content></ng-content>\r\n <div class=\"ax-calendar-header-range-info\">\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\r\n {{ _navText }}\r\n </button>\r\n </div>\r\n <div class=\"ax-calendar-header-range-buttons\">\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\r\n (click)=\"handlePrevClick()\">\r\n <i class=\"ax-icon\" [ngClass]=\"{\r\n 'ax-icon-chevron-left': !rtl,\r\n 'ax-icon-chevron-right': rtl\r\n }\"></i>\r\n </button>\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\r\n (click)=\"handleNextClick()\">\r\n <i class=\"ax-icon\" [ngClass]=\"{\r\n 'ax-icon-chevron-left': rtl,\r\n 'ax-icon-chevron-right': !rtl\r\n }\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<div class=\"ax-calendar-range-body\">\r\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\r\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\r\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\r\n </ax-calendar>\r\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\r\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\r\n (activeViewChange)=\"handleActiveViewChange2()\">\r\n </ax-calendar>\r\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }], encapsulation: i0.ViewEncapsulation.None });
131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: AXCalendarRangeComponent, selector: "ax-calendar-range", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }], encapsulation: i0.ViewEncapsulation.None });
134
133
  }
135
134
  export { AXCalendarRangeComponent };
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
137
136
  type: Component,
138
137
  args: [{ selector: 'ax-calendar-range', encapsulation: ViewEncapsulation.None, inputs: [
139
138
  'rtl',
@@ -150,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
150
149
  'type',
151
150
  'cellTemplate',
152
151
  'cellClass',
153
- 'showNavigation'
152
+ 'showNavigation',
154
153
  ], outputs: [
155
154
  'onOptionChanged',
156
155
  'valueChange',
@@ -163,13 +162,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
163
162
  'disabledDatesChange',
164
163
  'holidayDatesChange',
165
164
  'onNavigate',
166
- 'onSlotClick'
167
- ], template: "<div class=\"ax-calendar-range-header\">\r\n <ng-content></ng-content>\r\n <div class=\"ax-calendar-header-range-info\">\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\r\n {{ _navText }}\r\n </button>\r\n </div>\r\n <div class=\"ax-calendar-header-range-buttons\">\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\r\n (click)=\"handlePrevClick()\">\r\n <i class=\"ax-icon\" [ngClass]=\"{\r\n 'ax-icon-chevron-left': !rtl,\r\n 'ax-icon-chevron-right': rtl\r\n }\"></i>\r\n </button>\r\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\r\n (click)=\"handleNextClick()\">\r\n <i class=\"ax-icon\" [ngClass]=\"{\r\n 'ax-icon-chevron-left': rtl,\r\n 'ax-icon-chevron-right': !rtl\r\n }\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<div class=\"ax-calendar-range-body\">\r\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\r\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\r\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\r\n </ax-calendar>\r\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\r\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\r\n (activeViewChange)=\"handleActiveViewChange2()\">\r\n </ax-calendar>\r\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"] }]
165
+ 'onSlotClick',
166
+ ], template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"] }]
168
167
  }], ctorParameters: function () { return []; }, propDecorators: { _c1: [{
169
168
  type: ViewChild,
170
- args: ["c1", { static: true }]
169
+ args: ['c1', { static: true }]
171
170
  }], _c2: [{
172
171
  type: ViewChild,
173
- args: ["c2", { static: true }]
172
+ args: ['c2', { static: true }]
174
173
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFbkQsTUFxQ2Esd0JBQ1QsU0FDQSxPQUFPLENBQUMsQ0FBQSxnQkFBK0IsQ0FBQSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO0lBSWpGLEdBQUcsQ0FBc0I7SUFHekIsR0FBRyxDQUFzQjtJQUdqQyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBRXRCO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVTLGVBQWU7UUFDckIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7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VTt3QkFDVixPQUFPO3dCQUNQLE1BQU07d0JBQ04sVUFBVTt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osS0FBSzt3QkFDTCxLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxnQkFBZ0I7cUJBQ25CLFdBQ1E7d0JBQ0wsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGFBQWE7cUJBQ2hCOzBFQVFPLEdBQUc7c0JBRFYsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixHQUFHO3NCQURWLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmFuZ2UsIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XHJcbmltcG9ydCB7IEFYQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ2FsZW5kYXJTbG90Q2xpY2ssIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZVRpbWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyLXJhbmdlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgaW5wdXRzOiBbXHJcbiAgICAgICAgJ3J0bCcsXHJcbiAgICAgICAgJ3JlYWRvbmx5JyxcclxuICAgICAgICAndmFsdWUnLFxyXG4gICAgICAgICduYW1lJyxcclxuICAgICAgICAnZGlzYWJsZWQnLFxyXG4gICAgICAgICdkZXB0aCcsXHJcbiAgICAgICAgJ2FjdGl2ZVZpZXcnLFxyXG4gICAgICAgICdtaW4nLFxyXG4gICAgICAgICdtYXgnLFxyXG4gICAgICAgICdkaXNhYmxlZERhdGVzJyxcclxuICAgICAgICAnaG9saWRheURhdGVzJyxcclxuICAgICAgICAndHlwZScsXHJcbiAgICAgICAgJ2NlbGxUZW1wbGF0ZScsXHJcbiAgICAgICAgJ2NlbGxDbGFzcycsXHJcbiAgICAgICAgJ3Nob3dOYXZpZ2F0aW9uJ1xyXG4gICAgXSxcclxuICAgIG91dHB1dHM6IFtcclxuICAgICAgICAnb25PcHRpb25DaGFuZ2VkJyxcclxuICAgICAgICAndmFsdWVDaGFuZ2UnLFxyXG4gICAgICAgICdvblZhbHVlQ2hhbmdlZCcsXHJcbiAgICAgICAgJ29uQmx1cicsXHJcbiAgICAgICAgJ29uRm9jdXMnLFxyXG4gICAgICAgICdkZXB0aENoYW5nZScsXHJcbiAgICAgICAgJ3R5cGVDaGFuZ2UnLFxyXG4gICAgICAgICdhY3RpdmVWaWV3Q2hhbmdlJyxcclxuICAgICAgICAnZGlzYWJsZWREYXRlc0NoYW5nZScsXHJcbiAgICAgICAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXHJcbiAgICAgICAgJ29uTmF2aWdhdGUnLFxyXG4gICAgICAgICdvblNsb3RDbGljaydcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudFxyXG4gICAgZXh0ZW5kc1xyXG4gICAgY2xhc3NlcyhNWFZhbHVlQ29tcG9uZW50PEFYUmFuZ2U8RGF0ZT4+LCBNWEludGVyYWN0aXZlQ29tcG9uZW50LCBNWENhbGVuZGFyQmFzZUNvbXBvbmVudClcclxue1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJjMVwiLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHJpdmF0ZSBfYzE6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcImMyXCIsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwcml2YXRlIF9jMjogQVhDYWxlbmRhckNvbXBvbmVudDtcclxuXHJcblxyXG4gICAgX25hdlRleHQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHsgZnJvbTogbnVsbCwgZW5kOiBudWxsIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLl9zeW5jTmF2MSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENlbGxDbGFzcyA9IChkYXRlOiBEYXRlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZCA9IG5ldyBBWERhdGVUaW1lKGRhdGUpO1xyXG4gICAgICAgIGNvbnN0IGZyb20gPSBuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLmZyb20pO1xyXG4gICAgICAgIGNvbnN0IGVuZCA9IG5ldyBBWERhdGVUaW1lKHRoaXMudmFsdWUuZW5kKTtcclxuICAgICAgICBpZiAodGhpcy52YWx1ZS5mcm9tICYmIGQuZXF1YWwoZnJvbSwgJ2RheScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnYXgtcmFuZ2Utc3RhcnQnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy52YWx1ZS5lbmQgJiYgZC5lcXVhbChlbmQsICdkYXknKSlcclxuICAgICAgICAgICAgcmV0dXJuICdheC1yYW5nZS1lbmQnO1xyXG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmZyb20gJiYgdGhpcy52YWx1ZS5lbmQgJiYgKGQuY29tcGFyZShmcm9tLCAnZGF5JykgPiAwKSAmJiAoZC5jb21wYXJlKGVuZCwgJ2RheScpIDwgMCkpXHJcbiAgICAgICAgICAgIHJldHVybiAnYXgtcmFuZ2UtYmV0d2Vlbic7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhbmRsZVNsb3RDbGljayhlOiBBWENhbGVuZGFyU2xvdENsaWNrKSB7XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICBpZiAodGhpcy5fYzEuYWN0aXZlVmlldyA9PSB0aGlzLmRlcHRoKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZS5mcm9tIHx8ICh0aGlzLnZhbHVlLmZyb20gJiYgdGhpcy52YWx1ZS5lbmQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLmZyb20gPSBlLml0ZW07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLmVuZCA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiAoZS5pdGVtIDw9IHRoaXMudmFsdWUuZnJvbSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlLmZyb20gJiYgIXRoaXMudmFsdWUuZW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLmVuZCA9IGUuaXRlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MxKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc3luY05hdjEoKTtcclxuICAgICAgICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zeW5jTmF2MihuZXcgQVhEYXRlVGltZShlLml0ZW0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jMS5yZW5kZXIoKTtcclxuICAgICAgICB0aGlzLl9jMi5yZW5kZXIoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGhhbmRsZVByZXZDbGljaygpIHtcclxuICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy5fYzEuYWN0aXZlVmlldztcclxuICAgICAgICBjb25zdCBkMSA9IHRoaXMuX2MxLmRpc3BsYXlSYW5nZS5zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHZpZXcgPT0gJ2RheXMnIHx8IHZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgICAgICAgdGhpcy5fYzEucHJldigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgICAgICAgdGhpcy5fYzEubmF2VG8oZDEuYWRkKCd5ZWFyJywgLTIwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVOZXh0Q2xpY2soKSB7XHJcbiAgICAgICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XHJcbiAgICAgICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xyXG4gICAgICAgIGlmICh2aWV3ID09ICdkYXlzJyB8fCB2aWV3ID09ICdtb250aHMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2MxLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAodmlldyA9PSAneWVhcnMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIDIwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVOYXZDbGljaygpIHtcclxuICAgICAgICB0aGlzLl9jMS50b2dnbGVWaWV3KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc3luY05hdlRleHQoKSB7XHJcbiAgICAgICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XHJcbiAgICAgICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xyXG4gICAgICAgIGlmICh2aWV3ID09ICdkYXlzJykge1xyXG4gICAgICAgICAgICBjb25zdCBkMiA9IHRoaXMuX2MyLmRpc3BsYXlSYW5nZS5lbmRUaW1lO1xyXG4gICAgICAgICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7ZDEuZm9ybWF0KFwiTU1NIHl5eXlcIil9IC0gJHtkMi5mb3JtYXQoXCJNTU0geXl5eVwiKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh2aWV3ID09ICdtb250aHMnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGQyID0gdGhpcy5fYzIuZGlzcGxheVJhbmdlLmVuZFRpbWU7XHJcbiAgICAgICAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoXCJ5eXl5XCIpfSAtICR7ZDIuZm9ybWF0KFwieXl5eVwiKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcclxuICAgICAgICAgICAgdGhpcy5fbmF2VGV4dCA9IGAke2QxLmZvcm1hdChcInl5eXlcIil9IC0gJHtkMi5mb3JtYXQoXCJ5eXl5XCIpfWA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVOYXZpZ2F0ZSgpIHtcclxuICAgICAgICB0aGlzLl9zeW5jTmF2MSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMSgpIHtcclxuICAgICAgICB0aGlzLl9jMi5hY3RpdmVWaWV3ID0gdGhpcy5fYzEuYWN0aXZlVmlldztcclxuICAgICAgICB0aGlzLl9zeW5jTmF2MSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpIHtcclxuICAgICAgICBpZiAodGhpcy5fYzIuYWN0aXZlVmlldyAhPSB0aGlzLl9jMS5hY3RpdmVWaWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2MxLmFjdGl2ZVZpZXcgPSB0aGlzLl9jMi5hY3RpdmVWaWV3O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zeW5jTmF2MSgpIHtcclxuICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy5fYzIuYWN0aXZlVmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XHJcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2U7XHJcbiAgICAgICAgaWYgKHZpZXcgPT0gJ2RheXMnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoXCJtb250aFwiLCAxKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaWYgKHZpZXcgPT0gJ21vbnRocycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoXCJ5ZWFyXCIsIDEpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLmVuZFRpbWUuYWRkKFwieWVhclwiLCA0KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB0aGlzLl9zeW5jTmF2VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N5bmNOYXYyKGU6IEFYRGF0ZVRpbWUpIHtcclxuICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy5fYzIuYWN0aXZlVmlldztcclxuICAgICAgICBpZiAodmlldyA9PSAnbW9udGhzJykge1xyXG4gICAgICAgICAgICB0aGlzLl9jMS5uYXZUbyhlLmFkZChcIm1vbnRoXCIsIC0xKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHZpZXcgPT0gJ3llYXJzJykge1xyXG4gICAgICAgICAgICB0aGlzLl9jMS5uYXZUbyhlLnN0YXJ0T2YoJ3llYXInKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXJhbmdlLWhlYWRlclwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1yYW5nZS1pbmZvXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b25cIiAoY2xpY2spPVwiaGFuZGxlTmF2Q2xpY2soKVwiPlxyXG4gICAgICAgICAgICB7eyBfbmF2VGV4dCB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLXJhbmdlLWJ1dHRvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVQcmV2Q2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb25cIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiAhcnRsLFxyXG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6IHJ0bFxyXG4gICAgICAgICAgICAgIH1cIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb25cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTmV4dENsaWNrKClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1sZWZ0JzogcnRsLFxyXG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6ICFydGxcclxuICAgICAgICAgICAgICB9XCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcmFuZ2UtYm9keVwiPlxyXG4gICAgPGF4LWNhbGVuZGFyICNjMSBzdHlsZT1cIndpZHRoOiA1MCU7XCIgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCIgW2NlbGxDbGFzc109XCJnZXRDZWxsQ2xhc3NcIiBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkZXB0aF09XCJkZXB0aFwiIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uTmF2aWdhdGUpPVwiaGFuZGxlTmF2aWdhdGUoKVwiIChhY3RpdmVWaWV3Q2hhbmdlKT1cImhhbmRsZUFjdGl2ZVZpZXdDaGFuZ2UxKClcIj5cclxuICAgIDwvYXgtY2FsZW5kYXI+XHJcbiAgICA8YXgtY2FsZW5kYXIgI2MyIHN0eWxlPVwid2lkdGg6IDUwJTtcIiBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIiBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgIFtjZWxsVGVtcGxhdGVdPVwiY2VsbFRlbXBsYXRlXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtyZWFkb25seV09XCJ0cnVlXCIgW2RlcHRoXT1cImRlcHRoXCIgKG9uU2xvdENsaWNrKT1cImhhbmRsZVNsb3RDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoYWN0aXZlVmlld0NoYW5nZSk9XCJoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpXCI+XHJcbiAgICA8L2F4LWNhbGVuZGFyPlxyXG48L2Rpdj4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFbkQsTUFxQ2Esd0JBQXlCLFNBQVEsT0FBTyxDQUFDLENBQUEsZ0JBQStCLENBQUEsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztJQUU3SCxHQUFHLENBQXNCO0lBR3pCLEdBQUcsQ0FBc0I7SUFFakMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUV0QjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFF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Q1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3FCQUNqQixXQUNRO3dCQUNQLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3FCQUNkOzBFQUlPLEdBQUc7c0JBRFYsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixHQUFHO3NCQURWLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmFuZ2UsIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcbmltcG9ydCB7IEFYQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2xvdENsaWNrLCBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICdjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAncnRsJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ25hbWUnLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uT3B0aW9uQ2hhbmdlZCcsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAnZGVwdGhDaGFuZ2UnLFxuICAgICd0eXBlQ2hhbmdlJyxcbiAgICAnYWN0aXZlVmlld0NoYW5nZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxuICAgICdvbk5hdmlnYXRlJyxcbiAgICAnb25TbG90Q2xpY2snLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyUmFuZ2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YVmFsdWVDb21wb25lbnQ8QVhSYW5nZTxEYXRlPj4sIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSB7XG4gIEBWaWV3Q2hpbGQoJ2MxJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYzE6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnYzInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jMjogQVhDYWxlbmRhckNvbXBvbmVudDtcblxuICBfbmF2VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHsgZnJvbTogbnVsbCwgZW5kOiBudWxsIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBnZXRDZWxsQ2xhc3MgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgIGNvbnN0IGQgPSBuZXcgQVhEYXRlVGltZShkYXRlKTtcbiAgICBjb25zdCBmcm9tID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZS5mcm9tKTtcbiAgICBjb25zdCBlbmQgPSBuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLmVuZCk7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBkLmVxdWFsKGZyb20sICdkYXknKSkge1xuICAgICAgcmV0dXJuICdheC1yYW5nZS1zdGFydCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlLmVuZCAmJiBkLmVxdWFsKGVuZCwgJ2RheScpKSByZXR1cm4gJ2F4LXJhbmdlLWVuZCc7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiB0aGlzLnZhbHVlLmVuZCAmJiBkLmNvbXBhcmUoZnJvbSwgJ2RheScpID4gMCAmJiBkLmNvbXBhcmUoZW5kLCAnZGF5JykgPCAwKSByZXR1cm4gJ2F4LXJhbmdlLWJldHdlZW4nO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHByb3RlY3RlZCBoYW5kbGVTbG90Q2xpY2soZTogQVhDYWxlbmRhclNsb3RDbGljaykge1xuICAgIGlmICh0aGlzLl9jMS5hY3RpdmVWaWV3ID09IHRoaXMuZGVwdGgpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZS5mcm9tIHx8ICh0aGlzLnZhbHVlLmZyb20gJiYgdGhpcy52YWx1ZS5lbmQpKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZS5lbmQgPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBlLml0ZW0gPD0gdGhpcy52YWx1ZS5mcm9tKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZS5mcm9tICYmICF0aGlzLnZhbHVlLmVuZCkge1xuICAgICAgICB0aGlzLnZhbHVlLmVuZCA9IGUuaXRlbTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MxKSB0aGlzLl9zeW5jTmF2MSgpO1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MyKSB7XG4gICAgICAgIHRoaXMuX3N5bmNOYXYyKG5ldyBBWERhdGVUaW1lKGUuaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9jMS5yZW5kZXIoKTtcbiAgICB0aGlzLl9jMi5yZW5kZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXlzJyB8fCB2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICB0aGlzLl9jMS5wcmV2KCk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIC0yMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVOZXh0Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXlzJyB8fCB2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICB0aGlzLl9jMS5uZXh0KCk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIDIwKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdkNsaWNrKCkge1xuICAgIHRoaXMuX2MxLnRvZ2dsZVZpZXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOYXZUZXh0KCkge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3O1xuICAgIGNvbnN0IGQxID0gdGhpcy5fYzEuZGlzcGxheVJhbmdlLnN0YXJ0VGltZTtcbiAgICBpZiAodmlldyA9PSAnZGF5cycpIHtcbiAgICAgIGNvbnN0IGQyID0gdGhpcy5fYzIuZGlzcGxheVJhbmdlLmVuZFRpbWU7XG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7ZDEuZm9ybWF0KCdNTU0geXl5eScpfSAtICR7ZDIuZm9ybWF0KCdNTU0geXl5eScpfWA7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICBjb25zdCBkMiA9IHRoaXMuX2MyLmRpc3BsYXlSYW5nZS5lbmRUaW1lO1xuICAgICAgdGhpcy5fbmF2VGV4dCA9IGAke2QxLmZvcm1hdCgneXl5eScpfSAtICR7ZDIuZm9ybWF0KCd5eXl5Jyl9YDtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXJzJykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoJ3l5eXknKX0gLSAke2QyLmZvcm1hdCgneXl5eScpfWA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdmlnYXRlKCkge1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aXZlVmlld0NoYW5nZTEoKSB7XG4gICAgdGhpcy5fYzIuYWN0aXZlVmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgdGhpcy5fc3luY05hdjEoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpIHtcbiAgICBpZiAodGhpcy5fYzIuYWN0aXZlVmlldyAhPSB0aGlzLl9jMS5hY3RpdmVWaWV3KSB7XG4gICAgICB0aGlzLl9jMS5hY3RpdmVWaWV3ID0gdGhpcy5fYzIuYWN0aXZlVmlldztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MSgpIHtcbiAgICBjb25zdCB2aWV3ID0gKHRoaXMuX2MyLmFjdGl2ZVZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3KTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuX2MxLmRpc3BsYXlSYW5nZTtcbiAgICBpZiAodmlldyA9PSAnZGF5cycpIHtcbiAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoJ21vbnRoJywgMSkpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAnbW9udGhzJykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2Uuc3RhcnRUaW1lLmFkZCgneWVhcicsIDEpKTtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXJzJykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2UuZW5kVGltZS5hZGQoJ3llYXInLCA0KSk7XG4gICAgfVxuICAgIHRoaXMuX3N5bmNOYXZUZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MihlOiBBWERhdGVUaW1lKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MyLmFjdGl2ZVZpZXc7XG4gICAgaWYgKHZpZXcgPT0gJ21vbnRocycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGUuYWRkKCdtb250aCcsIC0xKSk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGUuc3RhcnRPZigneWVhcicpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1yYW5nZS1oZWFkZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1yYW5nZS1pbmZvXCI+XG4gICAgICAgIDxidXR0b24gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZU5hdkNsaWNrKClcIj5cbiAgICAgICAgICAgIHt7IF9uYXZUZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItcmFuZ2UtYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUHJldkNsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvblwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiAhcnRsLFxuICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tcmlnaHQnOiBydGxcbiAgICAgICAgICAgICAgfVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVOZXh0Q2xpY2soKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tbGVmdCc6IHJ0bCxcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JzogIXJ0bFxuICAgICAgICAgICAgICB9XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXJhbmdlLWJvZHlcIj5cbiAgICA8YXgtY2FsZW5kYXIgI2MxIHN0eWxlPVwid2lkdGg6IDUwJTtcIiBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIiBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkZXB0aF09XCJkZXB0aFwiIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChvbk5hdmlnYXRlKT1cImhhbmRsZU5hdmlnYXRlKClcIiAoYWN0aXZlVmlld0NoYW5nZSk9XCJoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMSgpXCI+XG4gICAgPC9heC1jYWxlbmRhcj5cbiAgICA8YXgtY2FsZW5kYXIgI2MyIHN0eWxlPVwid2lkdGg6IDUwJTtcIiBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIiBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkZXB0aF09XCJkZXB0aFwiIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChhY3RpdmVWaWV3Q2hhbmdlKT1cImhhbmRsZUFjdGl2ZVZpZXdDaGFuZ2UyKClcIj5cbiAgICA8L2F4LWNhbGVuZGFyPlxuPC9kaXY+Il19
@@ -112,11 +112,11 @@ class MXCalendarBaseComponent extends classes(MXBaseComponent) {
112
112
  set holidayDates(v) {
113
113
  this.setOption({ name: 'holidayDates', value: v });
114
114
  }
115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXCalendarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
116
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXCalendarBaseComponent });
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MXCalendarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
116
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MXCalendarBaseComponent });
117
117
  }
118
118
  export { MXCalendarBaseComponent };
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXCalendarBaseComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MXCalendarBaseComponent, decorators: [{
120
120
  type: Injectable
121
121
  }], propDecorators: { interface: [{
122
122
  type: Input
@@ -230,11 +230,11 @@ class AXCalendarBaseComponent extends AXBaseComponent {
230
230
  set holidayDates(v) {
231
231
  this._setOption({ name: 'holidayDates', value: v });
232
232
  }
233
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXCalendarBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
234
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXCalendarBaseComponent });
233
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
234
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent });
235
235
  }
236
236
  export { AXCalendarBaseComponent };
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXCalendarBaseComponent, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent, decorators: [{
238
238
  type: Injectable
239
239
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onSlotClick: [{
240
240
  type: Output
@@ -279,4 +279,4 @@ export const CALENDAR_INPUTS = [
279
279
  'holidayDates',
280
280
  ];
281
281
  export const CALENDAR_OUTPUTS = ['depthChange', 'typeChange', 'disabledDatesChange', 'holidayDatesChange', 'onNavigate'];
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBaUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFTbkM7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUF5QjtDQUVyRTtBQUVEOzs7RUFHRTtBQUNGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBc0I7Q0FFOUQ7QUFFRCxNQUNhLHVCQUF3QixTQUFRLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFHakUsU0FBUyxHQUEwQixVQUFVLENBQUM7SUFHOUMsWUFBWSxDQUFvQjtJQUdoQyxTQUFTLENBQTBCO0lBR25DLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFJL0IsV0FBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUd6RixVQUFVLEdBQTBDLElBQUksWUFBWSxFQUEyQixDQUFDO0lBR2hHLGdCQUFnQixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUVwRixXQUFXLEdBQXVCLE1BQU0sQ0FBQztJQUNqRCxJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFxQjtRQUN2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QkFBdUI7O1NBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO2lJQVNQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsZ0JBQWdCO3NCQURmLE1BQU07Z0JBS0ksVUFBVTtzQkFEcEIsS0FBSztnQkFVQyxVQUFVO3NCQURoQixNQUFNO2dCQU1JLElBQUk7c0JBRGQsS0FBSztnQkFhTixXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLO2dCQWVOLFNBQVM7c0JBRFIsTUFBTTtnQkFLSSxHQUFHO3NCQURiLEtBQUs7Z0JBVU4sU0FBUztzQkFEUixNQUFNO2dCQUtJLEdBQUc7c0JBRGIsS0FBSztnQkFTTixtQkFBbUI7c0JBRGxCLE1BQU07Z0JBS0ksYUFBYTtzQkFEdkIsS0FBSztnQkFTTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS0ksWUFBWTtzQkFEdEIsS0FBSzs7QUFXVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsT0FBTztJQUNQLFlBQVk7SUFDWixLQUFLO0lBQ0wsS0FBSztJQUNMLGVBQWU7SUFDZixNQUFNO0lBQ04sY0FBYztDQUNqQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2NvbmZpZ1wiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFYSXRlbUNsaWNrRXZlbnQsIEFYUmFuZ2VDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW5cIjtcclxuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gXCJwb2x5dHlwZVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdUeXBlID0gJ3llYXJzJyB8ICdtb250aHMnIHwgJ2RheXMnO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyVmlld0RlcHRoID0gQVhDYWxlbmRhclZpZXdUeXBlO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyRGlzYWJsZWREYXRlcyA9IERhdGVbXSB8ICgoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbik7XHJcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMgPSBEYXRlW10gfCAoKGRhdGU6IERhdGUpID0+IGJvb2xlYW4pO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyQ2VsbENzc0NsYXNzID0gc3RyaW5nIHwgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCAoKGRhdGU6IERhdGUpID0+IHN0cmluZyk7XHJcblxyXG5cclxuLyoqXHJcbiogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxyXG4qIEBjYXRlZ29yeSBFdmVudHNcclxuKi9cclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgQVhSYW5nZUNoYW5nZWRFdmVudDxEYXRlPiB7XHJcblxyXG59XHJcblxyXG4vKipcclxuKiAgQ29udGFpbnMgbmF0aXZlIGV2ZW50XHJcbiogQGNhdGVnb3J5IEV2ZW50c1xyXG4qL1xyXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhclNsb3RDbGljayBleHRlbmRzIEFYSXRlbUNsaWNrRXZlbnQ8RGF0ZT4ge1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTVhDYWxlbmRhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YQmFzZUNvbXBvbmVudCkge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBpbnRlcmZhY2U6ICdjYWxlbmRhcicgfCAncGlja2VyJyA9ICdjYWxlbmRhcic7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGNlbGxDbGFzcz86IEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3M7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblNsb3RDbGljazogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJTbG90Q2xpY2s+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyU2xvdENsaWNrPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25OYXZpZ2F0ZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhck5hdmlnYXRlRXZlbnQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBhY3RpdmVWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXcoKTogQVhDYWxlbmRhclZpZXdUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2OiBBWENhbGVuZGFyVmlld1R5cGUpIHtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdhY3RpdmVWaWV3JyxcclxuICAgICAgICAgICAgdmFsdWU6IHYsXHJcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHR5cGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nID0gQVhDb25maWcuZ2V0KGBkYXRlVGltZS5jYWxlbmRhcmApO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSB8fCBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHR5cGUodjogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oe1xyXG4gICAgICAgICAgICBuYW1lOiAndHlwZScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGRlcHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld0RlcHRoIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGRlcHRoKHY6IEFYQ2FsZW5kYXJWaWV3RGVwdGgpIHtcclxuICAgICAgICB0aGlzLnNldE9wdGlvbih7XHJcbiAgICAgICAgICAgIG5hbWU6ICdkZXB0aCcsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBiZWZvcmVDYWxsYmFjazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdjtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG1pbkNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX21pbjogRGF0ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBtaW4odjogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgbmFtZTogJ21pbicsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG1heENoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX21heDogRGF0ZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IG1heCgpOiBEYXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBtYXgodjogRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgbmFtZTogJ21heCcsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZGlzYWJsZWREYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXM7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWREYXRlcztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xyXG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHsgbmFtZTogJ2Rpc2FibGVkRGF0ZXMnLCB2YWx1ZTogdiB9KTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGhvbGlkYXlEYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2hvbGlkYXlEYXRlczogQVhDYWxlbmRhckhvbGlkYXlEYXRlcztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGhvbGlkYXlEYXRlcygpOiBBWENhbGVuZGFySG9saWRheURhdGVzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faG9saWRheURhdGVzO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBob2xpZGF5RGF0ZXModjogQVhDYWxlbmRhckhvbGlkYXlEYXRlcykge1xyXG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHsgbmFtZTogJ2hvbGlkYXlEYXRlcycsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJCYXNlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBvblNsb3RDbGljazogRXZlbnRFbWl0dGVyPEFYSXRlbUNsaWNrRXZlbnQ8RGF0ZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEl0ZW1DbGlja0V2ZW50PERhdGU+PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25OYXZpZ2F0ZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhck5hdmlnYXRlRXZlbnQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBhY3RpdmVWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdUeXBlPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXcoKTogQVhDYWxlbmRhclZpZXdUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2OiBBWENhbGVuZGFyVmlld1R5cGUpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnYWN0aXZlVmlldycsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZyA9IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgfHwgQVhDb25maWcuZ2V0KGBkYXRlVGltZS5jYWxlbmRhcmApO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCB0eXBlKHY6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7XHJcbiAgICAgICAgICAgIG5hbWU6ICd0eXBlJyxcclxuICAgICAgICAgICAgdmFsdWU6IHZcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGRlcHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld0RlcHRoIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGRlcHRoKHY6IEFYQ2FsZW5kYXJWaWV3RGVwdGgpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICAgICAgICBuYW1lOiAnZGVwdGgnLFxyXG4gICAgICAgICAgICB2YWx1ZTogdixcclxuICAgICAgICAgICAgYmVmb3JlQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZVZpZXcgPSB2O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBtaW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9taW46IERhdGU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBtaW4oKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbWluKHY6IERhdGUpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnbWluJywgdmFsdWU6IHYgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgbWF4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfbWF4OiBEYXRlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgbWF4KCk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tYXg7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IG1heCh2OiBEYXRlKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHsgbmFtZTogJ21heCcsIHZhbHVlOiB2IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZGlzYWJsZWREYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXM7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWREYXRlcztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7IG5hbWU6ICdkaXNhYmxlZERhdGVzJywgdmFsdWU6IHYgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBob2xpZGF5RGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckhvbGlkYXlEYXRlcz4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9ob2xpZGF5RGF0ZXM6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBob2xpZGF5RGF0ZXMoKTogQVhDYWxlbmRhckhvbGlkYXlEYXRlcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlEYXRlcztcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgaG9saWRheURhdGVzKHY6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnaG9saWRheURhdGVzJywgdmFsdWU6IHYgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IENBTEVOREFSX0lOUFVUUyA9IFtcclxuICAgICdkZXB0aCcsXHJcbiAgICAnYWN0aXZlVmlldycsXHJcbiAgICAnbWluJyxcclxuICAgICdtYXgnLFxyXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxyXG4gICAgJ3R5cGUnLFxyXG4gICAgJ2hvbGlkYXlEYXRlcycsXHJcbl07XHJcbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9PVVRQVVRTID0gWydkZXB0aENoYW5nZScsICd0eXBlQ2hhbmdlJywgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLCAnaG9saWRheURhdGVzQ2hhbmdlJywgJ29uTmF2aWdhdGUnXTtcclxuIl19
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBaUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFTbkM7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUF5QjtDQUVyRTtBQUVEOzs7RUFHRTtBQUNGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBc0I7Q0FFOUQ7QUFFRCxNQUNhLHVCQUF3QixTQUFRLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFHakUsU0FBUyxHQUEwQixVQUFVLENBQUM7SUFHOUMsWUFBWSxDQUFvQjtJQUdoQyxTQUFTLENBQTBCO0lBR25DLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFJL0IsV0FBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUd6RixVQUFVLEdBQTBDLElBQUksWUFBWSxFQUEyQixDQUFDO0lBR2hHLGdCQUFnQixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUVwRixXQUFXLEdBQXVCLE1BQU0sQ0FBQztJQUNqRCxJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFxQjtRQUN2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QkFBdUI7O1NBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO2lJQVNQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsZ0JBQWdCO3NCQURmLE1BQU07Z0JBS0ksVUFBVTtzQkFEcEIsS0FBSztnQkFVQyxVQUFVO3NCQURoQixNQUFNO2dCQU1JLElBQUk7c0JBRGQsS0FBSztnQkFhTixXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLO2dCQWVOLFNBQVM7c0JBRFIsTUFBTTtnQkFLSSxHQUFHO3NCQURiLEtBQUs7Z0JBVU4sU0FBUztzQkFEUixNQUFNO2dCQUtJLEdBQUc7c0JBRGIsS0FBSztnQkFTTixtQkFBbUI7c0JBRGxCLE1BQU07Z0JBS0ksYUFBYTtzQkFEdkIsS0FBSztnQkFTTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS0ksWUFBWTtzQkFEdEIsS0FBSzs7QUFXVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsT0FBTztJQUNQLFlBQVk7SUFDWixLQUFLO0lBQ0wsS0FBSztJQUNMLGVBQWU7SUFDZixNQUFNO0lBQ04sY0FBYztDQUNqQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2NvbmZpZ1wiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhSYW5nZUNoYW5nZWRFdmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW5cIjtcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tIFwicG9seXR5cGVcIjtcblxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdUeXBlID0gJ3llYXJzJyB8ICdtb250aHMnIHwgJ2RheXMnO1xuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdEZXB0aCA9IEFYQ2FsZW5kYXJWaWV3VHlwZTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMgPSBEYXRlW10gfCAoKGRhdGU6IERhdGUpID0+IGJvb2xlYW4pO1xuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckNlbGxDc3NDbGFzcyA9IHN0cmluZyB8IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHwgKChkYXRlOiBEYXRlKSA9PiBzdHJpbmcpO1xuXG5cbi8qKlxuKiAgQ29udGFpbnMgbmF0aXZlIGV2ZW50XG4qIEBjYXRlZ29yeSBFdmVudHNcbiovXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBBWFJhbmdlQ2hhbmdlZEV2ZW50PERhdGU+IHtcblxufVxuXG4vKipcbiogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxuKiBAY2F0ZWdvcnkgRXZlbnRzXG4qL1xuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJTbG90Q2xpY2sgZXh0ZW5kcyBBWEl0ZW1DbGlja0V2ZW50PERhdGU+IHtcblxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTVhDYWxlbmRhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YQmFzZUNvbXBvbmVudCkge1xuXG4gICAgQElucHV0KClcbiAgICBpbnRlcmZhY2U6ICdjYWxlbmRhcicgfCAncGlja2VyJyA9ICdjYWxlbmRhcic7XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxDbGFzcz86IEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3M7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgQE91dHB1dCgpXG4gICAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyU2xvdENsaWNrPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclNsb3RDbGljaz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyTmF2aWdhdGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcbiAgICB9XG4gICAgcHVibGljIHNldCBhY3RpdmVWaWV3KHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnYWN0aXZlVmlldycsXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdHlwZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZyA9IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlIHx8IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB0eXBlKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAndHlwZScsXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBkZXB0aENoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld0RlcHRoPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3RGVwdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdEZXB0aCkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnZGVwdGgnLFxuICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICBiZWZvcmVDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IHY7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBtaW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX21pbjogRGF0ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbWluKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2OiBEYXRlKSB7XG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICdtaW4nLFxuICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgQE91dHB1dCgpXG4gICAgbWF4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBwcml2YXRlIF9tYXg6IERhdGU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1heCgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodjogRGF0ZSkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnbWF4JyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBkaXNhYmxlZERhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4oKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7IG5hbWU6ICdkaXNhYmxlZERhdGVzJywgdmFsdWU6IHYgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgaG9saWRheURhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckhvbGlkYXlEYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+KCk7XG5cbiAgICBwcml2YXRlIF9ob2xpZGF5RGF0ZXM6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGhvbGlkYXlEYXRlcygpOiBBWENhbGVuZGFySG9saWRheURhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlEYXRlcztcbiAgICB9XG4gICAgcHVibGljIHNldCBob2xpZGF5RGF0ZXModjogQVhDYWxlbmRhckhvbGlkYXlEYXRlcykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7IG5hbWU6ICdob2xpZGF5RGF0ZXMnLCB2YWx1ZTogdiB9KTtcbiAgICB9XG59XG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQge1xuXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWEl0ZW1DbGlja0V2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhJdGVtQ2xpY2tFdmVudDxEYXRlPj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyTmF2aWdhdGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcbiAgICB9XG4gICAgcHVibGljIHNldCBhY3RpdmVWaWV3KHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnYWN0aXZlVmlldycsIHZhbHVlOiB2IH0pO1xuICAgIH1cblxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHR5cGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIF90eXBlOiBzdHJpbmcgPSBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSB8fCBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdHlwZSh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgIHZhbHVlOiB2XG4gICAgICAgIH0pXG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBkZXB0aENoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld0RlcHRoPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3RGVwdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdEZXB0aCkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oe1xuICAgICAgICAgICAgbmFtZTogJ2RlcHRoJyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYmVmb3JlQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3RpdmVWaWV3ID0gdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgbWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBwcml2YXRlIF9taW46IERhdGU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICB9XG4gICAgcHVibGljIHNldCBtaW4odjogRGF0ZSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnbWluJywgdmFsdWU6IHYgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBtYXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX21heDogRGF0ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbWF4KCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1heCh2OiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7IG5hbWU6ICdtYXgnLCB2YWx1ZTogdiB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBkaXNhYmxlZERhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4oKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnZGlzYWJsZWREYXRlcycsIHZhbHVlOiB2IH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGhvbGlkYXlEYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPigpO1xuXG4gICAgcHJpdmF0ZSBfaG9saWRheURhdGVzOiBBWENhbGVuZGFySG9saWRheURhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBob2xpZGF5RGF0ZXMoKTogQVhDYWxlbmRhckhvbGlkYXlEYXRlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob2xpZGF5RGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaG9saWRheURhdGVzKHY6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHsgbmFtZTogJ2hvbGlkYXlEYXRlcycsIHZhbHVlOiB2IH0pO1xuICAgIH1cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9JTlBVVFMgPSBbXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnaG9saWRheURhdGVzJyxcbl07XG5leHBvcnQgY29uc3QgQ0FMRU5EQVJfT1VUUFVUUyA9IFsnZGVwdGhDaGFuZ2UnLCAndHlwZUNoYW5nZScsICdkaXNhYmxlZERhdGVzQ2hhbmdlJywgJ2hvbGlkYXlEYXRlc0NoYW5nZScsICdvbk5hdmlnYXRlJ107XG4iXX0=