@acorex/components 6.5.29 → 6.5.31

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 (364) hide show
  1. package/README.md +3 -3
  2. package/acorex-components.d.ts +5 -5
  3. package/esm2020/acorex-components.mjs +4 -4
  4. package/esm2020/lib/accordion/accordion.component.mjs +44 -44
  5. package/esm2020/lib/accordion/accordion.module.mjs +20 -20
  6. package/esm2020/lib/base/base-page.class.mjs +94 -94
  7. package/esm2020/lib/base/components.class.mjs +17 -17
  8. package/esm2020/lib/base/element.class.mjs +294 -294
  9. package/esm2020/lib/base/events.class.mjs +11 -11
  10. package/esm2020/lib/button/button.component.mjs +71 -71
  11. package/esm2020/lib/button/button.module.mjs +21 -21
  12. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -413
  13. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -22
  14. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -54
  15. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -18
  16. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -213
  17. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -68
  18. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -132
  19. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -37
  20. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -47
  21. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -95
  22. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -204
  23. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -99
  24. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -77
  25. package/esm2020/lib/checkbox/checkbox.component.mjs +98 -98
  26. package/esm2020/lib/checkbox/checkbox.module.mjs +20 -20
  27. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -422
  28. package/esm2020/lib/color-picker/color-picker.component.mjs +82 -82
  29. package/esm2020/lib/color-picker/color-picker.module.mjs +24 -24
  30. package/esm2020/lib/context-menu/context-menu.component.mjs +65 -65
  31. package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -135
  32. package/esm2020/lib/context-menu/context-menu.module.mjs +20 -20
  33. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -138
  34. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -117
  35. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -74
  36. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -117
  37. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -258
  38. package/esm2020/lib/data-filter/filter.class.mjs +44 -44
  39. package/esm2020/lib/data-filter/filter.module.mjs +90 -90
  40. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -166
  41. package/esm2020/lib/data-list/core/data-list.component.mjs +40 -40
  42. package/esm2020/lib/data-list/list/list.component.mjs +124 -124
  43. package/esm2020/lib/data-list/list/list.module.mjs +22 -22
  44. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -85
  45. package/esm2020/lib/data-source/datasource.component.mjs +47 -47
  46. package/esm2020/lib/data-source/datasource.module.mjs +18 -18
  47. package/esm2020/lib/data-source/read-param.mjs +5 -5
  48. package/esm2020/lib/date-picker/date-picker.component.mjs +702 -702
  49. package/esm2020/lib/date-picker/date-picker.module.mjs +25 -25
  50. package/esm2020/lib/dialog/dialog.component.mjs +24 -24
  51. package/esm2020/lib/dialog/dialog.module.mjs +21 -21
  52. package/esm2020/lib/dialog/dialog.service.mjs +150 -150
  53. package/esm2020/lib/drawer/content.component.mjs +18 -18
  54. package/esm2020/lib/drawer/drawer-container.component.mjs +36 -36
  55. package/esm2020/lib/drawer/drawer.component.mjs +142 -142
  56. package/esm2020/lib/drawer/drawer.module.mjs +23 -23
  57. package/esm2020/lib/dropdown/dropdown.component.mjs +176 -176
  58. package/esm2020/lib/dropdown/dropdown.module.mjs +26 -26
  59. package/esm2020/lib/fieldset/fieldset.component.mjs +59 -59
  60. package/esm2020/lib/fieldset/fieldset.module.mjs +19 -19
  61. package/esm2020/lib/form-group/form-group.component.mjs +34 -34
  62. package/esm2020/lib/form-group/form-group.module.mjs +21 -21
  63. package/esm2020/lib/label/label.component.mjs +19 -19
  64. package/esm2020/lib/label/label.module.mjs +21 -21
  65. package/esm2020/lib/loading/loading-indicator.component.mjs +17 -17
  66. package/esm2020/lib/loading/loading-panel.component.mjs +44 -44
  67. package/esm2020/lib/loading/loading.module.mjs +21 -21
  68. package/esm2020/lib/loading/loading.service.mjs +45 -45
  69. package/esm2020/lib/menu/menu-item.component.mjs +47 -47
  70. package/esm2020/lib/menu/menu.component.mjs +86 -86
  71. package/esm2020/lib/menu/menu.module.mjs +22 -22
  72. package/esm2020/lib/menu/menu2.component.mjs +96 -96
  73. package/esm2020/lib/number-box/number-box.component.mjs +622 -622
  74. package/esm2020/lib/number-box/number-box.module.mjs +21 -21
  75. package/esm2020/lib/page/content.component.mjs +32 -32
  76. package/esm2020/lib/page/footer.component.mjs +19 -19
  77. package/esm2020/lib/page/page.component.mjs +53 -53
  78. package/esm2020/lib/page/page.module.mjs +22 -22
  79. package/esm2020/lib/panel-box/panel-box.component.mjs +88 -88
  80. package/esm2020/lib/panel-box/panel-box.module.mjs +19 -19
  81. package/esm2020/lib/password-box/password-box.component.mjs +31 -31
  82. package/esm2020/lib/password-box/password-box.module.mjs +23 -23
  83. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -48
  84. package/esm2020/lib/popover/overlay.service.mjs +90 -90
  85. package/esm2020/lib/popover/popover.component.mjs +127 -127
  86. package/esm2020/lib/popover/popover.module.mjs +19 -19
  87. package/esm2020/lib/popup/popup.component.mjs +147 -147
  88. package/esm2020/lib/popup/popup.module.mjs +25 -25
  89. package/esm2020/lib/popup/popup.service.mjs +93 -93
  90. package/esm2020/lib/progress-bar/progress-bar.component.mjs +19 -19
  91. package/esm2020/lib/progress-bar/progress-bar.module.mjs +19 -19
  92. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -61
  93. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -22
  94. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -38
  95. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -24
  96. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -115
  97. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -32
  98. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -211
  99. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -78
  100. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -51
  101. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -24
  102. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -63
  103. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -24
  104. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -140
  105. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -61
  106. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -72
  107. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +71 -71
  108. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -25
  109. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -69
  110. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -22
  111. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -29
  112. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -25
  113. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -32
  114. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -24
  115. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -32
  116. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -24
  117. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -43
  118. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -24
  119. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +154 -154
  120. package/esm2020/lib/property-editor/property-editor.class.mjs +101 -101
  121. package/esm2020/lib/property-editor/property-editor.module.mjs +196 -196
  122. package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -124
  123. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -171
  124. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +395 -395
  125. package/esm2020/lib/query-builder/query-builder.class.mjs +20 -20
  126. package/esm2020/lib/query-builder/query-builder.component.mjs +82 -82
  127. package/esm2020/lib/query-builder/query-builder.module.mjs +62 -62
  128. package/esm2020/lib/query-builder/query-builder.service.mjs +197 -197
  129. package/esm2020/lib/search-bar/search-bar.component.mjs +283 -283
  130. package/esm2020/lib/search-bar/search-bar.module.mjs +63 -63
  131. package/esm2020/lib/searchbox/searchbox.component.mjs +79 -79
  132. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -24
  133. package/esm2020/lib/selectbox/selectbox.component.mjs +961 -961
  134. package/esm2020/lib/selectbox/selectbox.module.mjs +44 -44
  135. package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -574
  136. package/esm2020/lib/selection-list/selection-list.component.mjs +108 -108
  137. package/esm2020/lib/selection-list/selection-list.module.mjs +21 -21
  138. package/esm2020/lib/switch/switch.component.mjs +51 -51
  139. package/esm2020/lib/switch/switch.module.mjs +20 -20
  140. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -71
  141. package/esm2020/lib/tab-page/tab-page-host.component.mjs +116 -116
  142. package/esm2020/lib/tab-page/tab-page.module.mjs +21 -21
  143. package/esm2020/lib/tab-page/tab-page.service.mjs +156 -156
  144. package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -36
  145. package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -19
  146. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -24
  147. package/esm2020/lib/tab-view/tab-view.component.mjs +105 -105
  148. package/esm2020/lib/tab-view/tab-view.module.mjs +21 -21
  149. package/esm2020/lib/tab-view/tab.component.mjs +30 -30
  150. package/esm2020/lib/textarea/textarea.component.mjs +26 -26
  151. package/esm2020/lib/textarea/textarea.module.mjs +21 -21
  152. package/esm2020/lib/textbox/textbox.component.mjs +39 -39
  153. package/esm2020/lib/textbox/textbox.module.mjs +24 -24
  154. package/esm2020/lib/time-picker/time-picker.component.mjs +943 -943
  155. package/esm2020/lib/time-picker/time-picker.module.mjs +22 -22
  156. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -74
  157. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -13
  158. package/esm2020/lib/toast/toast.module.mjs +21 -21
  159. package/esm2020/lib/toast/toast.service.mjs +44 -44
  160. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -78
  161. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -57
  162. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -54
  163. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -47
  164. package/esm2020/lib/toolbar/toolbar-item.mjs +6 -6
  165. package/esm2020/lib/toolbar/toolbar.component.mjs +13 -13
  166. package/esm2020/lib/toolbar/toolbar.module.mjs +40 -40
  167. package/esm2020/lib/tooltip/tooltip.directive.mjs +100 -100
  168. package/esm2020/lib/tooltip/tooltip.module.mjs +19 -19
  169. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -646
  170. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -35
  171. package/esm2020/lib/tree-view/tree-view.component.mjs +775 -775
  172. package/esm2020/lib/tree-view/tree-view.module.mjs +22 -22
  173. package/esm2020/lib/upload-file/upload-file.component.mjs +208 -208
  174. package/esm2020/lib/upload-file/upload-file.events.mjs +2 -2
  175. package/esm2020/lib/upload-file/upload-file.module.mjs +24 -24
  176. package/esm2020/lib/validation/validation-form.component.mjs +65 -65
  177. package/esm2020/lib/validation/validation-rule.widget.mjs +111 -111
  178. package/esm2020/lib/validation/validation.class.mjs +2 -2
  179. package/esm2020/lib/validation/validation.component.mjs +89 -89
  180. package/esm2020/lib/validation/validation.module.mjs +34 -34
  181. package/esm2020/public-api.mjs +158 -158
  182. package/fesm2015/acorex-components.mjs +15616 -15616
  183. package/fesm2015/acorex-components.mjs.map +1 -1
  184. package/fesm2020/acorex-components.mjs +15552 -15552
  185. package/fesm2020/acorex-components.mjs.map +1 -1
  186. package/lib/accordion/accordion.component.d.ts +13 -13
  187. package/lib/accordion/accordion.module.d.ts +9 -9
  188. package/lib/base/base-page.class.d.ts +46 -46
  189. package/lib/base/components.class.d.ts +10 -10
  190. package/lib/base/element.class.d.ts +106 -106
  191. package/lib/base/events.class.d.ts +18 -18
  192. package/lib/button/button.component.d.ts +21 -21
  193. package/lib/button/button.module.d.ts +8 -8
  194. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -81
  195. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -11
  196. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -19
  197. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -36
  198. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -39
  199. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -21
  200. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -25
  201. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -14
  202. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -16
  203. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -26
  204. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -37
  205. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -28
  206. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -24
  207. package/lib/checkbox/checkbox.component.d.ts +30 -30
  208. package/lib/checkbox/checkbox.module.d.ts +9 -9
  209. package/lib/color-picker/color-box/color-box.component.d.ts +25 -25
  210. package/lib/color-picker/color-picker.component.d.ts +30 -30
  211. package/lib/color-picker/color-picker.module.d.ts +13 -13
  212. package/lib/context-menu/context-menu.component.d.ts +22 -22
  213. package/lib/context-menu/context-menu.directive.d.ts +38 -38
  214. package/lib/context-menu/context-menu.module.d.ts +9 -9
  215. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -22
  216. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -15
  217. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -18
  218. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -15
  219. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -45
  220. package/lib/data-filter/filter.class.d.ts +40 -40
  221. package/lib/data-filter/filter.module.d.ts +24 -24
  222. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -25
  223. package/lib/data-list/core/data-list.component.d.ts +15 -15
  224. package/lib/data-list/list/list.component.d.ts +40 -40
  225. package/lib/data-list/list/list.module.d.ts +11 -11
  226. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -17
  227. package/lib/data-source/datasource.component.d.ts +16 -16
  228. package/lib/data-source/datasource.module.d.ts +7 -7
  229. package/lib/data-source/read-param.d.ts +40 -40
  230. package/lib/date-picker/date-picker.component.d.ts +81 -81
  231. package/lib/date-picker/date-picker.module.d.ts +14 -14
  232. package/lib/dialog/dialog.component.d.ts +14 -14
  233. package/lib/dialog/dialog.module.d.ts +10 -10
  234. package/lib/dialog/dialog.service.d.ts +36 -36
  235. package/lib/drawer/content.component.d.ts +7 -7
  236. package/lib/drawer/drawer-container.component.d.ts +10 -10
  237. package/lib/drawer/drawer.component.d.ts +34 -34
  238. package/lib/drawer/drawer.module.d.ts +10 -10
  239. package/lib/dropdown/dropdown.component.d.ts +38 -38
  240. package/lib/dropdown/dropdown.module.d.ts +13 -13
  241. package/lib/fieldset/fieldset.component.d.ts +11 -11
  242. package/lib/fieldset/fieldset.module.d.ts +8 -8
  243. package/lib/form-group/form-group.component.d.ts +14 -14
  244. package/lib/form-group/form-group.module.d.ts +8 -8
  245. package/lib/label/label.component.d.ts +9 -9
  246. package/lib/label/label.module.d.ts +8 -8
  247. package/lib/loading/loading-indicator.component.d.ts +9 -9
  248. package/lib/loading/loading-panel.component.d.ts +13 -13
  249. package/lib/loading/loading.module.d.ts +10 -10
  250. package/lib/loading/loading.service.d.ts +13 -13
  251. package/lib/menu/menu-item.component.d.ts +18 -18
  252. package/lib/menu/menu.component.d.ts +35 -35
  253. package/lib/menu/menu.module.d.ts +11 -11
  254. package/lib/menu/menu2.component.d.ts +21 -21
  255. package/lib/number-box/number-box.component.d.ts +52 -52
  256. package/lib/number-box/number-box.module.d.ts +10 -10
  257. package/lib/page/content.component.d.ts +8 -8
  258. package/lib/page/footer.component.d.ts +5 -5
  259. package/lib/page/page.component.d.ts +16 -16
  260. package/lib/page/page.module.d.ts +11 -11
  261. package/lib/panel-box/panel-box.component.d.ts +19 -19
  262. package/lib/panel-box/panel-box.module.d.ts +8 -8
  263. package/lib/password-box/password-box.component.d.ts +12 -12
  264. package/lib/password-box/password-box.module.d.ts +10 -10
  265. package/lib/popover/custom-cdk-overlay.service.d.ts +19 -19
  266. package/lib/popover/overlay.service.d.ts +31 -31
  267. package/lib/popover/popover.component.d.ts +34 -34
  268. package/lib/popover/popover.module.d.ts +8 -8
  269. package/lib/popup/popup.component.d.ts +40 -40
  270. package/lib/popup/popup.module.d.ts +13 -13
  271. package/lib/popup/popup.service.d.ts +22 -22
  272. package/lib/progress-bar/progress-bar.component.d.ts +7 -7
  273. package/lib/progress-bar/progress-bar.module.d.ts +8 -8
  274. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -19
  275. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -11
  276. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -13
  277. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -12
  278. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -34
  279. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -20
  280. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -44
  281. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -19
  282. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -28
  283. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -12
  284. package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -20
  285. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -12
  286. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -29
  287. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -18
  288. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -29
  289. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +28 -28
  290. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -14
  291. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -25
  292. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -11
  293. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -11
  294. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -13
  295. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -18
  296. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -12
  297. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -17
  298. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -12
  299. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -17
  300. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -12
  301. package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -30
  302. package/lib/property-editor/property-editor.class.d.ts +92 -92
  303. package/lib/property-editor/property-editor.module.d.ts +21 -21
  304. package/lib/query-builder/query-builder-group.component.d.ts +33 -33
  305. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -35
  306. package/lib/query-builder/query-builder-rule.component.d.ts +45 -45
  307. package/lib/query-builder/query-builder.class.d.ts +45 -45
  308. package/lib/query-builder/query-builder.component.d.ts +27 -27
  309. package/lib/query-builder/query-builder.module.d.ts +23 -23
  310. package/lib/query-builder/query-builder.service.d.ts +18 -18
  311. package/lib/search-bar/search-bar.component.d.ts +61 -61
  312. package/lib/search-bar/search-bar.module.d.ts +18 -18
  313. package/lib/searchbox/searchbox.component.d.ts +22 -22
  314. package/lib/searchbox/searchbox.module.d.ts +13 -13
  315. package/lib/selectbox/selectbox.component.d.ts +118 -118
  316. package/lib/selectbox/selectbox.module.d.ts +15 -15
  317. package/lib/selectbox/selectbox2.component.d.ts +103 -103
  318. package/lib/selection-list/selection-list.component.d.ts +32 -32
  319. package/lib/selection-list/selection-list.module.d.ts +10 -10
  320. package/lib/switch/switch.component.d.ts +20 -20
  321. package/lib/switch/switch.module.d.ts +9 -9
  322. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -16
  323. package/lib/tab-page/tab-page-host.component.d.ts +25 -25
  324. package/lib/tab-page/tab-page.module.d.ts +10 -10
  325. package/lib/tab-page/tab-page.service.d.ts +30 -30
  326. package/lib/tab-strip/tab-strip.component.d.ts +28 -28
  327. package/lib/tab-strip/tab-strip.module.d.ts +8 -8
  328. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -16
  329. package/lib/tab-view/tab-view.component.d.ts +26 -26
  330. package/lib/tab-view/tab-view.module.d.ts +10 -10
  331. package/lib/tab-view/tab.component.d.ts +12 -12
  332. package/lib/textarea/textarea.component.d.ts +12 -12
  333. package/lib/textarea/textarea.module.d.ts +8 -8
  334. package/lib/textbox/textbox.component.d.ts +16 -16
  335. package/lib/textbox/textbox.module.d.ts +11 -11
  336. package/lib/time-picker/time-picker.component.d.ts +52 -52
  337. package/lib/time-picker/time-picker.module.d.ts +11 -11
  338. package/lib/toast/toast-message/toast-message.component.d.ts +18 -18
  339. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -8
  340. package/lib/toast/toast.module.d.ts +9 -9
  341. package/lib/toast/toast.service.d.ts +18 -18
  342. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -12
  343. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -24
  344. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -16
  345. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -9
  346. package/lib/toolbar/toolbar-item.d.ts +3 -3
  347. package/lib/toolbar/toolbar.component.d.ts +8 -8
  348. package/lib/toolbar/toolbar.module.d.ts +14 -14
  349. package/lib/tooltip/tooltip.directive.d.ts +21 -21
  350. package/lib/tooltip/tooltip.module.d.ts +8 -8
  351. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -111
  352. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -11
  353. package/lib/tree-view/tree-view.component.d.ts +121 -121
  354. package/lib/tree-view/tree-view.module.d.ts +11 -11
  355. package/lib/upload-file/upload-file.component.d.ts +42 -42
  356. package/lib/upload-file/upload-file.events.d.ts +10 -10
  357. package/lib/upload-file/upload-file.module.d.ts +13 -13
  358. package/lib/validation/validation-form.component.d.ts +19 -19
  359. package/lib/validation/validation-rule.widget.d.ts +23 -23
  360. package/lib/validation/validation.class.d.ts +16 -16
  361. package/lib/validation/validation.component.d.ts +25 -25
  362. package/lib/validation/validation.module.d.ts +11 -11
  363. package/package.json +1 -1
  364. package/public-api.d.ts +155 -155
@@ -1,213 +1,213 @@
1
- import { Component, ContentChild, Input, ViewEncapsulation, ElementRef, ViewChild, Output, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
2
- import { AXSchedulerViewsProperty, AXSchedulerViewProperty } from './scheduler-views.property';
3
- import { AXToolbarSchedulerViewsComponent } from './toolbars/scheduler-toolbar-views';
4
- import { AXSchedulerDayTimeViewComponent } from './views/daytime/scheduler-daytime-view.component';
5
- import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
6
- import { AXSchedulerMonthViewComponent } from './views/month/scheduler-month-view.component';
7
- import { AXToolbarSchedulerNavigatorComponent } from './toolbars/scheduler-toolbar-navigator';
8
- import { AXSchedulerAgendaViewComponent } from './views/agenda/scheduler-agenda-view.component';
9
- import { AXSchedulerTimelineViewComponent } from './views/timeline/scheduler-timeline-view.component';
10
- import { AXDateTime } from '@acorex/core';
11
- import { AXToolbarSearchComponent } from '../../toolbar/search/toolbar-search.component';
12
- import { AXDataSourceComponent } from '../../data-source/datasource.component';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/cdk/portal";
15
- export class AXSchedulerComponent {
16
- constructor(elm, zone, cdr) {
17
- this.elm = elm;
18
- this.zone = zone;
19
- this.cdr = cdr;
20
- this.viewItems = [];
21
- this.today = new AXDateTime();
22
- this.navigatorDate = new AXDateTime();
23
- this.events = [];
24
- this.onEventChanged = new EventEmitter();
25
- }
26
- get currentView() {
27
- return this._currentView;
28
- }
29
- set currentView(v) {
30
- this.setView(v);
31
- }
32
- setView(name) {
33
- this._currentView = name;
34
- if (this.viewManager.views) {
35
- this.viewItems.forEach(c => {
36
- c.selected = false;
37
- });
38
- this.viewItems.find(c => c.name == name).selected = true;
39
- const selected = this.viewManager.views.find(c => c.name == name);
40
- this.createView(selected);
41
- }
42
- }
43
- createView(selected) {
44
- this.startAnim();
45
- if (this.view) {
46
- this.view.ngOnDestroy();
47
- }
48
- let portal;
49
- this.portalOutlet.detach();
50
- let interval = selected.interval;
51
- if (selected.type === 'day') {
52
- portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
53
- }
54
- if (selected.type === 'week') {
55
- portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
56
- interval = selected.interval * 7;
57
- }
58
- if (selected.type === 'month') {
59
- portal = new ComponentPortal(AXSchedulerMonthViewComponent);
60
- }
61
- if (selected.type === 'agenda') {
62
- portal = new ComponentPortal(AXSchedulerAgendaViewComponent);
63
- }
64
- if (selected.type === 'timeline') {
65
- portal = new ComponentPortal(AXSchedulerTimelineViewComponent);
66
- }
67
- const compRef = this.portalOutlet.attach(portal);
68
- this.view = compRef.instance;
69
- this.view.type = selected.type;
70
- this.view.interval = interval;
71
- //
72
- this.view.onEventChanged.subscribe(e => {
73
- this.onEventChanged.emit(e);
74
- });
75
- this.view.onNavigatorDateChanged.subscribe((e) => {
76
- this.navigatorDate = e;
77
- this.setNavigatorText();
78
- this.startAnim();
79
- });
80
- this.refresh();
81
- }
82
- setNavigatorText() {
83
- if (this.toolbarNavigator) {
84
- this.toolbarNavigator.set(this.view.dateRange, this.view.type);
85
- }
86
- }
87
- startAnim() {
88
- this.container.nativeElement.classList.remove('ax-anim-fade-in-fwd');
89
- this.container.nativeElement.style.opacity = '0';
90
- setTimeout(() => {
91
- this.container.nativeElement.classList.add('ax-anim-fade-in-fwd');
92
- }, 250);
93
- }
94
- ngAfterViewInit() {
95
- setTimeout(_ => {
96
- this.viewManager.views.forEach(v => {
97
- this.viewItems.push({
98
- groupName: 'view',
99
- name: v.name,
100
- text: v.caption
101
- });
102
- });
103
- //
104
- this.dataSource.onDataReceived.subscribe((e) => {
105
- this.events = e;
106
- this.view.events = this.events;
107
- if (this.searchText && this.view.events && this.view.events.length) {
108
- this.navigatorDate = this.view.events[0].range.startTime;
109
- }
110
- if (this.navigatorDate) {
111
- this.view.navigate(this.navigatorDate);
112
- }
113
- else {
114
- this.view.navigate(this.today);
115
- }
116
- });
117
- //
118
- if (this.toolbarView) {
119
- this.toolbarView.onViewChanged.subscribe((c) => {
120
- this.currentView = c;
121
- });
122
- this.toolbarView.items = this.viewItems;
123
- }
124
- //
125
- if (this.toolbarNavigator) {
126
- this.toolbarNavigator.onNavigate.subscribe((c) => {
127
- if (c === 'next') {
128
- this.view.next();
129
- }
130
- else if (c === 'prev') {
131
- this.view.prev();
132
- }
133
- else {
134
- this.view.navigate(c);
135
- }
136
- });
137
- }
138
- if (this.searchInput) {
139
- this.searchInput.onValueChanged.subscribe((c) => {
140
- this.searchText = c;
141
- if (c) {
142
- this.viewItems.forEach(c => { c.visible = false; });
143
- const x = new AXSchedulerViewProperty('agenda', 'Search', 'VIEW_SEARCH');
144
- x.interval = 100;
145
- this.createView(x);
146
- this.refresh();
147
- }
148
- else {
149
- this.viewItems.forEach(c => { c.visible = true; });
150
- this.setView(this._currentView);
151
- }
152
- this.toolbarView.update();
153
- });
154
- }
155
- //
156
- this.setView(this.currentView);
157
- this.refresh();
158
- });
159
- }
160
- ngAfterViewChecked() {
161
- this.updateSize();
162
- }
163
- updateSize() {
164
- this.zone.runOutsideAngular(() => {
165
- const toolbar = this.elm.nativeElement.querySelector('.ax-scheduler-toolbar');
166
- if (toolbar) {
167
- this.container.nativeElement.style.height = `calc(100% - ${toolbar.clientHeight}px)`;
168
- }
169
- });
170
- }
171
- ngOnDestroy() {
172
- this.portalOutlet.detach();
173
- }
174
- refresh() {
175
- this.dataSource.fetch({
176
- searchText: this.searchText,
177
- });
178
- }
179
- }
180
- AXSchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
181
- AXSchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerComponent, selector: "ax-scheduler", inputs: { currentView: "currentView", events: "events" }, outputs: { onEventChanged: "onEventChanged" }, queries: [{ propertyName: "viewManager", first: true, predicate: AXSchedulerViewsProperty, descendants: true, static: true }, { propertyName: "toolbarView", first: true, predicate: AXToolbarSchedulerViewsComponent, descendants: true, static: true }, { propertyName: "toolbarNavigator", first: true, predicate: AXToolbarSchedulerNavigatorComponent, descendants: true, static: true }, { propertyName: "searchInput", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\r\n<div class=\"ax-scheduler\">\r\n <div class=\"ax-scheduler-toolbar\" >\r\n <ng-content select=\"ax-toolbar\"></ng-content>\r\n </div>\r\n <div class=\"view-container\" #container>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:-webkit-grabbing;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:-webkit-grabbing;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, decorators: [{
183
- type: Component,
184
- args: [{ selector: 'ax-scheduler', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\r\n<div class=\"ax-scheduler\">\r\n <div class=\"ax-scheduler-toolbar\" >\r\n <ng-content select=\"ax-toolbar\"></ng-content>\r\n </div>\r\n <div class=\"view-container\" #container>\r\n <ng-template cdkPortalOutlet></ng-template>\r\n </div>\r\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:-webkit-grabbing;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:-webkit-grabbing;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"] }]
185
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { portalOutlet: [{
186
- type: ViewChild,
187
- args: [CdkPortalOutlet, { static: true }]
188
- }], container: [{
189
- type: ViewChild,
190
- args: ['container', { static: true }]
191
- }], viewManager: [{
192
- type: ContentChild,
193
- args: [AXSchedulerViewsProperty, { static: true }]
194
- }], toolbarView: [{
195
- type: ContentChild,
196
- args: [AXToolbarSchedulerViewsComponent, { static: true }]
197
- }], toolbarNavigator: [{
198
- type: ContentChild,
199
- args: [AXToolbarSchedulerNavigatorComponent, { static: true }]
200
- }], searchInput: [{
201
- type: ContentChild,
202
- args: [AXToolbarSearchComponent, { static: true }]
203
- }], dataSource: [{
204
- type: ContentChild,
205
- args: [AXDataSourceComponent, { static: true }]
206
- }], currentView: [{
207
- type: Input
208
- }], events: [{
209
- type: Input
210
- }], onEventChanged: [{
211
- type: Output
212
- }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3NjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXRHLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7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aWxkLFxyXG4gIElucHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE5nWm9uZSxcclxuICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkgfSBmcm9tICcuL3NjaGVkdWxlci12aWV3cy5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IEFYVG9vbGJhclNjaGVkdWxlclZpZXdzQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci12aWV3cyc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2RheXRpbWUvc2NoZWR1bGVyLWRheXRpbWUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckJhc2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9zY2hlZHVsZXItdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlck1vbnRoVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvbW9udGgvc2NoZWR1bGVyLW1vbnRoLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhUb29sYmFyU2NoZWR1bGVyTmF2aWdhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci1uYXZpZ2F0b3InO1xyXG5pbXBvcnQgeyBBWFNjaGVkdWxlckFnZW5kYVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2FnZW5kYS9zY2hlZHVsZXItYWdlbmRhLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhTY2hlZHVsZXJUaW1lbGluZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3RpbWVsaW5lL3NjaGVkdWxlci10aW1lbGluZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzLCBBWFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi9zY2hlZHVsZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWE1lbnVJdGVtLCBBWERhdGVUaW1lIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhUb29sYmFyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdG9vbGJhci9zZWFyY2gvdG9vbGJhci1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1zY2hlZHVsZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NjaGVkdWxlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxtOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBwb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldFxyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQVhTY2hlZHVsZXJWaWV3c1Byb3BlcnR5LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgdmlld01hbmFnZXI6IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIHRvb2xiYXJWaWV3OiBBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudDtcclxuICBAQ29udGVudENoaWxkKEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIHRvb2xiYXJOYXZpZ2F0b3I6IEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2VhcmNoSW5wdXQ6IEFYVG9vbGJhclNlYXJjaENvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBkYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XHJcblxyXG4gIHZpZXc6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ7XHJcblxyXG5cclxuICBwcml2YXRlIF9jdXJyZW50Vmlldzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBjdXJyZW50VmlldygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWaWV3O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3KHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXRWaWV3KHYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2aWV3SXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgdG9kYXkgPSBuZXcgQVhEYXRlVGltZSgpO1xyXG4gIHByaXZhdGUgbmF2aWdhdG9yRGF0ZSA9IG5ldyBBWERhdGVUaW1lKCk7XHJcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGV2ZW50czogQVhTY2hlZHVsZXJFdmVudFtdID0gW107XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uRXZlbnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncz4oKTtcclxuXHJcbiAgc2V0VmlldyhuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcclxuICAgIGlmICh0aGlzLnZpZXdNYW5hZ2VyLnZpZXdzKSB7XHJcbiAgICAgIHRoaXMudmlld0l0ZW1zLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgYy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52aWV3SXRlbXMuZmluZChjID0+IGMubmFtZSA9PSBuYW1lKS5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy52aWV3TWFuYWdlci52aWV3cy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpO1xyXG4gICAgICB0aGlzLmNyZWF0ZVZpZXcoc2VsZWN0ZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVmlldyhzZWxlY3RlZDogQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkpIHtcclxuICAgIHRoaXMuc3RhcnRBbmltKCk7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgbGV0IHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+O1xyXG4gICAgdGhpcy5wb3J0YWxPdXRsZXQuZGV0YWNoKCk7XHJcbiAgICBsZXQgaW50ZXJ2YWwgPSBzZWxlY3RlZC5pbnRlcnZhbDtcclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnZGF5Jykge1xyXG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICd3ZWVrJykge1xyXG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xyXG4gICAgICBpbnRlcnZhbCA9IHNlbGVjdGVkLmludGVydmFsICogNztcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJNb250aFZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdhZ2VuZGEnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJBZ2VuZGFWaWV3Q29tcG9uZW50KTtcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAndGltZWxpbmUnKSB7XHJcbiAgICAgIHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD4oQVhTY2hlZHVsZXJUaW1lbGluZVZpZXdDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+ID0gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoKHBvcnRhbCk7XHJcbiAgICB0aGlzLnZpZXcgPSBjb21wUmVmLmluc3RhbmNlO1xyXG4gICAgdGhpcy52aWV3LnR5cGUgPSBzZWxlY3RlZC50eXBlO1xyXG4gICAgdGhpcy52aWV3LmludGVydmFsID0gaW50ZXJ2YWw7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52aWV3Lm9uRXZlbnRDaGFuZ2VkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy5vbkV2ZW50Q2hhbmdlZC5lbWl0KGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnZpZXcub25OYXZpZ2F0b3JEYXRlQ2hhbmdlZC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZTtcclxuICAgICAgdGhpcy5zZXROYXZpZ2F0b3JUZXh0KCk7XHJcbiAgICAgIHRoaXMuc3RhcnRBbmltKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXROYXZpZ2F0b3JUZXh0KCkge1xyXG4gICAgaWYgKHRoaXMudG9vbGJhck5hdmlnYXRvcikge1xyXG4gICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iuc2V0KHRoaXMudmlldy5kYXRlUmFuZ2UsIHRoaXMudmlldy50eXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnRBbmltKCkge1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdheC1hbmltLWZhZGUtaW4tZndkJyk7XHJcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMCc7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdheC1hbmltLWZhZGUtaW4tZndkJyk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dChfID0+IHtcclxuICAgICAgdGhpcy52aWV3TWFuYWdlci52aWV3cy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgIHRoaXMudmlld0l0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgZ3JvdXBOYW1lOiAndmlldycsXHJcbiAgICAgICAgICBuYW1lOiB2Lm5hbWUsXHJcbiAgICAgICAgICB0ZXh0OiB2LmNhcHRpb25cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIC8vXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZC5zdWJzY3JpYmUoKGU6YW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5ldmVudHMgPSBlO1xyXG4gICAgICAgIHRoaXMudmlldy5ldmVudHMgPSB0aGlzLmV2ZW50cztcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMudmlldy5ldmVudHMgJiYgdGhpcy52aWV3LmV2ZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdG9yRGF0ZSA9IHRoaXMudmlldy5ldmVudHNbMF0ucmFuZ2Uuc3RhcnRUaW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5uYXZpZ2F0b3JEYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUodGhpcy5uYXZpZ2F0b3JEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUodGhpcy50b2RheSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgLy9cclxuICAgICAgaWYgKHRoaXMudG9vbGJhclZpZXcpIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXJWaWV3Lm9uVmlld0NoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFZpZXcgPSBjO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG9vbGJhclZpZXcuaXRlbXMgPSB0aGlzLnZpZXdJdGVtcztcclxuICAgICAgfVxyXG4gICAgICAvL1xyXG4gICAgICBpZiAodGhpcy50b29sYmFyTmF2aWdhdG9yKSB7XHJcbiAgICAgICAgdGhpcy50b29sYmFyTmF2aWdhdG9yLm9uTmF2aWdhdGUuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjID09PSAnbmV4dCcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Lm5leHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKGMgPT09ICdwcmV2Jykge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXcucHJldigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZShjKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IGM7XHJcbiAgICAgICAgICBpZiAoYykge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdJdGVtcy5mb3JFYWNoKGMgPT4geyBjLnZpc2libGUgPSBmYWxzZTsgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHg6IEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5ID0gbmV3IEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5KCdhZ2VuZGEnLCAnU2VhcmNoJywgJ1ZJRVdfU0VBUkNIJyk7XHJcbiAgICAgICAgICAgIHguaW50ZXJ2YWwgPSAxMDA7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVmlldyh4KTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3SXRlbXMuZm9yRWFjaChjID0+IHsgYy52aXNpYmxlID0gdHJ1ZTsgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Vmlldyh0aGlzLl9jdXJyZW50Vmlldyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnRvb2xiYXJWaWV3LnVwZGF0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIC8vXHJcbiAgICAgIHRoaXMuc2V0Vmlldyh0aGlzLmN1cnJlbnRWaWV3KTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlU2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVTaXplKCkge1xyXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oXHJcbiAgICAgICAgJy5heC1zY2hlZHVsZXItdG9vbGJhcidcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRvb2xiYXIpIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGBjYWxjKDEwMCUgLSAke3Rvb2xiYXIuY2xpZW50SGVpZ2h0fXB4KWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvcnRhbE91dGxldC5kZXRhY2goKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmV0Y2goe1xyXG4gICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNjaGVkdWxlci12aWV3c1wiPjwvbmctY29udGVudD5cclxuPGRpdiBjbGFzcz1cImF4LXNjaGVkdWxlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LXNjaGVkdWxlci10b29sYmFyXCIgPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2aWV3LWNvbnRhaW5lclwiICNjb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
1
+ import { Component, ContentChild, Input, ViewEncapsulation, ElementRef, ViewChild, Output, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
2
+ import { AXSchedulerViewsProperty, AXSchedulerViewProperty } from './scheduler-views.property';
3
+ import { AXToolbarSchedulerViewsComponent } from './toolbars/scheduler-toolbar-views';
4
+ import { AXSchedulerDayTimeViewComponent } from './views/daytime/scheduler-daytime-view.component';
5
+ import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
6
+ import { AXSchedulerMonthViewComponent } from './views/month/scheduler-month-view.component';
7
+ import { AXToolbarSchedulerNavigatorComponent } from './toolbars/scheduler-toolbar-navigator';
8
+ import { AXSchedulerAgendaViewComponent } from './views/agenda/scheduler-agenda-view.component';
9
+ import { AXSchedulerTimelineViewComponent } from './views/timeline/scheduler-timeline-view.component';
10
+ import { AXDateTime } from '@acorex/core';
11
+ import { AXToolbarSearchComponent } from '../../toolbar/search/toolbar-search.component';
12
+ import { AXDataSourceComponent } from '../../data-source/datasource.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/cdk/portal";
15
+ export class AXSchedulerComponent {
16
+ constructor(elm, zone, cdr) {
17
+ this.elm = elm;
18
+ this.zone = zone;
19
+ this.cdr = cdr;
20
+ this.viewItems = [];
21
+ this.today = new AXDateTime();
22
+ this.navigatorDate = new AXDateTime();
23
+ this.events = [];
24
+ this.onEventChanged = new EventEmitter();
25
+ }
26
+ get currentView() {
27
+ return this._currentView;
28
+ }
29
+ set currentView(v) {
30
+ this.setView(v);
31
+ }
32
+ setView(name) {
33
+ this._currentView = name;
34
+ if (this.viewManager.views) {
35
+ this.viewItems.forEach(c => {
36
+ c.selected = false;
37
+ });
38
+ this.viewItems.find(c => c.name == name).selected = true;
39
+ const selected = this.viewManager.views.find(c => c.name == name);
40
+ this.createView(selected);
41
+ }
42
+ }
43
+ createView(selected) {
44
+ this.startAnim();
45
+ if (this.view) {
46
+ this.view.ngOnDestroy();
47
+ }
48
+ let portal;
49
+ this.portalOutlet.detach();
50
+ let interval = selected.interval;
51
+ if (selected.type === 'day') {
52
+ portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
53
+ }
54
+ if (selected.type === 'week') {
55
+ portal = new ComponentPortal(AXSchedulerDayTimeViewComponent);
56
+ interval = selected.interval * 7;
57
+ }
58
+ if (selected.type === 'month') {
59
+ portal = new ComponentPortal(AXSchedulerMonthViewComponent);
60
+ }
61
+ if (selected.type === 'agenda') {
62
+ portal = new ComponentPortal(AXSchedulerAgendaViewComponent);
63
+ }
64
+ if (selected.type === 'timeline') {
65
+ portal = new ComponentPortal(AXSchedulerTimelineViewComponent);
66
+ }
67
+ const compRef = this.portalOutlet.attach(portal);
68
+ this.view = compRef.instance;
69
+ this.view.type = selected.type;
70
+ this.view.interval = interval;
71
+ //
72
+ this.view.onEventChanged.subscribe(e => {
73
+ this.onEventChanged.emit(e);
74
+ });
75
+ this.view.onNavigatorDateChanged.subscribe((e) => {
76
+ this.navigatorDate = e;
77
+ this.setNavigatorText();
78
+ this.startAnim();
79
+ });
80
+ this.refresh();
81
+ }
82
+ setNavigatorText() {
83
+ if (this.toolbarNavigator) {
84
+ this.toolbarNavigator.set(this.view.dateRange, this.view.type);
85
+ }
86
+ }
87
+ startAnim() {
88
+ this.container.nativeElement.classList.remove('ax-anim-fade-in-fwd');
89
+ this.container.nativeElement.style.opacity = '0';
90
+ setTimeout(() => {
91
+ this.container.nativeElement.classList.add('ax-anim-fade-in-fwd');
92
+ }, 250);
93
+ }
94
+ ngAfterViewInit() {
95
+ setTimeout(_ => {
96
+ this.viewManager.views.forEach(v => {
97
+ this.viewItems.push({
98
+ groupName: 'view',
99
+ name: v.name,
100
+ text: v.caption
101
+ });
102
+ });
103
+ //
104
+ this.dataSource.onDataReceived.subscribe((e) => {
105
+ this.events = e;
106
+ this.view.events = this.events;
107
+ if (this.searchText && this.view.events && this.view.events.length) {
108
+ this.navigatorDate = this.view.events[0].range.startTime;
109
+ }
110
+ if (this.navigatorDate) {
111
+ this.view.navigate(this.navigatorDate);
112
+ }
113
+ else {
114
+ this.view.navigate(this.today);
115
+ }
116
+ });
117
+ //
118
+ if (this.toolbarView) {
119
+ this.toolbarView.onViewChanged.subscribe((c) => {
120
+ this.currentView = c;
121
+ });
122
+ this.toolbarView.items = this.viewItems;
123
+ }
124
+ //
125
+ if (this.toolbarNavigator) {
126
+ this.toolbarNavigator.onNavigate.subscribe((c) => {
127
+ if (c === 'next') {
128
+ this.view.next();
129
+ }
130
+ else if (c === 'prev') {
131
+ this.view.prev();
132
+ }
133
+ else {
134
+ this.view.navigate(c);
135
+ }
136
+ });
137
+ }
138
+ if (this.searchInput) {
139
+ this.searchInput.onValueChanged.subscribe((c) => {
140
+ this.searchText = c;
141
+ if (c) {
142
+ this.viewItems.forEach(c => { c.visible = false; });
143
+ const x = new AXSchedulerViewProperty('agenda', 'Search', 'VIEW_SEARCH');
144
+ x.interval = 100;
145
+ this.createView(x);
146
+ this.refresh();
147
+ }
148
+ else {
149
+ this.viewItems.forEach(c => { c.visible = true; });
150
+ this.setView(this._currentView);
151
+ }
152
+ this.toolbarView.update();
153
+ });
154
+ }
155
+ //
156
+ this.setView(this.currentView);
157
+ this.refresh();
158
+ });
159
+ }
160
+ ngAfterViewChecked() {
161
+ this.updateSize();
162
+ }
163
+ updateSize() {
164
+ this.zone.runOutsideAngular(() => {
165
+ const toolbar = this.elm.nativeElement.querySelector('.ax-scheduler-toolbar');
166
+ if (toolbar) {
167
+ this.container.nativeElement.style.height = `calc(100% - ${toolbar.clientHeight}px)`;
168
+ }
169
+ });
170
+ }
171
+ ngOnDestroy() {
172
+ this.portalOutlet.detach();
173
+ }
174
+ refresh() {
175
+ this.dataSource.fetch({
176
+ searchText: this.searchText,
177
+ });
178
+ }
179
+ }
180
+ AXSchedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
181
+ AXSchedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerComponent, selector: "ax-scheduler", inputs: { currentView: "currentView", events: "events" }, outputs: { onEventChanged: "onEventChanged" }, queries: [{ propertyName: "viewManager", first: true, predicate: AXSchedulerViewsProperty, descendants: true, static: true }, { propertyName: "toolbarView", first: true, predicate: AXToolbarSchedulerViewsComponent, descendants: true, static: true }, { propertyName: "toolbarNavigator", first: true, predicate: AXToolbarSchedulerNavigatorComponent, descendants: true, static: true }, { propertyName: "searchInput", first: true, predicate: AXToolbarSearchComponent, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }], ngImport: i0, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\n<div class=\"ax-scheduler\">\n <div class=\"ax-scheduler-toolbar\" >\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"view-container\" #container>\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"], directives: [{ type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerComponent, decorators: [{
183
+ type: Component,
184
+ args: [{ selector: 'ax-scheduler', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"ax-scheduler-views\"></ng-content>\n<div class=\"ax-scheduler\">\n <div class=\"ax-scheduler-toolbar\" >\n <ng-content select=\"ax-toolbar\"></ng-content>\n </div>\n <div class=\"view-container\" #container>\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>", styles: [".ax-scheduler{height:100%;width:100%}.ax-scheduler .ax-scheduler-toolbar{padding:4px 5px;background:#fff;border:1px solid var(--border-color);border-bottom:0;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topleft:4px;-moz-border-radius-topright:4px;border-top-left-radius:4px;border-top-right-radius:4px}.ax-scheduler .event-wrapper{z-index:100}.ax-scheduler .event-wrapper .event{color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler .event-wrapper .event .span{padding:1px 2px;margin:1px}.ax-scheduler .event-wrapper .event .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}.ax-scheduler .event-wrapper .event:hover,.ax-scheduler .event-wrapper .event:focus{cursor:pointer;box-shadow:0 6px 10px #00000024,0 1px 18px #0000001f,0 3px 5px -1px #0003}.ax-scheduler table{border-collapse:collapse;table-layout:fixed;width:100%}.ax-scheduler table td.cell-slot{position:relative}.ax-scheduler table td.cell-slot:hover{background-color:var(--primary-lighter-color)}.ax-scheduler table .same-week-day{color:var(--primary-color)}.ax-scheduler th,.ax-scheduler td{padding:8px 16px;border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;position:relative}.ax-scheduler th{overflow:hidden}.ax-scheduler .view-container{height:100%}.ax-scheduler .time-column{width:80px}.ax-scheduler .h-scroll{overflow-x:auto;overflow-y:hidden;height:100%}.ax-scheduler .v-scroll{overflow-y:auto;overflow-x:hidden}.ax-scheduler .cdk-drag-placeholder{opacity:0;display:none}.event-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;padding:5px 10px;color:#fff;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none}.event-drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ax-scheduler-event.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;cursor:grabbing;user-select:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;color:var(--primary-fore-color);border:var(--gray-light-color);display:flex;overflow:hidden;position:absolute;font-size:smaller;justify-content:space-between;padding:1px 3px}.ax-scheduler-event.cdk-drag-preview .span{padding:1px 2px;margin:1px}.ax-scheduler-event.cdk-drag-preview .event-title{text-overflow:ellipsis;font-weight:700;color:var(--primary-fore-color);white-space:nowrap;overflow:hidden}\n"] }]
185
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { portalOutlet: [{
186
+ type: ViewChild,
187
+ args: [CdkPortalOutlet, { static: true }]
188
+ }], container: [{
189
+ type: ViewChild,
190
+ args: ['container', { static: true }]
191
+ }], viewManager: [{
192
+ type: ContentChild,
193
+ args: [AXSchedulerViewsProperty, { static: true }]
194
+ }], toolbarView: [{
195
+ type: ContentChild,
196
+ args: [AXToolbarSchedulerViewsComponent, { static: true }]
197
+ }], toolbarNavigator: [{
198
+ type: ContentChild,
199
+ args: [AXToolbarSchedulerNavigatorComponent, { static: true }]
200
+ }], searchInput: [{
201
+ type: ContentChild,
202
+ args: [AXToolbarSearchComponent, { static: true }]
203
+ }], dataSource: [{
204
+ type: ContentChild,
205
+ args: [AXDataSourceComponent, { static: true }]
206
+ }], currentView: [{
207
+ type: Input
208
+ }], events: [{
209
+ type: Input
210
+ }], onEventChanged: [{
211
+ type: Output
212
+ }] } });
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvc2NoZWR1bGVyL3NjaGVkdWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXRHLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQVcvRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQ1UsR0FBK0IsRUFDL0IsSUFBWSxFQUNaLEdBQXNCO1FBRnRCLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQW9DeEIsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDN0IsVUFBSyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekIsa0JBQWEsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBSXpDLFdBQU0sR0FBdUIsRUFBRSxDQUFDO1FBR2hDLG1CQUFjLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO0lBNUN0RyxDQUFDO0lBMkJMLElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLENBQVM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBYUQsT0FBTyxDQUFDLElBQVk7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBR08sVUFBVSxDQUFDLFFBQWlDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxNQUFxRCxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQzNCLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBK0IsK0JBQStCLENBQUMsQ0FBQztTQUM3RjtRQUNELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxHQUFHLElBQUksZUFBZSxDQUErQiwrQkFBK0IsQ0FBQyxDQUFDO1lBQzVGLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNsQztRQUNELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDN0IsTUFBTSxHQUFHLElBQUksZUFBZSxDQUErQiw2QkFBNkIsQ0FBQyxDQUFDO1NBQzNGO1FBQ0QsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM5QixNQUFNLEdBQUcsSUFBSSxlQUFlLENBQStCLDhCQUE4QixDQUFDLENBQUM7U0FDNUY7UUFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBK0IsZ0NBQWdDLENBQUMsQ0FBQztTQUM5RjtRQUNELE1BQU0sT0FBTyxHQUErQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDOUIsRUFBRTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDakQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLFNBQVMsRUFBRSxNQUFNO29CQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPO2lCQUNoQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILEVBQUU7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFLLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQy9CLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7b0JBQ2xFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztpQkFDMUQ7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3hDO3FCQUNJO29CQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDaEM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILEVBQUU7WUFDRixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN6QztZQUNELEVBQUU7WUFDRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFO3dCQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO3FCQUNsQjt5QkFDSSxJQUFJLENBQUMsS0FBSyxNQUFNLEVBQUU7d0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ2xCO3lCQUNJO3dCQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN2QjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxFQUFFO3dCQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEQsTUFBTSxDQUFDLEdBQTRCLElBQUksdUJBQXVCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQzt3QkFDbEcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7d0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztxQkFDaEI7eUJBQ0k7d0JBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztxQkFDakM7b0JBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELEVBQUU7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ2xELHVCQUF1QixDQUN4QixDQUFDO1lBQ0YsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxlQUFlLE9BQU8sQ0FBQyxZQUFZLEtBQUssQ0FBQzthQUN0RjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQWhOVSxvQkFBb0I7c0dBQXBCLG9CQUFvQixzTUFjakIsd0JBQXdCLDRGQUd4QixnQ0FBZ0MsaUdBRWhDLG9DQUFvQyw0RkFHcEMsd0JBQXdCLDJGQUd4QixxQkFBcUIsNEdBbEJ4QixlQUFlLHFLQzdDNUIsK1RBUU07NEZEOEJPLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUk7c0pBVTdCLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLcEMsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUloQyxXQUFXO3NCQURsQixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJaEQsV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3hELGdCQUFnQjtzQkFEdkIsWUFBWTt1QkFBQyxvQ0FBb0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXBFLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWhELFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQVExQyxXQUFXO3NCQURyQixLQUFLO2dCQWNOLE1BQU07c0JBREwsS0FBSztnQkFJTixjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ29tcG9uZW50UmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE5nWm9uZSxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkgfSBmcm9tICcuL3NjaGVkdWxlci12aWV3cy5wcm9wZXJ0eSc7XG5pbXBvcnQgeyBBWFRvb2xiYXJTY2hlZHVsZXJWaWV3c0NvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhcnMvc2NoZWR1bGVyLXRvb2xiYXItdmlld3MnO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJEYXlUaW1lVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvZGF5dGltZS9zY2hlZHVsZXItZGF5dGltZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENka1BvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3Mvc2NoZWR1bGVyLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYU2NoZWR1bGVyTW9udGhWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9tb250aC9zY2hlZHVsZXItbW9udGgtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhUb29sYmFyU2NoZWR1bGVyTmF2aWdhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFycy9zY2hlZHVsZXItdG9vbGJhci1uYXZpZ2F0b3InO1xuaW1wb3J0IHsgQVhTY2hlZHVsZXJBZ2VuZGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9hZ2VuZGEvc2NoZWR1bGVyLWFnZW5kYS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFNjaGVkdWxlclRpbWVsaW5lVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvdGltZWxpbmUvc2NoZWR1bGVyLXRpbWVsaW5lLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYU2NoZWR1bGVyRXZlbnRDaGFuZ2VBcmdzLCBBWFNjaGVkdWxlckV2ZW50IH0gZnJvbSAnLi9zY2hlZHVsZXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhNZW51SXRlbSwgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi90b29sYmFyL3NlYXJjaC90b29sYmFyLXNlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5jb21wb25lbnQnO1xuXG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1zY2hlZHVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZWR1bGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2NoZWR1bGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgcG9ydGFsT3V0bGV0OiBDZGtQb3J0YWxPdXRsZXRcblxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkKEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSB2aWV3TWFuYWdlcjogQVhTY2hlZHVsZXJWaWV3c1Byb3BlcnR5O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhUb29sYmFyU2NoZWR1bGVyVmlld3NDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgdG9vbGJhclZpZXc6IEFYVG9vbGJhclNjaGVkdWxlclZpZXdzQ29tcG9uZW50O1xuICBAQ29udGVudENoaWxkKEFYVG9vbGJhclNjaGVkdWxlck5hdmlnYXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSB0b29sYmFyTmF2aWdhdG9yOiBBWFRvb2xiYXJTY2hlZHVsZXJOYXZpZ2F0b3JDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlYXJjaElucHV0OiBBWFRvb2xiYXJTZWFyY2hDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlQ29tcG9uZW50O1xuXG4gIHZpZXc6IEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ7XG5cblxuICBwcml2YXRlIF9jdXJyZW50Vmlldzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWaWV3O1xuICB9XG4gIHB1YmxpYyBzZXQgY3VycmVudFZpZXcodjogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRWaWV3KHYpO1xuICB9XG5cbiAgcHJpdmF0ZSB2aWV3SXRlbXM6IEFYTWVudUl0ZW1bXSA9IFtdO1xuICBwcml2YXRlIHRvZGF5ID0gbmV3IEFYRGF0ZVRpbWUoKTtcbiAgcHJpdmF0ZSBuYXZpZ2F0b3JEYXRlID0gbmV3IEFYRGF0ZVRpbWUoKTtcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGV2ZW50czogQVhTY2hlZHVsZXJFdmVudFtdID0gW107XG5cbiAgQE91dHB1dCgpXG4gIG9uRXZlbnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNjaGVkdWxlckV2ZW50Q2hhbmdlQXJncz4oKTtcblxuICBzZXRWaWV3KG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcbiAgICBpZiAodGhpcy52aWV3TWFuYWdlci52aWV3cykge1xuICAgICAgdGhpcy52aWV3SXRlbXMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgYy5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZpZXdJdGVtcy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy52aWV3TWFuYWdlci52aWV3cy5maW5kKGMgPT4gYy5uYW1lID09IG5hbWUpO1xuICAgICAgdGhpcy5jcmVhdGVWaWV3KHNlbGVjdGVkKTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlVmlldyhzZWxlY3RlZDogQVhTY2hlZHVsZXJWaWV3UHJvcGVydHkpIHtcbiAgICB0aGlzLnN0YXJ0QW5pbSgpO1xuICAgIGlmICh0aGlzLnZpZXcpIHtcbiAgICAgIHRoaXMudmlldy5uZ09uRGVzdHJveSgpO1xuICAgIH1cbiAgICBsZXQgcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8QVhTY2hlZHVsZXJCYXNlVmlld0NvbXBvbmVudD47XG4gICAgdGhpcy5wb3J0YWxPdXRsZXQuZGV0YWNoKCk7XG4gICAgbGV0IGludGVydmFsID0gc2VsZWN0ZWQuaW50ZXJ2YWw7XG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdkYXknKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xuICAgIH1cbiAgICBpZiAoc2VsZWN0ZWQudHlwZSA9PT0gJ3dlZWsnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyRGF5VGltZVZpZXdDb21wb25lbnQpO1xuICAgICAgaW50ZXJ2YWwgPSBzZWxlY3RlZC5pbnRlcnZhbCAqIDc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAnbW9udGgnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyTW9udGhWaWV3Q29tcG9uZW50KTtcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkLnR5cGUgPT09ICdhZ2VuZGEnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyQWdlbmRhVmlld0NvbXBvbmVudCk7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZC50eXBlID09PSAndGltZWxpbmUnKSB7XG4gICAgICBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+KEFYU2NoZWR1bGVyVGltZWxpbmVWaWV3Q29tcG9uZW50KTtcbiAgICB9XG4gICAgY29uc3QgY29tcFJlZjogQ29tcG9uZW50UmVmPEFYU2NoZWR1bGVyQmFzZVZpZXdDb21wb25lbnQ+ID0gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoKHBvcnRhbCk7XG4gICAgdGhpcy52aWV3ID0gY29tcFJlZi5pbnN0YW5jZTtcbiAgICB0aGlzLnZpZXcudHlwZSA9IHNlbGVjdGVkLnR5cGU7XG4gICAgdGhpcy52aWV3LmludGVydmFsID0gaW50ZXJ2YWw7XG4gICAgLy9cbiAgICB0aGlzLnZpZXcub25FdmVudENoYW5nZWQuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgdGhpcy5vbkV2ZW50Q2hhbmdlZC5lbWl0KGUpO1xuICAgIH0pO1xuICAgIHRoaXMudmlldy5vbk5hdmlnYXRvckRhdGVDaGFuZ2VkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gZTtcbiAgICAgIHRoaXMuc2V0TmF2aWdhdG9yVGV4dCgpO1xuICAgICAgdGhpcy5zdGFydEFuaW0oKTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TmF2aWdhdG9yVGV4dCgpIHtcbiAgICBpZiAodGhpcy50b29sYmFyTmF2aWdhdG9yKSB7XG4gICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iuc2V0KHRoaXMudmlldy5kYXRlUmFuZ2UsIHRoaXMudmlldy50eXBlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0QW5pbSgpIHtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWFuaW0tZmFkZS1pbi1md2QnKTtcbiAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2F4LWFuaW0tZmFkZS1pbi1md2QnKTtcbiAgICB9LCAyNTApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICB0aGlzLnZpZXdNYW5hZ2VyLnZpZXdzLmZvckVhY2godiA9PiB7XG4gICAgICAgIHRoaXMudmlld0l0ZW1zLnB1c2goe1xuICAgICAgICAgIGdyb3VwTmFtZTogJ3ZpZXcnLFxuICAgICAgICAgIG5hbWU6IHYubmFtZSxcbiAgICAgICAgICB0ZXh0OiB2LmNhcHRpb25cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIC8vXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQuc3Vic2NyaWJlKChlOmFueSkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50cyA9IGU7XG4gICAgICAgIHRoaXMudmlldy5ldmVudHMgPSB0aGlzLmV2ZW50cztcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVGV4dCAmJiB0aGlzLnZpZXcuZXZlbnRzICYmIHRoaXMudmlldy5ldmVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5uYXZpZ2F0b3JEYXRlID0gdGhpcy52aWV3LmV2ZW50c1swXS5yYW5nZS5zdGFydFRpbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdG9yRGF0ZSkge1xuICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZSh0aGlzLm5hdmlnYXRvckRhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMudmlldy5uYXZpZ2F0ZSh0aGlzLnRvZGF5KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICAvL1xuICAgICAgaWYgKHRoaXMudG9vbGJhclZpZXcpIHtcbiAgICAgICAgdGhpcy50b29sYmFyVmlldy5vblZpZXdDaGFuZ2VkLnN1YnNjcmliZSgoYzogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IGM7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvb2xiYXJWaWV3Lml0ZW1zID0gdGhpcy52aWV3SXRlbXM7XG4gICAgICB9XG4gICAgICAvL1xuICAgICAgaWYgKHRoaXMudG9vbGJhck5hdmlnYXRvcikge1xuICAgICAgICB0aGlzLnRvb2xiYXJOYXZpZ2F0b3Iub25OYXZpZ2F0ZS5zdWJzY3JpYmUoKGM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChjID09PSAnbmV4dCcpIHtcbiAgICAgICAgICAgIHRoaXMudmlldy5uZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGMgPT09ICdwcmV2Jykge1xuICAgICAgICAgICAgdGhpcy52aWV3LnByZXYoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXcubmF2aWdhdGUoYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0KSB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXQub25WYWx1ZUNoYW5nZWQuc3Vic2NyaWJlKChjOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSBjO1xuICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdJdGVtcy5mb3JFYWNoKGMgPT4geyBjLnZpc2libGUgPSBmYWxzZTsgfSk7XG4gICAgICAgICAgICBjb25zdCB4OiBBWFNjaGVkdWxlclZpZXdQcm9wZXJ0eSA9IG5ldyBBWFNjaGVkdWxlclZpZXdQcm9wZXJ0eSgnYWdlbmRhJywgJ1NlYXJjaCcsICdWSUVXX1NFQVJDSCcpO1xuICAgICAgICAgICAgeC5pbnRlcnZhbCA9IDEwMDtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVmlldyh4KTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld0l0ZW1zLmZvckVhY2goYyA9PiB7IGMudmlzaWJsZSA9IHRydWU7IH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRWaWV3KHRoaXMuX2N1cnJlbnRWaWV3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy50b29sYmFyVmlldy51cGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvL1xuICAgICAgdGhpcy5zZXRWaWV3KHRoaXMuY3VycmVudFZpZXcpO1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVTaXplKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNpemUoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHRvb2xiYXIgPSB0aGlzLmVsbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAnLmF4LXNjaGVkdWxlci10b29sYmFyJ1xuICAgICAgKTtcbiAgICAgIGlmICh0b29sYmFyKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYGNhbGMoMTAwJSAtICR7dG9vbGJhci5jbGllbnRIZWlnaHR9cHgpYDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucG9ydGFsT3V0bGV0LmRldGFjaCgpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmV0Y2goe1xuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXNjaGVkdWxlci12aWV3c1wiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1zY2hlZHVsZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtc2NoZWR1bGVyLXRvb2xiYXJcIiA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInZpZXctY29udGFpbmVyXCIgI2NvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19